Le microcontrôleur
Un microcontrôleur, appelé aussi contrôleur microprogrammé ou contrôleur à microprocesseur, est un circuit intégré dont sa structure interne est complexe et qui peut être installé facilement sur une petite carte électronique (appelé aussi mainboard pour sa terminologie anglaise).
Ce circuit intégré est généralement composé de plusieurs sous-éléments tels que :
- le processeur pour le calcul logique et numérique,
- la mémoire morte et la mémoire volatile,
- des entrées et sorties numériques, et parfois même analogiques,
- etc.
Intégré sur une carte, ce composant, le microcontrôleur, joue un rôle important dans la partie commande des systèmes numériques qui peut aller jusqu'au rôle d'un micro ou mini ordinateur, capable d'exécuter des tâches du simple au complexe.
De quoi est composé ?
Un microcontrôleur est un composant électronique et non pas un ordinateur. Si nous le comparons à nos ordinateurs que nous utilisons tous les jours, nous pouvons conclure qu'il représente l'ordinateur le plus petit possible.Pour mieux comprendre cela, regardons de quoi est composé un microcontrôleur :

Comme nous pouvons le constater, ce composant électronique intègre plusieurs éléments que nous retrouvons dans notre ordinateur tel que :
- Le processeur, soit l'unité de traitement, qui représente notre processeur intel, celeron ou autre.
- La ROM; appelée aussi la Read Only Memory en anglais, est la mémoire morte de notre microcontrôleur. Ce qui représente notre disque dur, notre SSD ou toute autre unité de stockage dans notre ordinateur.
- La RAM; appelée aussi la Random Access Memory en anglais, est la mémoire volatile de notre microcontrôleur. Elle représente la mémoire instantanée de notre microcontrôleur qui nous permet d'exécuter notre programme.
- Les inputs/outputs, appelées aussi I/O, ce qu'on appelle aussi les entrées/sorties représentent nos ports ou nos périphériques de notre ordinateur.
Ainsi, un microcontrôleur est un tout petit ordinateur de taille. Ces principales sous-parties sont les suivantes :
- CPU: l'unité centrale de traitement, également connue sous le nom de CPU. Abréviation de la terminologie anglaise: Central Processing Unit (photo ci-dessous par Vishnu Mohanan sur Unsplash), cette unité est en charge du traitement des instructions numériques, logiques et du calcul mathématique. Ce processeur interprète en général les instructions du programme stockées en mémoire vive et dans sa mémoire interne (si elle existe). La CPU assure également le contrôle et la gestion des tâches logiques entre les différentes parties du microcontrôleur, garantissant une communication efficace entre les entrées et les sorties. Le CPU est composé de plusieurs circuits intégrés, voire de milliers, gravés sur une tranche de silicium. Les transistors sont les éléments de base qui constituent ce composant complexe.

- La mémoire: est l'élément essentiel pour qu'un microcontrôleur puisse fonctionner. Il s'agit d'un composant essentiel qui permet de stocker les données et les instructions nécessaires à son bon fonctionnement. On peut citer :
- la mémoire vive: appelée aussi RAM pour son abréviation Read Access Memory
- la mémoire morte: appelée aussi ROM pour son abréviation Read Only Memory
- la mémoire flash: utilisée pour stocker des données et programmes qui peuvent être modifiés et conservés même sans alimentation. Cette mémoire n'est implémentée que dans certaines références de microcontrôleurs.
- Les convertisseurs analogique/numérique et numérique/analogique: ces convertisseurs permettent de transposer un signal analogique reçu sur un des ports du microcontrôleur en un signal numérique et un signal numérique en une composante analogique.
- L'horloge interne: ce composant est le coeur battant du microcontrôleur puisqu'il permet de cadenser son rythme et synchroniser toutes les opérations interne à ce composant.
- E/S: tout simplement les entrées-sorties qui permettent de connecter le dit composant à des interfaces ou des composants, comme les capteurs, les actionneurs, les effecteurs, etc., pour communiquer et véhiculer l'information analogique ou numérique.
- Les modules de communication: ces modules ne sont pas disponibles sur tous les microcontrôleurs et permettent la communication avec d'autres appareils par connexion filaire ou sans fil (comme le Bluetooth ou le Wi-Fi).
Exemples de cartes ?
En électronique moderne, nous retrouvons une multitude de cartes équipées d'un microcontrôleur, telles que les cartes Arduino.
Par exemple, la carte Arduino Uno est équipée d'un microcontrôleur de la référence ATmega328P (ci-dessous sa photo), il est même le composant principal. Lorsque vous téléversez un programme compilé sous Arduino IDE, ce firmware (le code compilé au format machine), est enregistré dans la mémoire Flash de ce microcontrôleur, puis exécuté depuis ce circuit.
Nous retrouvons également les cartes Raspberry Pi Pico, qui sont dotées d'un microcontrôleur RP2040. Ce dernier offre des performances intéressantes au regard de la la taille de la carte, de son faible consommation énergétique et de sa bonne puissance de calcul.
De même, nous retrouvons aussi les cartes ESP32 qui reposent sur un microcontrôleur ESP32, intégrant des fonctionnalités avancées telles que la connectivité Wi-Fi et Bluetooth, ce qui les rend particulièrement adaptées aux applications liées aux domaine de objets connectés (en anglais IoT pour sa terminologie Internet of Things).
Ainsi, ces différentes solutions, cartes programmables, constituent des solutions polyvalentes pour le développement de systèmes embarqués grâce à la puissance proposée par ces différentes références de microcontrôleur.