Électronique
- Arduino vs Raspberry Pi
- L'électronique avec Arduino
- L'électronique avec Raspberry Pi
- Composants et circuits
- Les microcontrôleurs
- Moteur pas à pas (stepper motor)
Arduino vs Raspberry Pi
Quelles sont les différences entre Arduino et Raspberry Pi ?
Bien qu'elles se ressemblent et qu'elles peuvent être utilisées pour faire des choses similaires, ces deux cartes sont très différentes !
Arduino et Raspberry Pi sont des choix assez populaires dans les projets IoT (Internet of Things - l'internet des objets) ou de domotique. Les deux cartes vont pouvoir interagir avec leur environnement par le biais de capteurs (température, lumière, son…) et d'actionneurs (LED, moteurs, hauts-parleurs…).
Le Raspberry Pi est un petit ordinateur monocarte pleinement fonctionnel. Il est doté d'un processeur, d'une mémoire et d'un système d'exploitation dédié (Linux). Ainsi il possède ses propres ports USB, une sortie audio et une sortie HDMI. Comme un ordinateur normal il peut exécuter plusieurs programmes en même temps et se connecter en WiFi et Bluetooth.
À l'inverse, l'Arduino est une carte dotée d'un microcontrôleur. Un microcontrôleur n'est pas aussi puissant qu'un ordinateur et il ne peut exécuter qu'un seul programme à la fois. L'avantage c'est qu'ils sont très rapides à configurer et permettent de contrôler facilement des capteurs et des actionneurs. En version de base et sans blindage ou shields (cartes additionnelles), un Arduino n'a aucune connectivité WiFi ou Bluetooth.
Il est à noter que chacune de ces cartes existent en plusieurs tailles et les plus petites versions ne prennent que très peu de place.
Dans quel cas va-t-on utiliser l'un plutôt que l'autre ? Cela va principalement dépendre de la puissance de calcul nécessaire. Pour un projet multimédia par exemple on utilisera un Raspberry Pi, tandis que pour un projet électronique avec des capteurs et des moteurs on optera plutôt pour un Arduino.
L'électronique avec Arduino
Arduino est une carte programmable créée par une équipe italienne. Elle facilite grandement l'utilisation des microcontrôleurs grâce à son interface de développement simple et disponible pour Windows, Linux et Mac. Elle permet d'ajouter une intelligence à vos montages électroniques et d'automatiser n'importe quelle tâche.
Où trouver de l'aide
Il existe une importante communauté autour de l'Arduino et vous trouverez beaucoup de réponses à vos problèmes avec une recherche Google.
Quelques liens :
-
le lien correspondant en français : Arduino (traduction partielle),
-
le tutoriel et le forum dédié sur le site de la communauté francophone Open Classrooms (anciennement SiteDuZéro),
-
le fil dédié sur Instructables,
-
le subreddit dédié sur reddit
Tutoriels
-
Bases de l'électronique numérique (En cours)
-
Fil résistif chauffant (En cours)
-
Capteurs Grove (pour Arduino) En cours
L'électronique avec Raspberry Pi
Les Raspberry Pi sont des petits ordinateurs fonctionnant avec une distribution Linux et qui possèdent en plus des entrées et sorties programmables qui peuvent être utilisées dans des projets d'électronique. On peut également y brancher des périphériques externes en USB, une caméra, des périphériques I2C, etc…
On peut les utiliser pour faire un serveur, du traitement d'image, de l'IA… les possibilités sont nombreuses.
Les Raspberry Pi peuvent se programmer dans de nombreux langages de programmation mais le plus populaire reste Python.
Composants et circuits
Ici vous trouverez des exemples de circuits pour des applications bien spécifiques.
Documentation complète avec exemples de circuits et de code Arduino pour nos kits de capteurs : kit-capteurs.pdf
-
Contrôleur de boost MAX1522 : pour convertir une alimentation de 3.7V en 12V par exemple.
-
Amplificateur opérationnel : toutes les configurations possibles avec calculs des gains et des réponses en fréquence
-
Microcontrôleur SAMD11C : comment uploader du code avec l'outil Atmel ICE
- Capteur de champ magnétique TLE493D : pour mesurer l'intensité et la position dans l'espace du champ magnétique
Librairies pour KiCAD et Eagle
-
Base de données d'empreintes de composants (nécessite la création d'un compte gratuit)
Les microcontrôleurs
Choisir un microcontrôleur
Nous avons plusieurs références de microcontrôleurs (MCU) au lab et pour mieux choisir voici un tableau comparatif de leurs caractéristiques :
Attention, tous les microcontrôleurs ne sont pas parfaitement pris en charge par l'environnement Arduino et les bibliothèques associées.
Si votre projet nécessite une connectivité WiFi ou Bluetooth il faudra opter pour un ESP32. Ils ne sont pas représentés dans le tableau car ils sont hors catégorie. Ils sont plus puissants et ont beaucoup plus de mémoire. On peut d'ailleurs les utiliser avec Micro Python.
Les microcontrôleurs sont une denrée rare et précieuse actuellement, donc choisir forcément celui qui est le plus puissant ou avec le plus d'E/S est une mauvaise idée. Il faut réfléchir en amont aux caractéristiques du projet et prendre celui qui est le plus adapté.
Les ATTiny44, 45 et les ATMega328P sont des technologies un peu datées (8 bits) mais suffisamment puissantes pour de nombreux projets. Ils ont l'avantage d'être parfaitement pris en charge par l'environnement Arduino. Le protocole utilisé pour uploader du code est toutefois moins pratique à mettre en oeuvre.
Pour un novice, les MCU les plus polyvalents et les plus faciles à utiliser sont les ATTiny412, 1614 et 3216. Le protocole UPDI pour charger le code est facile à mettre en oeuvre, ils sont relativement puissants et sont compatibles avec la grande majorité des bibliothèques Arduino.
Les SAMD sont plus puissants (32 bits) et ont l'avantage de gérer la connexion USB en natif, mais leur prise en charge par Arduino n'est pas encore optimale.
Les STM32 sont des microcontrôleurs très puissants mais plus complexes à utiliser, car ils nécessitent d'utiliser l'environnement de développement de STM et ses bibliothèques. On a plus de possibilités mais au prix d'une plus grande complexité. Réservé aux utilisateurs aguerris.
Exemples de projets et documentation
- ATTiny44A (datasheet)
- ATTiny45 (datasheet)
- ATMega328P (datasheet)
- ATTiny412 (datasheet)
- ATTiny1614 (datasheet)
- ATTiny3216 (datasheet)
- AVR128DB32 (datasheet)
- ATSAMD11C14U (datasheet)
- ATSAMD11D14U (datasheet)
- ATSAMD20E17A (datasheet)
- ATSAMD21E15 (datasheet)
- ESP32
- STM32F051K6T6 (datasheet / reference manual)
- STM32F030F4P6 (datasheet / reference manual)
- STM32F042F4P6 (datasheet / reference manual)
Démarrer avec les ATTiny (1-series)
Quelques ressources pour démarrer avec les ATTiny412, 1614 ou 3216 :
- Le programmeur / déboggueur
Moteur pas à pas (stepper motor)
Les moteurs pas à pas
...
Pour contrôler un moteur pas à pas bipolaire, le plus simple est d'utiliser un driver tel que le A4988. Ce type de driver offre une interface très simple pour connecter à Arduino.
Les meilleurs drivers et celui que nous allons utiliser ici est le SilentStepStick avec la puce TMC2209 :
https://learn.watterott.com/fr/silentstepstick/
https://www.airspayce.com/mikem/arduino/AccelStepper/index.html