Étape 16 : Deuxième Arduino avec I2C
Sur ma boîte de puzzle que j’ai un deuxième Arduino (un Arduino Uno) avec un bouclier de Tube Nixie là-dessus qui agit comme une minuterie. Voici les liens :Arduino Mega Arduino Uno
SDA---> SDA
SCL---> SCL
GND---> GND
Vin---> NIV (c’est peut-être pas nécessaire... quelqu'un sait pour sûr).
Le maître (Arduino Mega) communique de la même manière, qu'elle le fait normalement. L’esclave (Arduino Uno) est définie comme suit dans setup() :
Wire.Begin(4) ; Rejoignez les bus i2c avec adresse #4
Wire.onReceive(receiveEvent) ; inscrire les événements
puis il vous suffit de définir la recieveEvent (celui-ci est de l’exemple qui vient avec l’IDE Arduino (c’est sous le fil dans les exemples)
Sub receiveEvent(int howMany)
{
alors que (1 < Wire.available()) / / effectuer une boucle sur tous sauf le dernier
{
char c = Wire.receive() ; recevoir des octets comme un personnage
Serial.Print(c) ; imprimer le caractère
}
int x = Wire.receive() ; recevoir des octets en tant qu’entier
Serial.println(x) ; imprimer l’entier
}
Pour le mien j’ai juste le capitaine envoyer une chose qui raconte la minuterie pour commencer.
Voici un très bon tutoriel sur la connexion de plusieurs Arduinos
http://hacknmod.com/Hack/How-to-Connect-multiple-Arduino-microcontrollers-using-I2C/