Bonsoir, je viens vers vous car je suis perdu avec mon LCD
Depuis un arduino j'envoie "Ta24.00H57.00Tb23.25P99439" bien reçu par le second car s'affiche super en serial mais lorsque je souhaites afficher sur mon LCD la boucle for du code si dessous ne fonctionne pas
#include <VirtualWire.h> // Vous devez télécharger et installer la librairie VirtualWire.h dans votre dossier "/libraries" !
#include <LiquidCrystal.h>
LiquidCrystal lcd(9, 8, 5, 4, 3, 2);
void setup()
{
Serial.begin(9600); // On initialise "le serial monitor", j'ai laissé 9600 bauds ici car c'est la valeur par défaut mais vous pouvez la modifier. Attention à bien mettre la même valeur dans votre Serial Monitor et dans votre programme.
vw_setup(2000); // Bits par seconde (vous pouvez le modifier mais cela modifiera la portée). Voir la documentation de la librairie VirtualWire.
vw_set_rx_pin(7); // C'est sur cette broche que l'on reliera les broches DATA du récepteur, vous pouvez changez de broche si vous le désirez.
vw_rx_start(); // On démarre le récepteur.
lcd.begin(16, 2);
lcd.print("lecture : ");
}
void loop()
{
uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;
if (vw_get_message(buf, &buflen)) // On test afin de savoir si un message est reçu.
{
int i;
// Un message est reçu.
for (i = 0; i < buflen; i++)
{
Serial.write(buf[i]); // On affiche le message lettre par lettre. Par exemple buf[4] sera égale à la 5ème lettre du mot envoyé (Snootlab donc "t") car on compte le zéro ici.
lcd.clear();
lcd.setCursor(0, 0);
lcd.write(buf[0]); lcd.write(buf[1]);lcd.write(buf[2]);lcd.write(buf[3]); //affiche bien les quartes premières valeurs du tableau
lcd.setCursor(0, 1);
lcd.print(buf[i]); //affiche la dernière valeurs du tableau
}
Serial.println(""); // On saute une ligne afin d'avoir plus de clarté.
//lcd.clear();
}
}
je suis parti de http://www.geeetech.com/wiki/index.php/Wireless_temperature_and_humidity_sensor_with_RF_modules
merci d'avance