TP2 Arduino : Master Reader / Slave Sender
Méthode : Communication de 2 cartes Arduino Uno en I2C
L'une des 2 cartes sera en mode esclave et transmettra un message récupéré par l'autre carte configurée en mode maître.
Associer les 2 cartes, les programmer et vérifier la communication.
Modifier le programme pour transmettre et afficher le niveau logique capturé sur l'une vers l'autre.
Effectuer la saisie du schéma de l'association 2 cartes Arduino Uno + Résistance de tirage + LED avec le logiciel Fritzing.
Le projet Arduino et le schéma seront à fournir en fin de TP.
Complément :
Schéma électrique
Schéma de câblage
Exemple : Code source du maître en récepteur
// Wire Master Reader
// by Nicholas Zambetti <http://www.zambetti.com>
// Demonstrates use of the Wire library
// Reads data from an I2C/TWI slave device
// Refer to the "Wire Slave Sender" example for use with this
// Created 29 March 2006
// This example code is in the public domain.
#include <Wire.h>
void setup() {
Wire.begin(); // join i2c bus (address optional for master)
Serial.begin(9600); // start serial for output
}
void loop() {
Wire.requestFrom(8, 6); // request 6 bytes from slave device #8
while (Wire.available()) { // slave may send less than requested
char c = Wire.read(); // receive a byte as character
Serial.print(c); // print the character
}
delay(500);
}
Exemple : Code source de l'esclave en émetteur
// Wire Slave Sender
// by Nicholas Zambetti <http://www.zambetti.com>
// Demonstrates use of the Wire library
// Sends data as an I2C/TWI slave device
// Refer to the "Wire Master Reader" example for use with this
// Created 29 March 2006
// This example code is in the public domain.
#include <Wire.h>
void setup() {
Wire.begin(8); // join i2c bus with address #8
Wire.onRequest(requestEvent); // register event
}
void loop() {
delay(100);
}
// function that executes whenever data is requested by master
// this function is registered as an event, see setup()
void requestEvent() {
Wire.write("hello "); // respond with message of 6 bytes
// as expected by master
}
Exemple : Résultats attendus
Photo et vidéo de la communication I2C avec fichiers d'origine
Photo et vidéo de la communication I2C transmission d'un niveau logique et signalisation sur l'autre carte