He estado trabajando en esto durante horas y no tengo idea de dónde está el problema ...
Así que tengo el siguiente código ... que cuando escribo una letra en el Monitor Serial obtengo el código binario para esa letra en mi pantalla LCD ...
#include <Adafruit_CharacterOLED.h>
Adafruit_CharacterOLED lcd(6, 7, 8, 9, 10, 11, 12);
void setup()
{
// Print a message to the LCD.
Serial.begin(9600);
lcd.begin(16, 2);
}
void loop() {
char TestData;
if(Serial.available() )
{
TestData = Serial.read();
lcd.setCursor(0, 0);
lcd.print (TestData, BIN); // echo the incoming character to the LCD
}
}
El problema que tengo es cómo convertir el texto de BIN o HEX o de algún otro código ASCII a TEXTO literal ...
He intentado dejar el lcd.print
simplemente como lcdprint (TestData)
porque entonces debería devolver solo el VAL
de la entrada, pero no lo hace, me da unos cuantos símbolos extraños y luego se apaga ... Me gusta algo está mal
También necesito descubrir Char Arrays pero llegaré a eso una vez que averigüe cómo mostrar una carta de monstruos
EDITAR:
enlace Este es un video de la comparación de lcd.print (TestData, BIN);
vs lcd.print (TestData);
Según el último comentario, el seguimiento funciona como se esperaba:
#include <Adafruit_CharacterOLED.h>
Adafruit_CharacterOLED lcd(6, 7, 8, 9, 10, 11, 12);
void setup()
{
// Print a message to the LCD.
Serial.begin(9600);
lcd.begin(16, 2);
lcd.setCursor(0, 0);
char TestData='X';
lcd.print(TestData);
}
void loop() {
char TestData;
if(Serial.available() )
{
TestData = Serial.read();
lcd.setCursor(8, 0);
lcd.print (TestData, BIN); // echo the incoming character to the LCD
}
lcd.setCursor(0, 1);
int charcode = 65;
lcd.print(charcode);
}