const int segA = 32, segB = 33, segC = 25;
const int segD = 26, segE = 27, segF = 14, segG = 12;
char dado = '0';
int numBytes = 0;
void setup() {
Serial.begin(115200);
Serial.println("Digite um numero entre 0 e 9: ");
displaySetup();
}
void loop() {
numBytes = Serial.available();
if(numBytes>0){
// Serial.print("Qtd de Bytes no Buffer: ");
// Serial.println(numBytes);
char temp = Serial.read();
if (temp != '\n'){
dado = temp;
}
Serial.print("Dado lido: ");
Serial.println(dado);
delay(500);
}
if (dado == '0'){
displayOn(1,1,1,1,1,1,0);//acende 0
}
else if (dado == '1'){
displayOn(0,1,1,0,0,0,0);//acende 1
}
else if (dado = '\n'){
displayOn(0,0,0,1,1,1,0);//acende L
}
else{
displayOn(1,0,0,1,1,1,1);//erro
}
}
void displaySetup(){
pinMode(segA, OUTPUT);
pinMode(segB, OUTPUT);
pinMode(segC, OUTPUT);
pinMode(segD, OUTPUT);
pinMode(segE, OUTPUT);
pinMode(segF, OUTPUT);
pinMode(segG, OUTPUT);
}
void displayOn(bool stateA, bool stateB, bool stateC, bool stateD, bool stateE, bool stateF, bool stateG){
digitalWrite(segA, stateA);
digitalWrite(segB, stateB);
digitalWrite(segC, stateC);
digitalWrite(segD, stateD);
digitalWrite(segE, stateE);
digitalWrite(segF, stateF);
digitalWrite(segG, stateG);
}