Modifications

Sauter à la navigation Sauter à la recherche
819 octets ajoutés ,  14 avril 2013 à 19:35
Ligne 2 : Ligne 2 :     
== Introduction ==
 
== Introduction ==
{{bloc-etroit|text=Cet exemple est certes rudimentaire mais il met en place tous les éléments nécessaires à la communication I2C structurée entre un Raspberry Pi et un Arduino.}}
+
{{bloc-etroit|text=Cet exemple est un peu plus élaboré que le précédent, il met en oeuvre le principe de registres sur un Arduino ([[Arduino I2C Intro-ConceptRegistre|abordé dans ce tutoriel sur I2C]]) afin de permettre une communication structurée entre un Pi (en maître) et un Arduino (en esclave).
    
Dans l'exemple suivant:
 
Dans l'exemple suivant:
Ligne 8 : Ligne 8 :  
* <strong>Arduino est le SLAVE LISTENER</strong> (esclave qui écoute)<br />Il attend donc les instructions envoyée sur le bus I2C.
 
* <strong>Arduino est le SLAVE LISTENER</strong> (esclave qui écoute)<br />Il attend donc les instructions envoyée sur le bus I2C.
   −
Dans cet exemple:
+
=== Quelques opérations simples ===
* Le programme Raspberry se content d'envoyer des messages simples.
+
* Le programme Raspberry se content d'envoyer différentes requêtes par l'intermédiaire de registres:
* le programme Arduino se content de renvoyer les informations reçues vers le Moniteur Série
+
** Demander à Arduino le '''numéro de version''' de son logiciel.
 +
** Demander à Arduino de '''faire une addition''' de deux valeurs (c'est une exemple académique).
 +
** Demander à Arduino d''''allumer et éteindre la LED''' branchée sur la broche 13 :-)
 +
* le programme Arduino se content d'effectuer les traitements et de renvoyer les valeurs sur le bus I2C.
   −
Grâce à cet exemple, il devient possible d'espionner le processus de communication I2C entre Arduino et Raspberry Pi.}}
+
=== Notes ===
 +
# Le programme Arduino n'affiche pas beaucoup d'information sur le port série. Les transmissions séries perturbent le bon fonctionnement de général du traitement I2C.
 +
# Le programme Raspberry affiche le résultat des différentes opérations directement dans le terminal.}}
 +
# Il serait bien entendu possible de développer un protocole complet pour cet exemple... mais utiliser le procédé standardisé des registres sera "plus efficace".
    
== Montage ==
 
== Montage ==
 
Nous utilisons ici le [[ArduPi-I2C-Montage|montage général]] décrit dans ce tutoriel.
 
Nous utilisons ici le [[ArduPi-I2C-Montage|montage général]] décrit dans ce tutoriel.
 +
 +
[[Fichier:Ardu-Pi (Arduino).jpg]]
    
{{ArduPi-I2C-TRAILER}}
 
{{ArduPi-I2C-TRAILER}}
29 910

modifications

Menu de navigation