Paso 4: El código de Arduino
Este código es para el Arduino RSS alimentación proyecto, buñueloLeer las líneas de comentario para averiguar cómo funciona
int startstring = 0; reconocimiento del principio de la nueva cadena
charcount int = 0; seguimiento de total de caracteres en pantalla
#include < LiquidCrystal.h > / / importar la librería LiquidCrystal
LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
void setup() {}
Serial.Begin(9600); abre el puerto serie, establece la tarifa de datos a 9600 bps
LCD.Begin(16,2); Inicializar el tamaño de la LCD 16 x 2. Cambio si se utiliza una pantalla LCD más grande
lcd.setCursor(0,0); Establecer la posición del cursor a la parte superior izquierda esquina
pinMode (13, salida);
}
void loop() {}
char incomingByte = 0; para los datos entrantes en serie
Si (Serial.available() > 0) {/ / comprobar los datos entrantes en serie
digitalWrite (13, HIGH);
incomingByte = Serial.read();
Si ((incomingByte == ' ~') & & (startstring == 1)) {/ / comprobar el cierre ' ~' para poner fin a la impresión de datos en serie
startstring = 0; Configurar la impresión en off
Delay(5000); Espere 5 segundos
LCD.Clear(); Limpie la pantalla
charCount = 0; restablecer el recuento de caracteres en 0
lcd.setCursor(0,0); restablecer el cursor en 0,0
}
Si (startstring == 1) {/ / comprobar si la cadena ha comenzado a si primer ' ~' se ha leído
Si (charcount < = 30) {/ / comprobar si charcount es bajo o igual a 30
LCD.Print(incomingByte); Imprime el byte actual en la serie
charCount = charcount ++; Incrementar la charcount en 1 sí sé que es difícil
}
}
Si (charcount == 31) {/ / si el charcount es igual a 31 aka la pantalla completa
Delay(500);
LCD.Clear(); limpiar la pantalla
lcd.setCursor(0,0); Set cursor en 0,0
LCD.Print(incomingByte); continuar la impresión de datos
charCount = 1; establecer charcount a 1
}
Si (incomingByte == ' ~') {/ / comprobar si el byte es marcador ~ para iniciar la impresión
startstring = 1; comenzar la impresión
}
}
digitalWrite (13, bajo);
Delay(10); retardo de 10 ms para la estabilidad
}