Hola disculpame que te moleste, a ver si me das una mano.
¿Qué hace este código?
La cadena “01 10 21 31 40” representa el estado de 5 sensores 01, 21 y 31 están desactivados porque terminan en “1” y los sensores activos son 10 y 40 por terminar en cero.
Concluyendo los sensores son 0, 1, 2, 3 y 4.
Mi problema es que al probar el código en el Visor Serial responde muy bien cuando ingreso el primer Nro. de cualquier sensor. Pero cuando ingreso el segundo valor (de otro sensor) me toma todos como que están desactivados.
Ej. Si ingreso 4 el código le agrega un 0 y busca si el sensor 4 está como 40 o 41.
Si esta como 40 devuelve 12 (>0), pero si esta como 41 devuelve (-1), así leo el estado de los 5 sensores, pero a partir del segundo debo salir del visor y volver a entrar.
Esto me hace pensar que estoy escribiendo mal el uso del Visor Serial.
Te agradezco cualquier comentario que me oriente y me enseñe como usar la Consola Serial.
#include <SoftwareSerial.h>
String Cadena;
String Estado = "01 10 21 31 40";
void setup(){
Serial.begin(9600);
Serial.println(Estado);
}
void loop(){
while (Serial.available()){
char Valor = Serial.read();
if (Valor != 13) {
Cadena += Valor;
}else{
Cadena = Cadena + "0";
Serial.println(Cadena);
int posicion = Estado.indexOf(Cadena);
Serial.println(posicion);
Cadena = "";
}
}
}