#include char disp[150]; //array buffer for storing text SoftwareSerial ArduinoPov(10, 11); // RX, TX int _[] = {0,0,0,0,0, 0,0,0,0,0, 0,0,0,0,0}; int A[] = {0,1,1,1,1, 1,0,1,0,0, 0,1,1,1,1}; int B[] = {1,1,1,1,1, 1,0,1,0,1, 0,1,0,1,0}; int C[] = {0,1,1,1,0, 1,0,0,0,1, 1,0,0,0,1}; int D[] = {1,1,1,1,1, 1,0,0,0,1, 0,1,1,1,0}; int E[] = {1,1,1,1,1, 1,0,1,0,1, 1,0,1,0,1}; int F[] = {1,1,1,1,1, 1,0,1,0,0, 1,0,1,0,0}; int G[] = {0,1,1,1,0, 1,0,1,0,1, 1,0,1,1,0}; int H[] = {1,1,1,1,1, 0,0,1,0,0, 1,1,1,1,1}; int I[] = {1,0,0,0,1, 1,1,1,1,1, 1,0,0,0,1}; int J[] = {1,0,0,0,0, 1,0,0,0,1, 1,1,1,1,1}; int K[] = {1,1,1,1,1, 0,0,1,0,0, 0,1,0,1,1}; int L[] = {1,1,1,1,1, 0,0,0,0,1, 0,0,0,0,1}; int M[] = {1,1,1,1,1, 0,1,1,0,0, 0,1,1,1,1}; int N[] = {0,1,1,1,1, 0,0,1,0,0, 0,0,1,1,1}; int O[] = {0,1,1,1,0, 1,0,0,0,1, 0,1,1,1,0}; int P[] = {1,1,1,1,1, 1,0,1,0,0, 0,1,0,0,0}; int Q[] = {0,1,1,1,1, 1,0,0,1,1, 0,1,1,1,1}; int R[] = {1,1,1,1,1, 1,0,1,0,0, 0,1,0,1,1}; int S[] = {0,1,0,0,1, 1,0,1,0,1, 1,0,0,1,0}; int T[] = {1,0,0,0,0, 1,1,1,1,1, 1,0,0,0,0}; int U[] = {1,1,1,1,1, 0,0,0,0,1, 1,1,1,1,1}; int V[] = {1,1,1,1,0, 0,0,0,0,1, 1,1,1,1,0}; int W[] = {1,1,1,1,0, 0,0,1,1,0, 1,1,1,1,0}; int X[] = {1,1,0,1,1, 0,0,1,0,0, 1,1,0,1,1}; int Y[] = {1,1,0,0,0, 0,1,1,1,1, 1,1,0,0,0}; int Z[] = {1,0,0,1,1, 1,0,1,0,1, 1,1,0,0,1}; int _0[] = {1,1,1,1,1, 1,0,0,0,1, 1,1,1,1,1}; //to display numbers use '_' because identifiers can only start with alphabet or '_' int _1[] = {0,0,0,0,0, 0,0,0,0,0, 1,1,1,1,1}; int _2[] = {1,0,1,1,1, 1,0,1,0,1, 1,1,1,0,1}; int _3[] = {1,0,0,0,1, 1,0,1,0,1, 1,1,1,1,1}; int _4[] = {1,1,1,0,0, 0,0,1,0,0, 1,1,1,1,1}; int _5[] = {1,1,1,0,1, 1,0,1,0,1, 1,0,1,1,1}; int _6[] = {1,1,1,1,1, 1,0,1,0,1, 1,0,1,1,1}; int _7[] = {1,0,0,0,0, 1,0,0,0,0, 1,1,1,1,1}; int _8[] = {1,1,1,1,1, 1,0,1,0,1, 1,1,1,1,1}; int _9[] = {1,1,1,0,1, 1,0,1,0,1, 1,1,1,1,1}; int letterSpace; int dotTime; int p; void setup() { pinMode(2, OUTPUT); pinMode(3, OUTPUT); pinMode(4, OUTPUT); pinMode(5, OUTPUT); pinMode(6, OUTPUT); pinMode(7, INPUT); ArduinoPov.begin(9600); Serial.begin(9600); letterSpace =850 ; // space between letters dotTime = 650; // space between dots } //declare reset function @ address 0 void(* resetFunc) (void) = 0; // software reset function to reset arduino void printLetter(int letter[]) { int y; for (y=2; y<7; y++) { digitalWrite(y, letter[y-2]); } delayMicroseconds(dotTime); for (y=2; y<7; y++) { digitalWrite(y, letter[y+3]); } delayMicroseconds(dotTime); for (y=2; y<7; y++) { digitalWrite(y, letter[y+8]); } delayMicroseconds(dotTime); for (y=2; y<7; y++) { digitalWrite(y, 0); } delayMicroseconds(letterSpace); } void loop() { int p; int i=0; p=digitalRead(7); if(p==0) { if (ArduinoPov.available() ) { //----------------------------------------------------------------------------------------------------------------------------------- // DISPLAY //----------------------------------------------------------------------------------------------------------------------------------- for (i=0;i<150;i++) { disp[i]=ArduinoPov.read(); if (disp[i]=='a'|| disp[i]=='A') { printLetter(A); Serial.println('A'); // to check on SERIAL monitor if the letters are recived properly before testing on FAN/MOTOR } else if (disp[i]=='b'|| disp[i]=='B') { printLetter(B); Serial.println('B'); } else if (disp[i]=='c'|| disp[i]=='C') { printLetter(C); Serial.println('C'); } else if (disp[i]=='d'|| disp[i]=='D') { printLetter(D); Serial.println('D'); } else if (disp[i]=='e'|| disp[i]=='E') { printLetter(E); } else if (disp[i]=='f'|| disp[i]=='F') { printLetter(F); } else if (disp[i]=='g'|| disp[i]=='G') { printLetter(G); } else if (disp[i]=='h'|| disp[i]=='H') { printLetter(H); } else if (disp[i]=='i'|| disp[i]=='I') { printLetter(I); } else if (disp[i]=='f'|| disp[i]=='F') { printLetter(F); } else if (disp[i]=='g'|| disp[i]=='G') { printLetter(G); } else if (disp[i]=='h'|| disp[i]=='H') { printLetter(H); } else if (disp[i]=='i'|| disp[i]=='I') { printLetter(I); } else if (disp[i]=='j'|| disp[i]=='J') { printLetter(J); } else if (disp[i]=='k'|| disp[i]=='K') { printLetter(K); } else if (disp[i]=='l'|| disp[i]=='L') { printLetter(L); } else if (disp[i]=='m'|| disp[i]=='M') { printLetter(M); } else if (disp[i]=='n'|| disp[i]=='N') { printLetter(N); } else if (disp[i]=='o'|| disp[i]=='O') { printLetter(O); } else if (disp[i]=='p'|| disp[i]=='P') { printLetter(P); } else if (disp[i]=='q'|| disp[i]=='Q') { printLetter(Q); } else if (disp[i]=='r'|| disp[i]=='R') { printLetter(R); } else if (disp[i]=='s'|| disp[i]=='S') { printLetter(S); } else if (disp[i]=='t'|| disp[i]=='T') { printLetter(T); } else if (disp[i]=='u'|| disp[i]=='U') { printLetter(U); } else if (disp[i]=='v'|| disp[i]=='V') { printLetter(V); } else if (disp[i]=='w'|| disp[i]=='W') { printLetter(W); } else if (disp[i]=='x'|| disp[i]=='X') { printLetter(X); } else if (disp[i]=='y'|| disp[i]=='Y') { printLetter(Y); } else if (disp[i]=='z'|| disp[i]=='Z') { printLetter(Z); } else if (disp[i]=='1') { printLetter(_1); } else if (disp[i]=='2') { printLetter(_2); } else if (disp[i]=='3') { printLetter(_3); } else if (disp[i]=='4') { printLetter(_4); } else if (disp[i]=='5') { printLetter(_5); } else if (disp[i]=='6') { printLetter(_6); } else if (disp[i]=='7') { printLetter(_7); } else if (disp[i]=='8') { printLetter(_8); } else if (disp[i]=='9') { printLetter(_9); } else if (disp[i]=='0') { printLetter(_0); } else if (disp[i]==' ') { printLetter(_); } //----------------------------------------------------------------------------------------------------------------------------------- // end of DISPLAY //----------------------------------------------------------------------------------------------------------------------------------- } } } }