Différences entre versions de « Arduino I2C Intro-MasterReader »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
(Page créée avec « {{Arduino-I2C-Intro-NAV}} {{Arduino-I2C-Intro-TRAILER}} »)
 
Ligne 1 : Ligne 1 :
 
{{Arduino-I2C-Intro-NAV}}
 
{{Arduino-I2C-Intro-NAV}}
 +
 +
== Programme "Master Reader" ==
 +
 +
Comme précisé plus avant dans la documentaiton en "Master Reader", le Maître interroge un esclave et attend une réponse de la part de ce dernier.
 +
 +
=== Programme du Maître ===
 +
Voici le programme issu de l'article [http://arduino.cc/en/Tutorial/MasterReader "Arduino - MasterReader" sur Arduino.cc].
 +
 +
<nowiki>// Librairie Wire - Master Reader (Maitre Lit)
 +
// *** Programme pour le Maître - Le maître Lit ***
 +
//
 +
// par Nicholas Zambetti <http://www.zambetti.com>
 +
// Traduction par MCHobby.be <http://www.mchobby.be>
 +
//
 +
// Démontre l'usage de la librairie Wire.
 +
// Lectures de données depuis un périphérique I2C/TWI esclave.
 +
//
 +
// A utiliser avec le programme esclave de cet exemple.
 +
//
 +
// Crée le 29 mars 2006
 +
// Traduit le 9 mars 2013 (MCHobby)
 +
//
 +
// This example code is in the public domain.
 +
// Ce code d'exemple fait partie du domaine public.
 +
 +
#include <Wire.h>
 +
 +
void setup()
 +
{
 +
  Wire.begin();        // joindre le bus i2c (adresse est optionnelle pour un maître)
 +
  Serial.begin(9600);  // démarré une communication série
 +
}
 +
 +
void loop()
 +
{
 +
  Wire.requestFrom(2, 6);    // lecture de 6 octets (bytes) depuis l'esclave #2
 +
 +
  while(Wire.available())    // l'esclave pourrait envoyer moins de données qu'attendu
 +
  {
 +
    char c = Wire.read();    // Reception de l'octet (byte) comme caractère
 +
    Serial.print(c);        // Affichage du caractère.
 +
  }
 +
 +
  delay(500); // Attendre une demi seconde.
 +
}</nowiki>
 +
 +
=== Programme de l'esclave ===
 +
Voici le programme issu de l'article [http://arduino.cc/en/Tutorial/MasterReader "Arduino - MasterReader" sur Arduino.cc].
 +
 +
<nowiki>// Librairie Wire - Master Reader (Maitre Lit)
 +
// *** Programme pour l' Esclave - L'esclave écrit ***
 +
//
 +
// par Nicholas Zambetti <http://www.zambetti.com>
 +
// Traduction par MCHobby.be <http://www.mchobby.be>
 +
//
 +
// Démontre l'usage de la librairie Wire.
 +
// Envoi des données sur le bus i2c en tant qu'esclave.
 +
//
 +
// A utiliser avec le programme Maître de cet exemple.
 +
//
 +
// Crée le 29 mars 2006
 +
// Traduit le 9 mars 2013 (MCHobby)
 +
//
 +
// This example code is in the public domain.
 +
// Ce code d'exemple fait partie du domaine public.
 +
 +
 +
#include <Wire.h>
 +
 +
void setup()
 +
{
 +
  Wire.begin(2);                // Joindre le bus i2c avec l'adresse #2
 +
  Wire.onRequest(requestEvent); // enregistrer l'événement (lorsqu'une demande arrive)
 +
}
 +
 +
void loop()
 +
{
 +
  delay(100); // Attendre 100ms
 +
}
 +
 +
// Fonction qui est exécutée lorsque des données sont demandées par le Maître.
 +
// Cette fonction est enregistrée comme une événement ("event" en anglais), voir la fonction setup()
 +
void requestEvent()
 +
{
 +
  Wire.write("hello "); // Répondre avec un message de 6 octets (bytes)
 +
                        // comme attendu par le maître.
 +
}</nowiki>
 +
 +
=== En savoir plus ===
 +
