ArduPi-I2C

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche


MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible.
SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.

Introduction

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.

Ardu-Pi (Low-Res).jpg

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 notre tutoriel I2C pour Arduino.

Tlogo-I2C.jpg

Le 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

Avec l'arrivée du Raspberry Pi 3, Raspberry Pi-2 et Raspberry Pi-B PLUS, Raspberry Pi Zero W vient également un GPIO étendu de 40 broches rétro-compatible avec le GPIO des premières générations du Raspberry-Pi qui, lui, n'avait que 26 broches.

GPIO-Compatibility-00v3.jpg

La seule vraie différence réside dans la longueur du GPIO du modèle Pi-3, Pi-2 ou B+ qui contient des broches en plus... et le Pi-Cobbler PLUS qui à également grandi pour accueillir les broches en plus.

Avec l'apparition du Pi Zero, nous pouvons reparler de la correspondance des GPIO.

Pour notre plus grand bonheur, le GPIO du Pi Zero et du Pi 3 (ou Pi 2) sont identiques :) chouette.

RASP-PIZERO-Correspondance-GPIO v2.jpg
Cliquez pour agrandir

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 Arduino et d'un Motor shield (dont exemple ci-dessous).

Motor-Shield-InAction.jpg

  1. Moteur continu (DC)
  2. Servo Moteur
  3. 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.

ArduPi-I2C-MobilePlateforme.jpg

Cette suggestion met en oeuvre:

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


Ecrit par Meurisse D. pour mchobby.be

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.