Communication I2C entre un Arduino et un Raspberry Pi
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.
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 :-)
Montage
Voici un exemple de montage de test avec un BoArduino.
Code et Tutoriel
Comme l'article est détaillé est plus long qu'un simple billet, nous vous proposons de passer sur notre Tutoriel pour lire la suite.
Où acheter?
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:
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.
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.
Cette suggestion met en oeuvre:
Bonne lecture
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.
Tutoriel Arduino + I2C + Raspberry publié sur le wiki de MCHobby |
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 :-)
Montage
Voici un exemple de montage de test avec un BoArduino.
Tutoriel Arduino + I2C + Raspberry publié sur le wiki de MCHobby |
Tutoriel Arduino + I2C + Raspberry publié sur le wiki de MCHobby |
Comme l'article est détaillé est plus long qu'un simple billet, nous vous proposons de passer sur notre Tutoriel pour lire la suite.
Où acheter?
- Raspberry Pi
- Pi-Cobbler
- Arduino Uno
- Convertisseur Logique 4 Canaux - I2C compatible
- fils de prototypage
- Boarduino
(à la place de l'UNO)
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 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 Arduino et d'un Motor shield (dont exemple ci-dessous).Issu du Tutoriel MCHobby sur le Motor Shield |
- Moteur continu (DC)
- Servo Moteur
- Moteur pas-à-pas
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.
Cette suggestion met en oeuvre:
- Raspberry Pi
- un boarduino (un 100% compatible Arduino réalisé par AdaFruit)
- Convertisseur Logique 4 Canaux - Bi-Directionnel - I2C compatible
- un Pi-Cobbler en guise de connecteur Raspberry-Pi
Bonne lecture
Écrire un commentaire