Hola tengo un problema y es que quiero hacer un codigo el cual lea una cantidad de bits de 0 a 255 y este encienda los leds por ejemplo si escribo el numero 71 encender el led 7 3 2 y 1, a aprte de eso estar separados por filas es decir, 024 255 enciendo todos los leds de la fila 24, estoy haciendo el codigo pero me parece muy chapuzas estar usando digitalWrite HIGH LOW, aqui teneis mas o menos lo que llevo hecho
void setup() {
Serial.begin(9600);
Serial.setTimeout(50);
pinMode(13,OUTPUT);
pinMode(12,OUTPUT);
pinMode(11,OUTPUT);
pinMode(10,OUTPUT);
pinMode(9,OUTPUT);
pinMode(8,OUTPUT);
pinMode(7,OUTPUT);
}
String rele;
void loop() {
if(Serial.available()>0){
rele = Serial.readString();
if (rele == "024001\r\n"){
digitalWrite(13,HIGH);
digitalWrite(12,LOW);
digitalWrite(11,LOW);
digitalWrite(10,LOW);
digitalWrite(9,LOW);
digitalWrite(8,LOW);
digitalWrite(7,LOW);
}
if (rele == "024002\r\n"){
digitalWrite(13,LOW);
digitalWrite(12,HIGH);
digitalWrite(11,LOW);
digitalWrite(10,LOW);
digitalWrite(9,LOW);
digitalWrite(8,LOW);
digitalWrite(7,LOW);
}
if(rele == "024003\r\n"){
digitalWrite(13,HIGH);
digitalWrite(12,HIGH);
digitalWrite(11,LOW);
digitalWrite(10,LOW);
digitalWrite(9,LOW);
digitalWrite(8,LOW);
digitalWrite(7,LOW);
}
if rele == "024004\r\n"){
digitalWrite(13,LOW);
digitalWrite(12,LOW);
digitalWrite(11,HIGH);
digitalWrite(10,LOW);
digitalWrite(9,LOW);
digitalWrite(8,LOW);
digitalWrite(7,LOW);
}
}
}
Muchas gracias por su atención