Apprendre l’électronique avec Arduino

Personnellement, je trouve la plateforme Aduino, l’un des meilleurs moyens pour permettre aux étudiants et aux initiés de faire une introduction aux systèmes embarqués. Pour faire simple, les systèmes embarqués sont des systèmes qui nécessitent des connaissances en électronique pour construire la plateforme physique, et en informatique pour programmer la plateforme. Ainsi, pour pouvoir faire du système embarqué, il faut au minimum avoir des connaissances dans les 2 disciplines.

Cours approfondi sur Arduino

J’ai déjà à plusieurs reprises écrit sur Arduino. Mais cette fois-ci, je suis tombé sur une vidéo très approfondie sur le sujet. Parce que, Premièrement, la vidéo ne nécessite de l’étudiant aucune connaissance préalable en informatique et en électronique. Et Deuxièmement, ce qui est le plus intéressant, c’est que l’étudiant n’est pas obligé d’avoir une carte Arduino matérielle pour pouvoir suivre ce cours. Car on retrouve sur la vidéo une référence à un simulateur qui arrive à faire la simulation d’Arduino et de l’électronique avec en plus une superbe interface bien agréable. C’est le simulateur online tinkercad.

La vidéo en question est celle de la chaîne YouTube du site web éducatif www.freecodecamp.org, et comme vu précédemment dans d’autres blogs, c’est un excellent site plein de nombreux cours et tutoriels en informatique.

Court tutoriel sur Arduino

Ce qui suit est une excellente petite vidéo de 15 minutes sur Arduino, elle nous vient de la chaîne Youtube Afrotechmods, une excellente chaîne sur l’électronique avec énormément de projets, d’explication et de démonstration. La vidéo est un court tutoriel sur Arduino, ça couvre l’essentiel de son utilisation avec de petits exemples.

Cout tutoriel sur Arduino

ESP8266, du Wi-Fi facile pour projets amateurs

À ma grande surprise je tombe sur ce petit bijou en vente dans les magasins de vente en électronique, je connaissais déjà pour un bon moment l’existence ce petit microcontrôleur chinois avec wi-fi intégré appelé ESP8266, mais je ne le pensais pas disponible en Algérie, surtout avec un prix imbattable pour étudiant de 1000 DA (ou un peu plus), en comparaison l’Arduino est au moins 2 fois plus chère, en plus pour avoir le wi-fi sur Arduino il faut rajouter un autre module appelé sheild d’autant plus cher. L’image en bas montre le petit gabarit de cette carte que je tiens dans la main.

Moi personnellement, comme beaucoup d’autres d’ailleurs, je suis un fervent amateur d’Arduino, j’en ai déjà parlé sur plusieurs articles (liens des articles), tout simplement pour son aisance d’utilisation et son prix très abordable, ça lui permet d’être un excellent moyen pour étudiants et hobbystes de faire d’impressionnants projets en électronique, et surtout il représente une porte d’entrée pour le domaine réputé fermé et difficile des Systèmes Embarqués. Mais je dois avouer que le ESP8266 se tient comme un sérieux concurrent, il arrive à battre haut la main Arduino sur bien des domaines, comme le prix, le gabarie, le wi-fi, la puissance processeur (80 Mhz contre 16 Mhz), la RAM (144 Ko contre 2 Ko), mémoire flash (512Ko contre 32Ko). La différence de puissance est nettement remarquable, d’ailleurs il existe sur internet plusieurs projets avec dans lesquels il est utilisé dans le multimédia, entre autres le son, l’image, la vidéo, la vidéoludique, qui sont réputés très gourmand en ressources et ainsi difficilement utilisable sur Arduino, L’image en bas est celle du même ESP8266 sur un breadboard.

ESP8266 sur breadboard

L’histoire du ESP8266 est très particulière dans le sens où à la base c’est le fruit d’une société chinoise appelé Espressif Systems, offrant du wi-fi à très bas prix, fermé et destiné principalement à la domotique (IoT : Internet of Things en Anglais) et qui n’était pas du tout destiné à un publique d’amateur et d’hobbystes. Malgré cela quelques hackers ont vu dedans un potentiel en analysant la carte. Effectivement le ESP8266 possède un microcontrôleur puissant avec du wi-fi à moindre prix. Les hackeurs ont réussi à l’ouvrir, de le documenter et de permettre son utilisation facile par tous, il est actuellement même possible d’utiliser le logiciel très agréable d’Arduino avec la carte.

Arduino cheat sheet