L'article [http://arduino.cc/en/Tutorial/MasterReader "Arduino - MasterReader" sur Arduino.cc] vous propose plus d'informations.
 +
Vous y trouverez en autre la description des fonctions:
 +
* [http://arduino.cc/en/Reference/WireBegin Wire.begin()]
 +
* [http://arduino.cc/en/Reference/WireRequestFrom Wire.RequestFrom()]
 +
* [http://arduino.cc/en/Reference/WireReceive Wire.receive()] '''maintenant nommée write()'''
 +
* [http://arduino.cc/en/Reference/WireSend Wire.send()] '''maintenant nommée read()'''
 +
* [http://arduino.cc/en/Reference/WireOnRequest Wire.onRequest()]
  
 
{{Arduino-I2C-Intro-TRAILER}}
 
{{Arduino-I2C-Intro-TRAILER}}

Version du 10 mars 2013 à 15:56

Programme "Master Reader"

Comme précisé plus avant dans la documentaiton en "Master Reader", le Maître interroge un esclave et attend une réponse de la part de ce dernier.

Programme du Maître

Voici le programme issu de l'article "Arduino - MasterReader" sur Arduino.cc.

// Librairie Wire - Master Reader (Maitre Lit)
// *** Programme pour le Maître - Le maître Lit ***
//
// par Nicholas Zambetti <http://www.zambetti.com>
// Traduction par MCHobby.be <http://www.mchobby.be>
// 
// Démontre l'usage de la librairie Wire.
// Lectures de données depuis un périphérique I2C/TWI esclave.
//
// A utiliser avec le programme esclave de cet exemple.
//
// Crée le 29 mars 2006
// Traduit le 9 mars 2013 (MCHobby)
//
// This example code is in the public domain.
// Ce code d'exemple fait partie du domaine public.

#include <Wire.h>

void setup()
{
  Wire.begin();        // joindre le bus i2c (adresse est optionnelle pour un maître)
  Serial.begin(9600);  // démarré une communication série
}

void loop()
{
  Wire.requestFrom(2, 6);    // lecture de 6 octets (bytes) depuis l'esclave #2

  while(Wire.available())    // l'esclave pourrait envoyer moins de données qu'attendu
  {
    char c = Wire.read();    // Reception de l'octet (byte) comme caractère
    Serial.print(c);         // Affichage du caractère.
  }

  delay(500); // Attendre une demi seconde.
}

Programme de l'esclave

Voici le programme issu de l'article "Arduino - MasterReader" sur Arduino.cc.

// Librairie Wire - Master Reader (Maitre Lit)
// *** Programme pour l' Esclave - L'esclave écrit ***
//
// par Nicholas Zambetti <http://www.zambetti.com>
// Traduction par MCHobby.be <http://www.mchobby.be>
// 
// Démontre l'usage de la librairie Wire.
// Envoi des données sur le bus i2c en tant qu'esclave.
//
// A utiliser avec le programme Maître de cet exemple.
//
// Crée le 29 mars 2006
// Traduit le 9 mars 2013 (MCHobby)
//
// This example code is in the public domain.
// Ce code d'exemple fait partie du domaine public.


#include <Wire.h>

void setup()
{
  Wire.begin(2);                // Joindre le bus i2c avec l'adresse #2
  Wire.onRequest(requestEvent); // enregistrer l'événement (lorsqu'une demande arrive)
}

void loop()
{
  delay(100); // Attendre 100ms
}

// Fonction qui est exécutée lorsque des données sont demandées par le Maître.
// Cette fonction est enregistrée comme une événement ("event" en anglais), voir la fonction setup()
void requestEvent()
{
  Wire.write("hello "); // Répondre avec un message de 6 octets (bytes)
                        // comme attendu par le maître.
}

En savoir plus

L'article "Arduino - MasterReader" sur Arduino.cc vous propose plus d'informations. Vous y trouverez en autre la description des fonctions:


Réalisé par Meurisse D. pour MCHobby.be.

Contient également quelques images et exemples d'Arduino.cc, droits et copyrights sur ces ressources restant bien évidement à Arduino.cc.

Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : «  Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.

L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.