Modifications

Sauter à la navigation Sauter à la recherche
3 682 octets ajoutés ,  7 février 2015 à 10:05
aucun résumé de modification
Ligne 1 : Ligne 1 :  
{{ArduPi-I2C-NAV}}
 
{{ArduPi-I2C-NAV}}
 +
 +
== Introduction ==
 +
{{bloc-etroit|text=Connecter un Raspberry-Pi et un (ou plusieurs) Arduino par l'intermédiaire d'un bus I2C peut représenter une petite révolution pour vos projets.
 +
 +
 +
Certes, il existe de nombreux périphériques I2C... mais seul un Arduino vous permettra de concevoir un périphérique intelligent qui répondra précisément certaines de vos exigences.}}
 +
 +
[[Fichier:Ardu-Pi (Low-Res).jpg|640px]]
 +
 +
''Exemple mettant en oeuvre un Raspberry Pi et un Boarduino via le bus I2C''
 +
 +
== Introduction préalable à I2C ==
 +
Si vous ne savez pas encore ce qu'est un bus I2C ou si vous désirez vous rafraichir la mémoire, vous pouvez consulter [[Arduino I2C Intro|notre tutoriel I2C]] pour Arduino.
 +
 +
[[Fichier:tlogo-I2C.jpg]]
 +
 +
Le [[Arduino I2C Intro|tutoriel d'introduction I2C]] devrait représenter une bonne "intro" pour Arduino ainsi que Raspberry-Pi.
 +
 +
== Pourquoi I2C et pas le Port Série ==
 +
 +
Raspberry ne dispose que d'un seul port série... et le condamné pour commander un seul périphérique (Arduino) n'est probablement pas très opportun.
 +
 +
Il est plus intéressant de préserver ce port série pour d'autres éventualités futures.
 +
 +
L'utilisation du bus I2C permettra de raccorder sereinement plusieurs Arduino... sans sacrifier ni le port série du Raspberry, ni le port série d'Arduino :-)
 +
 +
== Compatibilité Pi-2 et Pi B PLUS ==
 +
{{picobbler-compatibility}}
 +
 +
== Exemple pratique: Une plateforme mobile pour Pi ==
 +
 +
'''Un certain nombre de nos clients désirent réaliser un robot mobile à l'aide de Raspberry Pi.'''
 +
 +
En effet, il sera difficile de réaliser la plateforme mobile suivante à partir d'un Raspberry:
 +
* piloter 4 moteurs de propulsions,
 +
* 1 ou 2 servo moteurs pour orienter une tourelle de détection de distance
 +
* Utiliser un senseur de distance ultra son
 +
* Effectuer un test de collision élémentaire (pour bloquer la motorisation)
 +
 +
C'est en effet un projet très excitant... mais malheureusement, Raspberry n'est pas une plateforme idéale pour réaliser une telle base mobile. Par contre, il sera très intéressant de piloter une telle base mobile à l'aide d'un Raspberry Pi.
 +
 +
C'est certes possible à grand renfort d'ingéniosité, montage plus ou moins complexe et en sacrifiant toutes les entrées/sorties de votre Pi.
 +
 +
=== Arduino et Motor Shield ===
 +
 +
'''A contrario, réaliser un tel montage est trivial à l'aide d'un {{pl|10|Arduino}} et d'un {{pl|51|Motor shield}}''' (''dont exemple ci-dessous'').
 +
 +
[[Fichier:Motor-Shield-InAction.jpg|550px]]
 +
# Moteur continu (DC)
 +
# Servo Moteur
 +
# Moteur pas-à-pas
 +
 +
=== Pi + (Arduino + Motor Shield) + I2C ===
 +
Puisque Arduino et un motor shield seraient des outils de contrôle idéal d'une plateforme mobile, pourquoi donc ne pas utiliser un Arduino+MotorShield (comme esclave I2C intelligent) commandé par Raspberry Pi via le bus I2C.
 +
 +
Raspberry resterait alors maître de la logique de mouvement et donnerait ses ordres à la plateforme mobile elle-même motorisée par un Arduino+MotorShield. 
 +
 
 +
Voici donc une proposition de montage permettant de concevoir et commander une telle plateforme mobile pour Raspberry Pi.
 +
 +
[[Fichier:ArduPi-I2C-MobilePlateforme.jpg|800px]]
 +
 +
Cette suggestion met en oeuvre:
 +
* un {{link-product-piplus}} ou un {{link-product-pi}}
 +
* {{pl|171|un boarduino}} (un 100% compatible Arduino réalisé par AdaFruit)
 +
* {{pl|131|Convertisseur Logique 4 Canaux - Bi-Directionnel - I2C compatible}}
 +
* {{link-product-picobblerplus}} ou un {{link-product-picobbler}} en guise de connecteur Raspberry-Pi
 +
 +
Le tutoriel que nous proposons ici vise justement à pouvoir réaliser un tel montage... en commençant par la communication I2C entre Raspberry-Pi et Arduino
    
{{ArduPi-I2C-TRAILER}}
 
{{ArduPi-I2C-TRAILER}}
29 837

modifications

Menu de navigation