Jeux vidéo sur le thème des Systèmes embarqués

Les ingénieurs en systèmes embarqués sont les ingénieurs responsables de la conception et la réalisation de la quasi-totalité des appareils électroniques modernes, comme par exemple, les appareils d’électroménager, incluant la machine à laver, l’aspirateur, le réfrigérateur, le micro-onde…etc. Ou encore le consommable électronique, comme les smartphones, les caméscopes, les téléviseurs, les consoles de jeux…etc. Ou bien encore l’électronique enfouie à l’intérieur des machines, comme l’électronique dans les voitures, les véhicules de transport, dans des machines industrielles…etc. Ou l’électronique des équipements de bureau, comme les imprimantes, les scanners, fax, photocopieuses…etc. Il y a beaucoup d’exemples, c’est quasiment tous les appareils comportant de l’électronique, mis à part les PCs, les ordinateurs et les machines informatiques. Essayer de comprendre la définition des systèmes embarqués peut mener à confusion, puisque dans les exemples ci-dessus c’est l’électronicien qui doit normalement réaliser la partie électronique de la machine, mais l’électronique des appareils moderne a beaucoup changé en comparaison avec la pure électronique d’il y a 20 ans, dans les systèmes embarqués modernes, l’électronique repose sur un processeur ou un microcontrôleur que l’ingénieur non seulement doit le concevoir électroniquement mais aussi de pouvoir le programmer, en ajoutant à cela des connaissances en programmation et en informatique pour ce dernier. La vidéo en bas est une petite présentation du jeu.

Présentation de Shenzhen I/O .

Le jeu en question s’appelle Shenzhen I/O, en référence à la ville en Chine de Shenzhen, et comme décrit dans Wikipédia, c’est la métropole pilier du high-tech et des semi-conducteurs de la Chine, c’est l’équivalente et la concurrente de la Silicon valley au États Unis. Le jeu fait la simulation d’un ingénieur dans un future proche qui immigre vers Shenzhen, pour travailler dans la conception d’appareils électroniques. Le plus intéressant dans le jeu c’est que le joueur aura comme principale tâche la résolution de puzzles sous format de construction de circuits électroniques, et de faire leurs programmations en langage assembleur, il a aussi la possibilité d’utiliser les datasheets et l’oscilloscope. Les circuits sont simplistes et la programmation en assembleur est rudimentaire, mais les concepts utilisés sont réels directement inspirés de systèmes authentiques, et ce qui m’a encore le plus surpris c’est que j’ai trouvé des travaux de recherche scientifique sur ce jeu, c’est considéré comme une nouvelle forme d’apprentissage des technologies modernes en utilisant les jeux vidéo. Le lien du Shenzhen I/O est par ici pour plus d’informations. Il y a aussi en bas la vidéo d’un joueur qui a réussi à crée le jeu de Tetris sur le simulateur de Shenzhen I/O.

Tetris sur Shenzhen I/O

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.

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