Paso 3: Implementación
El codigo:
/////////////////////
#define msgLength 1 cadena msgBody = "3";
/////////////////////
#define delayInChar 6 #define delayBetweenChar 10
#define LED1 2 #define LED2 3 #define LED3 4 #define LED4 5 #define LED5 6 #define LED6 7 #define LED7 8 bytes msgCode [(5 * msgLength) + 10]; pintState Boolean; int columnNum = -1; String charToWrite;
void setup() {Serial.begin(9600); msgBody.toUpperCase(); pinMode (LED1, salida); pinMode (LED2, salida); pinMode (LED3, salida); pinMode (LED4, salida); pinMode (LED5, salida); pinMode (LED6, salida); pinMode (LED7, salida);}
void loop() {///Convert texto a matriz binaria / / si (columnNum == -1) / / este bloque debe hacerse una vez / / {para (int c = 0; c < (msgBody.length()); c ++) {//Separate la siguiente charToWrite de carácter = msgBody.substring (c, c + 1); //Send a characted separado para addChar función addChar(charToWrite);} //Add un poco espacio después de cada addChar("") de carácter; addChar("");}
//////////////////////////////////////////////////////
Mostrar las matrices binarias después de todos los caracteres están codificados / / for (int c = 0; c < (sizeof(msgCode)); c ++) {pintState = (msgCode [c] / B1000000) % B10; digitalWrite (LED 1, pintState);
pintState = (msgCode [c] / B100000) % B10; digitalWrite (LED2, pintState);
pintState = (msgCode [c] / B10000) % B10; digitalWrite (LED 3, pintState);
pintState = (msgCode [c] / B1000) % B10; digitalWrite (LED4, pintState);
pintState = (msgCode [c] / B100) % B10; digitalWrite (LED5, pintState);
pintState = (msgCode [c] / B10) % B10; digitalWrite (LED6, pintState);
pintState = msgCode [c] % B10; digitalWrite (LED7, pintState);
Delay(delayInChar); Si el carácter es terminado, tomar un largo de período si ((c + 1) % 5 == 0) {digitalWrite (LED 1, LOW); digitalWrite (LED2, LOW); digitalWrite (LED 3, bajo); digitalWrite (LED4, LOW); digitalWrite (LED5, LOW); digitalWrite (LED6, LOW); digitalWrite (LED7, LOW); 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);} else if (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);
}} void addColumn(byte x) {columnNum += 1; msgCode [columnNum] = (x);}