Étape 6: Le Code
Voici ce que j’ai utilisé, mais il est bien loin de l’original. L’original est beaucoup plus complet et poli, mais je n’a commencé avec son code et devrait lui donner crédit.
L’esquisse comprend également un fichier font.h que j’ai trouvé après une recherche internet. Je ne suis pas sûr que c’était le font.h qui faisait partie de l’original. J’ai inclus mine ci-dessous...
Code pour le projet Arduino vélo POV
Arduino vélo POV
//
par Scott Mitchell
www.OpenObject.org
Open Source urbanisme
//
Copyright (C) 2008 Scott Mitchell 10/12/2008
//
Ce programme est un logiciel libre : vous pouvez le redistribuer et/ou le modifier
elle aux termes de la GNU General Public License telle que publiée par
la Free Software Foundation, soit la version 3 de la licence, ou
(selon votre choix) toute version ultérieure.
//
//============================================================
6/2011 fortement modifiée par c. Dubois pour mon projet POV
Capteur Hall est un commutateur, alors j’ai utilisé le code différent pour elle
également utilisé un font.h que j’ai trouvé
// ------------------------------------------------------------
définition de l’alphabet
#include « font.h »
définir les broches de l’Arduino LED en cours d’utilisation
const int [] LEDpins = {}
1,2,3,4,5,6,7} ;
nombre de LEDs
const int charHeight = sizeof(LEDpins) ;
const int charWidth = 5 ;
installation du capteur
const int sensorPIN = 0 ; définir la broche du capteur Arduino
sensorFlag booléen = false ; stocke l’état de la sonde
int sensVal ; variable pour stocker la valeur provenant de la sonde
const char textString [] = "APPLAUSE" ;
void setup()
{
pinMode (13, sortie) ;
pinMode (1, sortie) ;
pinMode (sortie 2) ;
pinMode (3, sortie) ;
pinMode (sortie 4) ;
pinMode (5, sortie) ;
pinMode (6, sortie) ;
pinMode (7, sortie) ;
Serial.Begin(9600) ;
}
void loop()
{
Led s’allume pour un cercle au milieu et preuve qu’arduino est alimenté
digitalWrite (13, HIGH) ; la valeur de la LED sur
sensVal = analogRead(sensorPIN) ; lire le capteur à effet Hall
Serial.println(sensVal) ;
retard (500) ;
eu du mal ici
puisque c’est un commutateur de salle probablement shoiuld il suffit de faire la lecture numérique
Si (sensVal! = 1023) {}
impression de toutes les lettres de la textString
pour (int k = 0; k < sizeof(textString); k ++) {}
printLetter(textString[k]) ;
}
}
}
Sub printLetter(char ch)
{
Veillez à ce que le personnage est dans les limites de l’alphabet (définis dans le fichier font.h)
Si ce n’est pas le cas, faire un caractère blanc
Si (ch < 32 || ch > 126) {}
ch = 32 ;
}
soustraire le caractère espace (convertit le nombre ASCII pour le numéro d’index de polices)
ch-= 32 ;
faire défiler chaque octet du tableau personnage
pour (int i = 0; i < charWidth; i ++) {}
b octets = police [ch] [i] ;
peu de changement par le biais de l’octet et de sortie sur la broche
pour (int j = 0; j < charHeight; j ++) {}
digitalWrite (LEDpins [j]!! (b & (1 << j))) ;
}
espace entre les colonnes
delayMicroseconds(900) ;
}
effacer les LEDs
digitalWrite (1, faible) ; la valeur de la LED sur
digitalWrite (2, basse) ; la valeur de la LED sur
digitalWrite (3, faible) ; la valeur de la LED sur
digitalWrite (4, faible) ; la valeur de la LED sur
digitalWrite (5, faible) ; la valeur de la LED sur
digitalWrite (6, faible) ; la valeur de la LED sur
digitalWrite (7, faible) ; la valeur de la LED sur
espace entre les lettres
delayMicroseconds(2500) ;
}
--------------------------------------
----------------------------------------
///============================================================
Arduino vélo POV
font.h
//
par Scott Mitchell
www.OpenObject.org
Open Source urbanisme
//
Copyright (C) 2008 Scott Mitchell 10/12/2008
//
Ce programme est un logiciel libre : vous pouvez le redistribuer et/ou le modifier
elle aux termes de la GNU General Public License telle que publiée par
la Free Software Foundation, soit la version 3 de la licence, ou
(selon votre choix) toute version ultérieure.
//
Ce programme est distribué dans l’espoir qu’il sera utile,
mais sans aucune garantie ; sans même la garantie implicite de
Qualité marchande ou ADEQUATION a un usage particulier. Voir le
GNU General Public License pour plus de détails.
//
Une copie de la GNU General Public License
peut être trouvé à < http://www.gnu.org/licenses/>.
//
B4.1
Dernière modification : 13 octobre 2008
//============================================================
définition de l’alphabet
caractères de côté-alimentation ASCII 7 x 5 pour modules led
adaptées de http://www.sxlist.com/TECHREF/datafile/charset/8x6.htm
const Byte de police [5] = {}
polices d’unsigned char const [95] [5] = {}
{0 x 00, 0 x 00, 0 x 00, 0 x 00, 0 x 00}, / / 0 x 20 32
{0 x 00, 0 x 00, 0x6f, 0 x 00, 0 x 00}, / / ! 0 x 21 33
{0 x 00, 0 x 07, 0 x 00, 0 x 07, 0 x 00}, / / "0 x 22 34
{0 x 14, 0x7f, 0 x 14, 0x7f, 0 x 14}, / / n ° 0 x 23 35
{0 x 00, 0 x 07, 0 x 04, 0x1e, 0 x 00}, / / 0 x 24 36 $
{0 x 23, 0 x 13, 0 x 08, 0 x 64, 0x62}, / / % 0 x 25 37
{0 x 36, 0 x 49, 0 x 56, 0 x 20, 0 x 50}, / / & 0 x 26 38
{0 x 00, 0 x 00, 0 x 07, 0 x 00, 0 x 00}, / / ' 0 x 27 39
{0 x 00, 0x1c, 0 x 22, 0 x 41, 0 x 00}, / / (0 x 28 40
{0 x 00, 0 x 41, 0 x 22, 0x1c, 0 x 00}, / /) 0 x 29 41
{0 x 14, 0 x 08, 0x3e, 0 x 08, 0 x 14}, / / * 0x2a 42
{0 x 08, 0 x 08, 0x3e, 0 x 08, 0 x 08}, / / + 0x2b 43
{0 x 00, 0 x 50, 0 x 30, 0 x 00, 0 x 00}, / /, 0x2c 44
{0 x 08, 0 x 08, 0 x 08, 0 x 08, 0 x 08}, / / - 0x2d 45
{0 x 00, 0 x 60, 0 x 60, 0 x 00, 0 x 00}, / /. 0x2E 46
{0 x 20, 0 x 10, 0 x 08, 0 x 04, 0 x 02}, / / / 0x2f 47
{0x3e, 0 x 51, 0 x 49, 0 x 45, 0x3e}, / / 0 0 x 30 48
{0 x 00, 0 x 42, 0x7f, 0 x 40, 0 x 00}, / / 1 0 x 31 49
{0 x 42, 0x61, 0 x 51, 0 x 49, 0 x 46}, / / 2 50 0 x 32
{0 x 21, 0 x 41, 0 x 45, 0x4b, 0 x 31}, / / 3 0 x 33 51
{0 x 18, 0 x 14, 0 x 12, 0x7f, 0 x 10}, / / 4 0 x 34 52
{0 x 27, 0 x 45, 0 x 45, 0 x 45, 0 x 39}, / / 5 0 x 35 53
{0x3c, 0x4a, 0 x 49, 0 x 49, 0 x 30}, / / 6 0 x 36 54
{0 x 01, 0x71, 0 x 09, 0 x 05, 0 x 03}, / / 7 0 x 37 55
{0 x 36, 0 x 49, 0 x 49, 0 x 49, 0 x 36}, / / 8 0 x 38 56
{0 x 06, 0 x 49, 0 x 49, 0 x 29, 0x1e}, / / 9 0 x 39 57
{0 x 00, 0 x 36, 0 x 36, 0 x 00, 0 x 00}, / /: 0x3a 58
{0 x 00, 0 x 56, 0 x 36, 0 x 00, 0 x 00}, / / ; 0x3B 59
{0 x 08, 0 x 14, 0 x 22, 0 x 41, 0 x 00}, / / < 0x3c 60
{0 x 14, 0 x 14, 0 x 14, 0 x 14, 0 x 14}, / / = 0x3d 61
{0 x 00, 0 x 41, 0 x 22, 0 x 14, 0 x 08}, / / > 0x3e 62
{0 x 02, 0 x 01, 0 x 51, 0 x 09, 0 x 06}, / / ? 0x3F 63
{0x3e, 0 x 41, 0x5d, 0 x 49, 0x4e}, / / @ 64 de le 0 x 40
{0X7E, 0 X 09, 0 X 09, 0 X 09, 0X7E}, / / A 0 X 41 65
{0X7F, 0 X 49, 0 X 49, 0 X 49, 0 X 36}, / / B 0 X 42 66
{0X3E, 0 X 41, 0 X 41, 0 X 41, 0 X 22}, / / C 0 X 43 67
{0X7F, 0 X 41, 0 X 41, 0 X 41, 0X3E}, / / D 0 X 44 68
{0X7F, 0 X 49, 0 X 49, 0 X 49, 0 X 41}, / / E 0 X 45 69
{0X7F, 0 X 09, 0 X 09, 0 X 09, 0 X 01}, / / F 0 X 46 70
{0X3E, 0 X 41, 0 X 49, 0 X 49, 0X7A}, / / G 0 X 47 71
{0X7F, 0 X 08, 0 X 08, 0 X 08, 0X7F}, / / H 0 X 48 72
{0 x 00, 0 x 41, 0x7f, 0 x 41, 0 x 00}, / / j’ai 0 x 49 73
{0 X 20, 0 X 40, 0 X 41, 0X3F, 0 X 01}, / / J 0X4A 74
{0X7F, 0 X 08, 0 X 14, 0 X 22, 0 X 41}, / / K 0X4B 75
{0X7F, 0 X 40, 0 X 40, 0 X 40, 0 X 40}, / / L 0X4C 76
{0X7F, 0 X 02, 0X0C, 0 X 02, 0X7F}, / / M 0X4D 77
{0X7F, 0 X 04, 0 X 08, 0 X 10, 0X7F}, / / N 0X4E 78
{0X3E, 0 X 41, 0 X 41, 0 X 41, 0X3E}, / / O 0X4F 79
{0X7F, 0 X 09, 0 X 09, 0 X 09, 0 X 06}, / / P 0 X 50 80
{0X3E, 0 X 41, 0 X 51, 0 X 21, 0X5E}, / / Q 0 X 51 81
{0X7F, 0 X 09, 0 X 19, 0 X 29, 0 X 46}, / / R 0 X 52 82
{0 X 46, 0 X 49, 0 X 49, 0 X 49, 0 X 31}, / / S 0 X 53 83
{0 X 01, 0 X 01, 0X7F, 0 X 01, 0 X 01}, / / T 0 X 54 84
{0X3F, 0 X 40, 0 X 40, 0 X 40, 0X3F}, / / U, 0 X 55 85
{0X0F, 0 X 30, 0 X 40, 0 X 30, 0X0F}, / / V 0 X 56 86
{0X3F, 0 X 40, 0 X 30, 0 X 40, 0X3F}, / / W 0 X 57 87
{0 X 63, 0 X 14, 0 X 08, 0 X 14, 0 X 63}, / / X 0 X 58 88
{0 X 07, 0 X 08, 0 X 70, 0 X 08, 0 X 07}, / / Y 0 X 59 89
{0X61, 0 X 51, 0 X 49, 0 X 45, 0 X 43}, / / Z 0X5A 90
{0x3c, 0x4a, 0 x 49, 0 x 29, 0x1e}, / / [0x5b 91
{0 x 02, 0 x 04, 0 x 08, 0 x 10, 0 x 20}, / / \ 0x5c 92
{0 x 00, 0 x 41, 0x7f, 0 x 00, 0 x 00}, / /] 0x5d 93
{0 x 04, 0 x 02, 0 x 01, 0 x 02, 0 x 04}, / / ^ 0x5e 94
{0 x 40, 0 x 40, 0 x 40, 0 x 40, 0 x 40}, / / _ 0x5f 95
{0 x 00, 0 x 00, 0 x 03, 0 x 04, 0 x 00}, / / ' 0 x 60 96
{0 x 20, 0 x 54, 0 x 54, 0 x 54, 0 x 78}, / / a 0x61 97
{0x7f, 0 x 48, 0 x 44, 0 x 44, 0 x 38}, / / b 0x62 98
{0 x 38, 0 x 44, 0 x 44, 0 x 44, 0 x 20}, / / c 0 x 63 99
{0 x 38, 0 x 44, 0 x 44, 0 x 48, 0x7f}, / / d 0 x 64 100
{0 x 38, 0 x 54, 0 x 54, 0 x 54, 0 x 18}, / / e 101 0 x 65
{0 x 08, 0x7e, 0 x 09, 0 x 01, 0 x 02}, / / f 0x66 102
{0x0c, 0 x 52, 0 x 52, 0 x 52, 0x3e}, / / g 0x67 103
{0x7f, 0 x 08, 0 x 04, 0 x 04, 0 x 78}, / / h 0x68 104
{0 x 00, 0 x 44, 0x7d, 0 x 40, 0 x 00}, / / je 0x69 105
{0 x 20, 0 x 40, 0 x 44, 0x3d, 0 x 00}, / / j 0x6a 106
{0 x 00, 0x7f, 0 x 10, 0 x 28, 0 x 44}, / / k 0x6b 107
{0 x 00, 0 x 41, 0x7f, 0 x 40, 0 x 00}, / / l 0x6c 108
{0x7c, 0 x 04, 0 x 18, 0 x 04, 0 x 78}, / / m 0x6d 109
{0x7c, 0 x 08, 0 x 04, 0 x 04, 0 x 78}, / / n 0x6e 110
{0 x 38, 0 x 44, 0 x 44, 0 x 44, 0 x 38}, / / o 0x6f 111
{0x7c, 0 x 14, 0 x 14, 0 x 14, 0 x 08}, / / p 112 0 x 70
{0 x 08, 0 x 14, 0 x 14, 0 x 18, 0x7c}, / / q 0x71 113
{0x7c, 0 x 08, 0 x 04, 0 x 04, 0 x 08}, / / r 114 0 x 72
{0 x 48, 0 x 54, 0 x 54, 0 x 54, 0 x 20}, / / s 0x73 115
{0 x 04, 0x3f, 0 x 44, 0 x 40, 0 x 20}, / / t 0x74 116
{0x3c, 0 x 40, 0 x 40, 0 x 20, 0x7c}, / / u 0x75 117
{0x1c, 0 x 20, 0 x 40, 0 x 20, 0x1c}, / / v 0x76 118
{0x3c, 0 x 40, 0 x 30, 0 x 40, 0x3c}, / / w 0x77 119
{0 x 44, 0 x 28, 0 x 10, 0 x 28, 0 x 44}, / / x 0 x 78 120
{0x0c, 0 x 50, 0 x 50, 0 x 50, 0x3c}, / / y 0x79 121
{0 x 44, 0 x 64, 0 x 54, 0x4c, 0 x 44}, / / z 0x7a 122
{0 x 00, 0 x 08, 0 x 36, 0 x 41, 0 x 41}, / / {0x7b 123
{0 x 00, 0 x 00, 0x7f, 0 x 00, 0 x 00}, / / | 0x7C 124
{0 x 41, 0 x 41, 0 x 36, 0 x 08, 0 x 00}, / /} 0x7d 125
{0 x 04, 0 x 02, 0 x 04, 0 x 08, 0 x 04}, / / ~ 0x7e 126
};
/*
Licence de Creative Commons Paternité-pas d’utilisation commerciale-partage à l’identique 2.5 Australie
Cette page a été le dernier mis à jour le 14:41, 11 janvier 2009. Cette page a été consultée 1 477 fois.
Contenu est disponible sous Creative Commons Attribution-Noncommercial-Share Alike License 2.5 Australie.
Sur l’urbanisme de l’Open Source
Création
Propulsé par MediaWiki
*/