Bonjour,
Je fais des essais d'envoi d'infos sur un lcd 16x2 avec 2 Arduino UNO, 1 maitre et 1 esclave.
J'arrive à envoyer des infos et les faire affiché.
Montage :
Maitre:
byte b;
#include <Wire.h>
void setup() {
Wire.begin();
}
void loop() {
Wire.beginTransmission(1);
Wire.write("Position :");
Wire.write(b);
Wire.endTransmission();
b++;
delay(1000);
}
Esclave :
#include <Wire.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup()
{
lcd.begin(16, 2);
lcd.setCursor(0, 0);
lcd.print("ok");
Wire.begin(1);
Wire.onReceive(receiveEvent);
Serial.begin(9600);
}
void loop()
{
}
void receiveEvent(int howMany)
{
while (1 < Wire.available())
{
byte y = howMany-1;
for (int a=0;a<y;a++)
{
lcd.setCursor(a, 1);
char c = Wire.read();
lcd.print(c);
}
}
byte y = howMany;
int x = Wire.read();
lcd.setCursor(y, 1);
lcd.print(x);
delay(10);
}
mais je voudrais envoyer toutes les données des lignes en 1 fois ,
car si j'inverse :
Wire.write("Position :");
Wire.write(b);
ça ne fonctionne plus.
Une idée ?