Comme promis dans l’un de mes articles sur le Raspberry Pi (RPI, GPIO &Programmation), on entame un nouveau chapitre, avec l’initiation au microcontrôleur.
Souvenez-vous je vous avais expliqué que le Raspberry Pi n’acceptait que la logique Numérique sur son port GPIO, et que nous allions voir un microcontrôleur magique, qui nous permettrait d’utiliser des éléments analogiques et même PWM. Et bien bonne nouvelle, nous y voilà !
La carte Arduino Uno
L’Arduino Uno est une carte électronique (de la taille d’une carte de crédit) elle est équipée d’un microcontrôleur ATmega328-P-PU, et de 18 connecteurs femelles GPIO ; c’est sûr on est bien avancé !
Chacun conviendra que tous nos appareils actuels sont bourrés d’électronique ; mais qu’entend-on au juste par-là ? Sont-ils plein de résistances, de condensateurs, de régulateurs ? Un peu de tout cela, c’est vrai. Mais en disant cela on fait plutôt référence aux microcontrôleurs et processeurs qui se multiplient au sein de nos appareils électriques.
En fait il faut comprendre que chaque appareil dispose d’un ou plusieurs microcontrôleurs intégrés, (parfois même des processeurs, par exemple votre chère mobile smartphone, d’où le nom ‘smart’->’intelligent’). Ce microcontrôleur est une petite puce avec des ‘pattes’ qui ressortent, il peut être de toute taille, et vous en avez tous vu au moins une fois : En cours de technologie, en changeant la pile d’un appareil, ou lorsque trop énervé vous avez cassé votre télécommande, en vous rendant compte stupéfait qu’elle ne marchait pas mieux ! Ce que vous avez vu dans tous les cas, c’est un circuit imprimé doté de multiples composants et notamment une ou plusieurs puces. Grande nouvelle il s’agissait du microcontrôleur de votre appareil. Ce microcontrôleur est finalement le cerveau, ou plutôt micro-cerveau, de votre appareil. C’est lui qui émet les ordres et traite les informations pour que votre appareil fonctionne comme convenu. Vous comprenez mieux maintenant pourquoi avec le cerveau à l’air votre télécommande marche moins bien
Grâce à sa programmation : Les pattes qui sortent de votre microcontrôleur ne sont pas uniquement faites pour pouvoir le fixer, en réalité il s’agit des connectiques physiques vous permettant d’interagir avec le microcontrôleur, des ports GPIO. Cela vous rappelle quelque chose ? cf.Initiation au GPIO/Programmation
Grâce à la programmation : La programmation étant le moyen de communication entre l’Homme et la machine, cette dernière va nous permettre d’écrire dans un langage compréhensible par la machine, afin de la programmer à faire ce que l’on souhaite.
Les connectiques de vos microcontrôleurs sont donc en quelques sortes des GPIO. Mais pas toujours, la plupart sont conçus pour des usages spécifiques, vous trouverez toujours une documentation liée à la référence de votre microcontrôleur.
Par exemple nous allons voir le microcontrôleur ATmega328 :
AT = Le composant est créé par ATMEL
Mega = Le composant fait partie de la série des, megaAVR.
328 = Le composant possède 32 Ko de mémoire flash, et un CPU 8 bits.
Toutefois vous trouverez souvent des notifications du style, ‘SN74HC244N’ :
SN: fabrication Texas instrument (ou par exemple, MM: fabrication Fairchild).
74 : famille compatible.
HC: signifie CMOS haute vitesse (HCT: version tension, ou, S, SA, F…).
244 : 1octal à 3 états tampons.
N : code d’emballage.
Maintenant que vous savez ce qu’est un microcontrôleur, vous allez vite saisir l’intérêt merveilleux d’acquérir un Arduino.
Admettons que vous vouliez mettre en pratique, ce qui est le but quand-même ! Vous vous lanceriez en voulant coder un programme sur un microcontrôleur, et pour cela vous achèteriez un microcontrôleur qui vous semblera adéquat, et vous tomberiez vite face à 100 à 300 pages de documentation… Ou alors vous en récupéreriez un au hasard sur un vieux circuit! Arrêtez immédiatement vous risquez de vous perdre en chemin… La carte Arduino est faite pour vous.
Elle intègre un microcontrôleur ATmega 328-P-PU, qui est monté sur une carte électronique avec deux rangées de pins femelles GPIO. Ainsi vous pouvez directement brancher des câbles (ou jumper/wire, gpio 2.54mm) sur la carte Arduino pour communiquer avec votre microcontrôleur ! Vous trouverez en fin d’article le schéma de numérotation des pins.
Ce n’est pas tout, la programmation vous est largement facilitée par la présence d’un port USB-B sur la carte Arduino. Ainsi, à l’aide d’un simple câble USB –B (câble reliant imprimante à pc, ou câble USB entre écran et pc) vous pourrez brancher votre carte Arduino sur votre PC et donc vous l’aurez compris programmer le microcontrôleur ATmega328.
De plus, les microcontrôleurs ATmega ont l’avantage d’être très répandus et les exemples, les projets, les montages se trouvent en abondance sur le Web.
On ne s’arrête pas là, et c’est le plus génial, le microcontrôleur ATmega est monté sur un socket ‘28 pin DIP IC Socket Adaptor’. Le microcontrôleur est amovible, ce qui vous permet par exemple d’acheter une seule carte Arduino pour programmer autant de ATmega328 que vous le souhaiterez, nous verrons cela en détail. Cela vous assure aussi de pouvoir remplacer l’ATmega en cas de défaillance…
Pour en savoir plus sur la carte Arduino, Cliquez ici .
La carte électronique ARDUINO-Uno R3
En Bref, il s’agit d’une petite merveille de technologie dont la limite d’usages se pose là ou votre imagination s’arrêtera ;), et si vous avez beaucoup imagination, il existe la version Arduino Mega !
-Programmé en C.
-Il est doté de 19 GPIO
6 entrées/sorties analogiques
13 entrées/sorties numériques
Vous pouvez acheter la carte Arduino Uno (contenant le ATmega 328), pour environ 20 euros chez Snootlab, c’est d’ailleurs là que j’ai acheté mon premier Arduino Uno R3 . (non compris le bloc alimentation et le cordon USB) livré sans boitier, dans une petite boite carton sympa. Le bloc d’alimentation coûte environ 7 euros, et n’est pas indispensable*.
*Note : Le bloc d’alimentation n’est pas forcément nécessaire, puisque l’alimentation peut se faire par le câble USB. Toutefois si vous envisagez de brancher des moteur ou servomoteurs, un écran ou autres composants gourmands en énergie à votre carte Arduino, envisagez d’acheter l’alimentation.
La documentation officielle est disponible sur, arduino.cc
Pin Mapping ATmega 328P
La composition d’un microcontrôleur ATmega328