Modifications

Sauter à la navigation Sauter à la recherche
1 584 octets ajoutés ,  6 avril 2013 à 20:52
aucun résumé de modification
Ligne 20 : Ligne 20 :  
Voici le contenu du programme Arduino. N'oubliez pas d'ouvrir le moniteur série d'Arduino pour voir ce qui passe sur le bus ;-)
 
Voici le contenu du programme Arduino. N'oubliez pas d'ouvrir le moniteur série d'Arduino pour voir ce qui passe sur le bus ;-)
   −
   <nowiki>
+
   <nowiki>// === ArduPi-I2C ================================================
 +
// Communication entre Arduino et Raspberry Pi via le BUS I2C
 +
// ===============================================================
 +
// Tutoriel: http://mchobby.be/wiki/index.php?title=ArduPi-I2C
 +
//
 +
// Programme Esclave qui Recoit les données données envoyées par Raspberry Pi
 +
// S'utilise avec le programme Arduino MasterWriter.py
 +
//
 +
// Ecrit par D. Meurisse pour MCHobby.be
 +
// www.mchobby.be - Vente de kit et composant Arduino et Raspberry Pi
 +
// Licence CC-BY-SA
 +
//
 +
// Basé sur l'exemple de Nicholas Zambetti <http://www.zambetti.com>
 +
//
 +
#include <Wire.h>
 +
 
 +
void setup()
 +
{
 +
  Wire.begin(4);                // Joindre le Bus I2C avec adresse #4
 +
  Wire.onReceive(receiveEvent); // enregistrer l'événement (lorsqu'une demande arrive)
 +
  Serial.begin(9600);          // Démarrer une communication série
 +
}
 +
 
 +
void loop()
 +
{
 +
  delay(100);
 +
}
 +
 
 +
// Fonction qui est exécutée lorsque des données sont envoyées par le Maître.
 +
// Cette fonction est enregistrée comme une événement ("event" en anglais), voir la fonction setup()
 +
void receiveEvent(int howMany)
 +
{
 +
  Serial.println("---- READING ---");
 +
  Serial.print("Number of Bytes: ");
 +
  Serial.println( howMany );
 +
  while(1 < Wire.available()) // Lire tous les octets sauf le dernier
 +
  {
 +
    char c = Wire.read();    // lecture de l'octet/byte comme caractère
 +
    Serial.print(c);          // afficher le caractère
 +
  }
 +
  int x = Wire.read();        // lecture de l'octet/byte ignoré comme un entier
 +
  Serial.println(x);          // Afficher la valeur numérique
 +
}
 
</nowiki>  
 
</nowiki>  
 
{{ArduPi-I2C-TRAILER}}
 
{{ArduPi-I2C-TRAILER}}
29 917

modifications

Menu de navigation