Le terme cheat sheet désigne littéralement en Français feuille de copiage, quelque chose que les profs méprisent particulièrement, mais dans ce cas-ci c’est pour la bonne cause. Les cheat sheets ou encore appelés quick refererece ou encore memento, sont généralement des images de grande taille contenant l’essentiel et juste nécessaire formules, concepts ou règles pour un domaine scientifique ou une technologie donnée. Par exemple pour les 2 cheat sheets d’Arduino en bas on trouve les principales formes d’instruction de programmation d’Arduino (quasi identique au C++), les bibliothèques, les caractéristiques matérielles…etc., c’est juste pour titre référentiel ou pour s’en rappeler mais pas pour apprendre ou maîtriser cette technologie. Les cheat sheets y on a pour tous les domaines, mathématiques, physique, chimie, électronique, langages de programmation…etc. Cliquez sur l’image pour agrandir, et utilisez le zoom pour le PDF

Arduino cheat sheet
Arduino-cheatsheet

La carte Arduino

Réellement Arduino est un terme qui peut désigner plusieurs choses en même temps, ça peut désigner le hardware qui est une carte sous forme de Kit pour microcontrôleur, comme sur l’image en bas à gauche. Ça peut aussi désigner le software, c’est un IDE pour développer ce qu’on appel des Sketchs, ce sont des programmes à exécuter sur le microcontrôleur de la carte Arduino, c’est représenté sur la photo en bas à droite. Le terme peut aussi designer le projet open source qui englobe le hardware et le software et une communauté réputée très active avec énormément de projets utilisant Arduino (pour plus d’information vous pouvez voir le site web officiel d’Arduino, ou sa définition sur Wikipédia).

La carte Arduino à gauche et l’IDE Arduino à droite

Autrement dit l’Arduino est un microcontrôleur 8 bits, initialement c’était le Atmega 328 de marque AVR, il est programmable avec l’IDE Arduino utilisant un langage spécifique sous forme d’un sous-ensemble du langage C/C++, Actuellement il existe des Arduino à base de microcontrôleur à plus grande puissance comme ceux d’ARM ou d’Intel. Mais pour bien comprendre Arduino il faut tout d’abord définir c’est quoi un microcontrôleur ? Le microcontrôleur est un processeur avec une RAM, une ROM/Mémoire Flash et beaucoup de connecteurs d’entrées/sorties, le tout est encapsulé sur une même puce (comme la puce sur la carte Arduino sur l’image en haut). Le microcontrôleur en soit est de très faible puissance, le processeur est de fréquence de 10 à 100 Mhz, la RAM est de quelques kilo-octets, de même pour la ROM et la mémoire flash. Le microcontrôleur et contrairement à un processeur normal, est destiné pour les systèmes embarqués, il est utilisé à l’intérieur des appareils électroniques pour les contrôler et potentiellement les programmer, on peut les trouver par exemple dans les machine à laver, les robots de cuisine, les imprimantes, les scanners, les voitures, les machines à distributions automatiques…etc, ce sont tous des appareils qui utilisent les microcontrôleurs pour contrôler leur fonctionnement interne, vous pouvez apercevoir quelques exemples sur l’image en bas.

Quelques exemples d’appareils électroniques utilisant les microcontrôleurs

Les microcontrôleurs ont toujours existé, pour plus de 20 ans au moins. À l’université par exemple, au département de l’électronique ont (avant la démocratisation d’Arduino) toujours été connu pour l’utilisation du microcontrôleur PIC, néanmoins ce dernier reste extrêmement difficile à programmer, les étudiants en général ne pouvaient l’utiliser qu’après 5 années d’études. L’Arduino au contraire est extrêmement accessible, pratiquement un étudiant de première année avec quelques connaissances en programmation en C/C++ comme les tests, les boucles et les fonctions, peut facilement programmer sur Arduino. La plate forme Arduino facilite grandement l’utilisation des microcontrôleurs pour les projets concernant des domaines comme les systèmes embarqués, le hardware, le hack, la robotique et l’électronique, vous pouvez voir quelques projets en Arduino sur les images en bas.

Exemples de projets à base d’Arduino

Il existe plusieurs variantes de l’Arduino actuellement disponibles, mais 3 d’entre elles sont plus connus parmi tous les autres, elles sont représentées sur l’image en bas de gauche à droite : l’Arduino uno, c’est l’Arduino standard, l’Arduino nano, c’est l’Arduino minimaliste, et l’Arduino mega, la version étoffée et complète d’Arduino. Tous les trois sont disponibles en Algérie avec des prix abordables pour l’étudiant, allant de 1200 DA à 4500 DA dans les vendeurs locaux d’électronique ou sur Ouedkniss. Plusieurs autres accessoires sont aussi disponibles pour réaliser différents types de projets, vous pouvez voir par exemple sur l’image tout en bas des accessoires comme, des capteurs de distance, des afficheurs, des LEDs, des moteurs, une télécommande, transmission sans fils…etc. L’Arduino reste à mon avis la meilleure porte pour l’étudiant lui permettant d’entrer dans le domaine des systèmes embarqués même pour les étudiants en première année.

De gauche à droite : Arduino uno, Arduino nano, Arduino mega
Accessoires utilisables avec Arduino