
Projet robotique
(Raspberry et arduino)
Conception d'un robot motorisé
avec caméra
infra-rouge.


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.


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 |
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

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.

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