Raspberry-pi

Projet robotique

(Raspberry et arduino)

Conception d'un robot motorisé
avec caméra infra-rouge.

Arduino uno
Radio télécommande

La télecommande

Un émetteur récepteur connecté au microcontroleur arduino permet d'envoyer les positions des joysticks et l'état de boutons. Un programme convertit les valeurs analogiques et numériques puis structure les données avant de les transmettres par ondes radio.

Lorsque la télécommande est mise sous tension, 3 LED clignotent, indiquant que le script arduino s'est chargé normalement.
Puis le led bleu s'allume à chaque émission d'onde radio.

Interface de télécommande web

Son rôle est identique à la solution décrite dans le paragraphe précédent.
Le mode de communication exploite les technologies Web. Déployé sur le raspberry, l'interface web communique avec un serveur qui interagit avec le microcontrôleur arduino.
Les commandes peuvent être executer de façon distante à travers le reseau internet ou localement en utilisant le point d'accès installée sur le système d'exploitation de notre raspberry.

Interface de commande web
Robot

Le robot

Une page web permet de visualiser le flux vidéo et de traiter les requêtes des utilisateurs à l'aide de l'interface de commande ci-dessus.
Le microcontroleur Arduino gère la partie éléctronique, actionne les moteurs, et récupère les données renvoyées par les capteurs.

Différences entre Raspberry et Arduino

 

Arduino Uno

Raspberry Pi 4 Modèle B

Prix

env. 23 €

env. 39 € à 83,95 €

Taille

7.6 x 1.9 x 6.4 cm

8.5 cm ×  5.6 cm × 1.6  cm

Mémoire vive

0.002 MB

1GB, 2GB, ou 4GB de mémoire SDRAM LPDDR4

Vitesse d’horloge

16 MHz

ARM A72 quadricœur cadencé à 1,5 GHz

Réseau embarqué

Aucun

1 WIFI 802.11b / g / n / ac de 2,4 GHz et 5,0 GHz
Gigabit Ethernet port RJ45
Bluetooth 5.0 BLE

Capacité multitâche

Non

Oui

Tension d’entrée

7 à 12 V

5V DC via USB-C, Compatible PoE nécessitant PoE HAT (non fourni), 5V DC via GPIO

Mémoire flash

32 KB

Carte SD

USB

1 entrée uniquement

4 ports USB dont 2 (2.0), 2 (3.0)

Système d’exploitation

Non

Distributions Lunix "Raspberry Pi OS" (32 bits, 64 bits)

Environnement de développement intégré (IDE)

Arduino

Scratch, IDLE, tout dispositif avec Linux

Le raspberry

Raspberry

Ce microcontrôleur est en faite un micro ordinateur, plus rapide et plus complexe à utiliser que l'arduino.
Il permet en outre d'exécuter plusieurs distributions relativement différentes.

Linux
  • raspbian (Wheezy, Jessie, Stretch).
  • Ubuntu Mate.
Windows
  • Windows 10.
  • IoT Core pour la programmation et la domotique.
  • Windows 10 on ARM, version pour les microcontrôleurs equipés d’un processeur ARM.
Média Center
  • OSMC : Open Source Media Center.
  • OpenELEC et LibreELEC.
Les jeux
  • OSMC : Open Source Media Center.
  • OpenELEC et LibreELEC.

Il dispose jusqu’à quatre ports USB et peut se connecter à Internet en wifi ou en filaire.
Dans le cadre de ce projet, il permet d'héberger un serveur (Apache, PHP, MySQL, node Js) et servir de HostPot, gérer une caméra ou webCam.
En résumé, il est idéal pour envoyer des instructions à un arduino. Il accepte de nombreux langages de programmations C++, python, java... .

L'arduino

Certe moins puissant, cette carte programmable simple sur laquelle on branche des composants électroniques, possède un grand nombre d'entrées/sorties (plus que le raspberry) ce qui permet de brancher beaucoup de composants (capteurs, leds et autres... ).

Les entrées analogiques
broches étiquetées A suivie d’un nombre (6 pour le Uno, 16 pour le Méga).
Les sorties PWM
permet de faire varier la vitesse d'un moteur électrique à courant continu ou l'intensité d'une led.
La ligne d'émission série
broches étiquetées TX et RX employée pour communiquer avec l’ordinateur hôte, Mac ou Windows.
Le bus I2C
bus de communication pour dialoguer avec un autre Arduino ou tout circuits périphériques disposant de ce bus.
Les broches d'alimentation
bus de communication pour dialoguer avec un autre Arduino ou tout circuits périphériques disposant de ce bus.
  • IOREF: indiquer aux shields la tension de fonctionnement de l’Arduino
  • RESET: redémarrer l'arduino
  • 3.3V: pour alimenter un circuit externe en 3.3V
  • 5.5V: pour alimenter un circuit externe en 5.5V
  • GND: La masse
  • Vin: L’entrée du régulateur embarqué sur l’Arduino.

Il est donc principalement utilisé pour réaliser des interfaces électroniques avec des capteurs, des actionneurs, circuits électroniques et autres... Une fois le programme téléversé, l'Arduino l’exécute en boucle (loop) de manière autonome. Le langage utilisé est le C.

Arduino

En conclusion il fonctionne très bien ensemble, et sont donc complémentaires.