Étape 3: Implementación
El Código :
/////////////////////
#define msgLength 1 String msgBody = « 3 » ;
/////////////////////
#define delayInChar 6 #define delayBetweenChar 10
#define LED1 2 #define LED2 3 #define DEL3 4 #define LED4 5 #define DEL5 6 #define LED6 7 #define LED7 8 octets msgCode [(5 * msgLength) + 10] ; Boolean pintState ; int columnNum = -1 ; String charToWrite ;
void setup() {Serial.begin(9600) ; msgBody.toUpperCase() ; pinMode (LED1, OUTPUT); pinMode (LED2, sortie); pinMode (DEL3, sortie); pinMode (LED4, sortie); pinMode (DEL5, sortie); pinMode (LED6, sortie); pinMode (LED7, sortie);}
void loop() {///Convert tout le texte au tableau binaire / / / si (columnNum == -1) / / ce bloc doit être effectué une fois / / {pour (int c = 0; c < (msgBody.length()); c ++) {//Separate du charToWrite de caractères suivants = msgBody.substring (c, c + 1); //Send de characted séparée à addChar fonction addChar(charToWrite);} //Add un peu d’espace après chaque caractère addChar("") ; addChar("");}
//////////////////////////////////////////////////////
Afficher les tableaux binaires après que tous les caractères sont codés / / for (int c = 0; c < (sizeof(msgCode)); c ++) {pintState = (msgCode [c] / B1000000) % B10 ; digitalWrite (LED1, pintState) ;
pintState = (msgCode [c] / B100000) % B10 ; digitalWrite (LED2, pintState) ;
pintState = (msgCode [c] / B10000) % B10 ; digitalWrite (DEL3, pintState) ;
pintState = (msgCode [c] / B1000) % B10 ; digitalWrite (LED4, pintState) ;
pintState = (msgCode [c] / B100) % B10 ; digitalWrite (5, pintState) ;
pintState = (msgCode [c] / B10) % B10 ; digitalWrite (LED6, pintState) ;
pintState = % msgCode [c] B10 ; digitalWrite (LED7, pintState) ;
Delay(delayInChar) ; Si le caractère est terminé, prendre une plus large période si ((c + 1) % 5 == 0) {digitalWrite (LED1, faible); digitalWrite (LED2, faible); digitalWrite (DEL3, faible); digitalWrite (LED4, faible); digitalWrite (DEL5, LOW); digitalWrite (LED6, faible); digitalWrite (LED7, faible); delay(delayBetweenChar);}} ///////////////////////////////////////// }
void addChar (String y) {si (y == « 1 ») {addColumn(B0000100) ; addColumn(B0011111) ; addColumn(B1111111) ; addColumn(B0011111) ; addColumn(B0011111) ; addColumn(B0011111) ; addColumn(B0011111) ; addColumn(B1111111) ; addColumn(B0011111) ; addColumn(B0011110) ; addColumn(B0001110) ; addColumn(B0001100);} ElseIf (y == « 2 ») {addColumn(B0011100) ; addColumn(B0001000) ; addColumn(B0001000) ; addColumn(B0001000) ; addColumn(B0111110) ; addColumn(B1011101) ; addColumn(B0011100) ; addColumn(B0011100) ; addColumn(B0011100) ; addColumn(B0011100) ; addColumn(B0011100) ; addColumn(B0011100) ; addColumn(B0011100) ; addColumn(B0001000);} else if (y == « 3 ») {addColumn(B1111111) ; addColumn(B0011111) ; addColumn(B0011111) ; addColumn(B1111111) ; addColumn(B0011111) ; addColumn(B0001100) ;
addColumn(B1111111) ; addColumn(B0011111) ; addColumn(B0011111) ; addColumn(B1111111) ; addColumn(B0011111) ; addColumn(B0001100) ;
addColumn(B1111111) ; addColumn(B0011111) ; addColumn(B0011111) ; addColumn(B1111111) ; addColumn(B0011111) ; addColumn(B0001100) ;
addColumn(byte x) Sub}} {columnNum += 1; msgCode [columnNum] = (x);}