Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void
- setState(int *pins, int len, int state)
- {
- int i;
- for(i = 0; i < len; i++)
- {
- if(pins[i] != 0)
- digitalWrite(pins[i], state);
- }
- }
- void
- copyArray(int *array1, int *array2, int len)
- {
- int i;
- for(i = 0; i < len; i++)
- {
- array1[i] = array2[i];
- }
- }
- void
- makeChar(int *aff, char c, int len, int cl, int on, int off)
- {
- int afficheur[7];
- copyArray(afficheur, aff, 7);
- if(cl == true)
- setState(afficheur, len, off);
- switch(c)
- {
- case 'A':
- afficheur[3] = 0;
- break;
- case 'B':
- afficheur[0] = 0;
- afficheur[1] = 0;
- break;
- case 'C':
- afficheur[1] = 0;
- afficheur[2] = 0;
- afficheur[6] = 0;
- break;
- case 'D':
- afficheur[0] = 0;
- afficheur[5] = 0;
- break;
- case 'E':
- afficheur[1] = 0;
- afficheur[2] = 0;
- break;
- case 'F':
- afficheur[1] = 0;
- afficheur[2] = 0;
- afficheur[3] = 0;
- break;
- case 'H':
- afficheur[0] = 0;
- afficheur[3] = 0;
- break;
- case 'I':
- afficheur[0] = 0;
- afficheur[3] = 0;
- afficheur[4] = 0;
- afficheur[5] = 0;
- afficheur[6] = 0;
- break;
- case 'J':
- afficheur[0] = 0;
- afficheur[5] = 0;
- afficheur[6] = 0;
- break;
- case 'L':
- afficheur[0] = 0;
- afficheur[1] = 0;
- afficheur[2] = 0;
- afficheur[6] = 0;
- break;
- case 'O':
- afficheur[0] = 0;
- afficheur[1] = 0;
- afficheur[5] = 0;
- break;
- case 'P':
- afficheur[2] = 0;
- afficheur[3] = 0;
- break;
- case 'S':
- afficheur[1] = 0;
- afficheur[4] = 0;
- break;
- case 'T':
- afficheur[0] = 0;
- afficheur[1] = 0;
- afficheur[2] = 0;
- afficheur[3] = 0;
- break;
- case 'U':
- afficheur[0] = 0;
- afficheur[6] = 0;
- break;
- case 'Y':
- afficheur[0] = 0;
- afficheur[4] = 0;
- break;
- case '0':
- afficheur[6] = 0;
- break;
- case '1':
- afficheur[0] = 0;
- afficheur[3] = 0;
- afficheur[4] = 0;
- afficheur[5] = 0;
- afficheur[6] = 0;
- break;
- case '2':
- afficheur[2] = 0;
- afficheur[5] = 0;
- break;
- case '3':
- afficheur[4] = 0;
- afficheur[5] = 0;
- break;
- case '4':
- afficheur[0] = 0;
- afficheur[3] = 0;
- afficheur[4] = 0;
- break;
- case '5':
- afficheur[1] = 0;
- afficheur[4] = 0;
- break;
- case '6':
- afficheur[1] = 0;
- break;
- case '7':
- afficheur[3] = 0;
- afficheur[4] = 0;
- afficheur[5] = 0;
- afficheur[6] = 0;
- break;
- case '8':
- break;
- case '9':
- afficheur[4] = 0;
- break;
- case '-':
- afficheur[0] = 0;
- afficheur[1] = 0;
- afficheur[2] = 0;
- afficheur[3] = 0;
- afficheur[4] = 0;
- afficheur[5] = 0;
- break;
- default:
- afficheur[0] = 0;
- afficheur[1] = 0;
- afficheur[2] = 0;
- afficheur[3] = 0;
- afficheur[4] = 0;
- afficheur[5] = 0;
- afficheur[6] = 0;
- break;
- }
- setState(afficheur, len, on);
- }
- /*
- THIS IS THE PART YOU GOT TO CHANGE
- SET THE NĀ° OF THE PIN FOR EACH SEGMENT
- FOR EXAMPLE : HERE THE PIN 4 IS CONNECTED
- TO THE A SEGMENT
- */
- int A = 4;
- int B = 3;
- int C = 5;
- int D = 6;
- int E = 2;
- int F = 7;
- int G = 8;
- int aff[] = {A, B, C, D , E, F, G};
- void
- setup()
- {
- int i;
- for(i = 0; i < 7; i++)
- pinMode(aff[i], OUTPUT);
- Serial.begin(9600);
- Serial.println("[DEBUG] Connected");
- }
- size_t
- getSerial(char *buffer, size_t len)
- {
- size_t written = 0;
- size_t nb = Serial.available();
- if(nb)
- {
- while(nb > 0 && written < len)
- {
- buffer[written] = Serial.read();
- written++;
- nb = Serial.available();
- }
- return written;
- }
- else
- return false;
- }
- void
- loop()
- {
- int i;
- char to_aff[64];
- int written;
- if((written = getSerial(to_aff, 64)))
- {
- for(i = 0; i < written; i++)
- {
- makeChar(aff, to_aff[i], 7, true, LOW, HIGH);
- delay(1000);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement