<aside> 📌 Table of content

</aside>

1 - Présentation

Ceci est le support de la formation-projet Arduino. Il a pour but d’introduire au développement embarqué ainsi qu'à l’utilisation de microcontrôleurs via le langage Arduino. Ainsi, ce cours fait office de formation préparatoire pour vous permettre de vous lancer plus facilement dans des projets ICE.

Ce "cours" n’a pas pour vocation d’enseigner la programmation de A à Z ni de manière avancée. C’est une introduction visant à préparer les étudiants afin de rendre leurs projets plus intéressants en leur fournissant une fondation sur laquelle ils pourront construire avec la pratique.

Former directement n'étant pas la philosophie de ICE (préférant le développement d’une certaine autonomie et débrouillardise), nous n’entrerons pas en profondeur dans les concepts abordés.

<aside> 💡 NB

L’électronique et la programmation embarquée étant déjà des sujets très complets, nous vous suggérons de vous tourner vers One Panthéon si vous souhaitez approfondir vos compétences en programmation (et plus encore) ou vers l’innovation lab si vous souhaitez vous former à l’outillage électronique (dans ce dernier cas, vous pouvez aussi demander aux étudiants encadrants sur Discord).

</aside>

2 - Introduction

L'Arduino est une plateforme de prototypage électronique open-source qui utilise du matériel et du logiciel flexibles. Basée sur un microcontrôleur, une sorte de petit ordinateur intégré sur un unique circuit intégré qui est centré autour d'un processeur avec une mémoire et des périphériques d'entrée/sortie programmables, l’Arduino permet à des individus de toutes compétences techniques de développer des projets électroniques interactifs.

Les possibilités avec Arduino sont vastes et polyvalentes. Depuis la commande de LED, la lecture de données à partir de capteurs, la commande de moteurs, jusqu’à l'établissement de communications entre plusieurs entités électroniques, elle est utilisée dans une variété de projets interactifs impliquant des robots, des capteurs, des systèmes d'alarme, des domotiques, et bien plus encore. Sa facilité d'utilisation et sa communauté mondiale active en font un choix de prédilection pour les professionnels et les amateurs.

L'Arduino, en tant que microcontrôleur, et le Raspberry Pi, en tant que micro-ordinateur, servent des finalités divergentes bien qu'étant tous deux des outils précieux dans le domaine du développement électronique et informatique. Alors que l'Arduino excelle dans le contrôle de périphériques externes et offre une efficacité énergétique optimale, il est idéalement adapté aux projets nécessitant une interaction matérielle constante avec une consommation d'énergie minime. En contraste, le Raspberry Pi, avec sa capacité à exécuter un système d'exploitation et des applications logicielles plus complexes, est préférable pour des projets nécessitant une puissance de traitement substantielle, malgré une consommation énergétique plus importante. La sélection entre ces deux options dépendra donc intrinsèquement des besoins spécifiques de votre projet.

A - Principes incontournables de l’arduino

a - L’Arduino, c’est quoi ?

Une carte programmable Arduino sera ainsi composé de cette puce placé sur une carte PCB accompagné de multiples composants additionnels pour son fonctionnement, sa programmation ou son interfaçage avec des capteurs.

Ainsi, ce que l’on appel programmation embarqué fait référence au développement de logiciels pour systèmes embarqués, tels que microcontrôleurs ou processeurs dédiés, optimisant souvent la performance et l'efficacité énergétique. Ainsi, au lieu de développer un logiciel qui fonctionnera sur des puces capable de lancer de nombreuses architecture grâce à des logiciels intermédiaires (OS) nous allons directement développer des programmes qui seront exécuté par ces dites puces.

Arduino nano avec une puce ATM MEGA 328 P

Arduino nano avec une puce ATM MEGA 328 P

Dos de la carte Arduino nano

Dos de la carte Arduino nano

<aside> 💡 Note : Arduino est un projet open-source, ce qui signifie qu’il n’est pas fondé sur des technologies propriétaires. Ainsi, vous pourrez très facilement trouver des cartes à un prix plus abordable que les Arduino “officiels”. Attention tout de même à la qualité de vos achats, vous pourrez peut-être préférer des cartes de meilleures facture et plus robustes pour certains projet. E.g. ci-dessus une carte Elegoo Nano.

</aside>

Ainsi plusieurs notions peuvent être utile pour commencer. Nous allons utiliser des microcontrôleur qui disposent de pates en métal qu’on appel communément une (un ?) pin. À chaque pin est associé une fonction, pour chaque puce on peut trouver sur internet la fonction de chaque pin, ainsi que souvent sur les PCB directement.

Pinout officiel de l’Arduino nano

Pinout officiel de l’Arduino nano

Pinout directement inscrit sur les cartes

Pinout directement inscrit sur les cartes

Vous en apprendrez plus sur l’utilisation de chaque pins dans les prochains chapitres, voire, durant vos projets (les pins comme AREF ayant des utilisation très contextuelles).

<aside> 💡 Il est important de noter que les pin RX et TX sont des pins permettant la programmation se la carte sans utiliser le port usb, il vaut mieux ne pas les utiliser ou le faire en connaissance de cause.

</aside>