Ordinateurs

Qu’est-ce qu’un microcontrôleur ? — Programmation d’une carte Arduino

Eugene est un ingénieur qualifié en contrôle/instrumentation Bsc (Eng) et a travaillé comme développeur d’électronique et de logiciels pour les systèmes SCADA.

Carte de développement Arduino typique

Carte de développement Arduino typique

Qu’est-ce qu’un microcontrôleur ?

Vous en avez probablement beaucoup chez vous, même si vous ne le savez pas ! Un microcontrôleur est un type d’ordinateur sous la forme d’un circuit intégré (IC) ou « puce » qui est souvent utilisé dans les appareils de votre maison qui intègrent des circuits électroniques. Vous avez probablement entendu parler des microprocesseurs, par exemple Intel Pentium, et ceux-ci sont utilisés comme CPU (Central Processing Unit), en fait le « cerveau », dans un ordinateur. Les microprocesseurs sont des circuits intégrés qui traitent les instructions d’un programme informatique, effectuent des calculs et envoient des données vers et depuis la mémoire et le disque. Un microcontrôleur est un type spécifique de microprocesseur. Il diffère d’un microprocesseur normal des manières suivantes :

  • Il a des capacités « E/S » (entrée/sortie) intégrées. Ainsi, il peut lire et écrire des valeurs/états numériques et analogiques, et se connecter directement au « monde réel ». Un microcontrôleur, contrairement à un microprocesseur, peut se connecter directement aux commutateurs, boutons, écrans LCD, LED, relais et ports série
  • Les microcontrôleurs sont généralement utilisés pour des tâches spécifiques de faible à moyenne complexité dans les équipements. Cela contraste avec les microprocesseurs puissants et performants utilisés dans les PC qui gèrent une variété d’applications logicielles.
  • Les microcontrôleurs sont souvent utilisés dans les appareils portables qui fonctionnent sur piles, par exemple les appareils photo numériques. Ils sont donc souvent de faible puissance avec une faible consommation de courant (contrairement au microprocesseur dissipateur de chaleur et refroidi par ventilateur dans un ordinateur de bureau)
  • Par rapport au microprocesseur d’un PC, la RAM d’un microcontrôleur peut généralement aller de 64 k à 1 k
  • Le programme d’un microcontrôleur est généralement stocké dans une EPROM ou une EEPROM. Il s’agit d’un type de mémoire non volatile (le programme ne disparaît pas lorsque l’appareil est éteint) qui peut être continuellement effacée et réécrite.
Circuits intégrés DIL (Dual In Line) ou

Circuits intégrés (CI) DIL (Dual In Line) ou « puces »

Utilisations du microcontrôleur

De nombreux appareils utilisent des microcontrôleurs. Quelques exemples:

  • Les alarmes antivol intègrent une puce de microcontrôleur qui est connectée au clavier, à l’affichage et aux entrées de capteur/contact. Les microcontrôleurs sont généralement des puces autonomes avec l’ALU (unité logique arithmétique), la mémoire et les E/S contenues dans un seul circuit intégré
  • Les machines à laver automatiques plus anciennes utilisaient un commutateur à came pour séquencer les opérations pendant un cycle de lavage. C’était un interrupteur assez complexe et était monté à l’extrémité de l’arbre du bouton que vous utilisiez pour sélectionner un programme de lavage. Les machines plus récentes utilisent un microcontrôleur pour séquencer les opérations. D’autres appareils tels que les fours à micro-ondes et les lave-vaisselle peuvent incorporer un microcontrôleur
  • Les téléviseurs utilisent des microcontrôleurs pour gérer la sélection des chaînes et lire l’état des boutons du téléviseur
  • Les microcontrôleurs sont utilisés pour le contrôle du moteur et l’affichage d’informations sur le tableau de bord (fascia) des véhicules
  • Les appareils photo numériques utilisent des microcontrôleurs pour gérer les entrées des boutons, le contrôle de la capture et de l’affichage des images.
A lire aussi :  10 applications comme Showbox : regardez les derniers films et émissions de télévision

Exemples de microcontrôleurs

Quelques microcontrôleurs couramment utilisés :

  • Zilog Z8
  • Intel 8051
  • Texax Instruments TIMSP430
  • Atmel AVR

Qu’est-ce qu’un Arduino ?

Arduino est une plate-forme de programmation matérielle/logicielle open source basée sur des microcontrôleurs Atmel. Open source signifie que les schémas de circuit et le code source du logiciel utilisé dans les conceptions sont librement disponibles et peuvent être modifiés par des passionnés. Les cartes de développement Arduino avec leurs entrées et sorties analogiques et numériques sont idéales pour les artistes, les concepteurs et les amateurs d’électronique qui souhaitent assembler un système sans avoir à en savoir beaucoup sur la conception numérique. Les signaux d’entrée et de sortie sont mis à disposition sur la carte Arduino à l’aide de rangées de connecteurs femelles dans lesquels des fils individuels ou des connecteurs simples en ligne (SIL) peuvent être branchés.

Une carte de développement Arduino aura au moins :

  • 9 broches numériques qui peuvent être des canaux d’entrée/sortie. Certaines d’entre elles peuvent être configurées en tant que sorties PWM (Pulse Width Modulation). Un signal PWM est une onde carrée dont la largeur d’impulsion peut varier. PWM est utilisé pour le contrôle de la vitesse et de la position des moteurs et des servos dans les applications de robotique et de contrôle à distance
  • 4 canaux d’entrée analogiques.
  • Au moins un port série qui peut également être utilisé pour télécharger du code sur l’Arduino

Certaines cartes ont également une gamme de canaux de sortie analogiques.

Il existe une grande flexibilité en ce qui concerne la fonction des broches, dont certaines peuvent être configurées en analogique ou en numérique. Les broches numériques peuvent être configurées en entrée ou en sortie.

Les cartes Arduino détectent l’environnement qui les entoure lorsqu’elles reçoivent des entrées de capteurs connectés à ces entrées analogiques et numériques. Ils peuvent également contrôler des actionneurs tels que des moteurs, des sirènes d’alarme et des vannes électriques, ou allumer des LED, des lampes ou d’autres dispositifs d’indication visuelle. La capacité d’entraînement de sortie des sorties est limitée, donc généralement des transistors, des FETS ou des relais doivent être utilisés entre la broche de sortie Arduino et l’appareil piloté. Une sortie est cependant capable de piloter directement des LED.

Les connecteurs à bord sont disposés de manière standard de sorte que Boucliers peut être connecté. Les Shields sont des modules avec une fonction dédiée (par exemple, sortie infrarouge, Bluetooth, GSM, WIFI, Ethernet, commande marche/arrêt du moteur à l’aide de relas, commande de moteur pas à pas). Selon le type de blindage, il peut être possible d’empiler plusieurs blindages les uns sur les autres et de les adresser individuellement via un bus série I2C.

Faites défiler pour continuer

Étant donné que le code et le matériel Arduino sont open source, des développeurs tiers ont produit des clones des cartes Arduino officielles.

Les cartes Arduino ont de 32 à 512k de mémoire flash qui peuvent être utilisées pour le stockage de programme.

Leonardo - l'une des gammes de cartes Arduino.  Les broches numériques peuvent être configurées en entrée ou en sortie.  Plusieurs broches numériques peuvent servir d'entrées analogiques en plus des entrées analogiques standard

A lire aussi :  Fonctions en Python - TurboFuture

Leonardo – l’une des gammes de cartes Arduino. Les broches numériques peuvent être configurées en entrée ou en sortie. Plusieurs broches numériques peuvent servir d’entrées analogiques en plus des entrées analogiques standard

À quoi peut servir une carte Arduino ?

Une carte Arduino peut être utilisée pour faire beaucoup de choses sympas. Vous pouvez facilement ajouter des écrans LCD, un clavier ou des modules d’affichage à sept segments et créer rapidement un système simple. De nombreuses informations et bibliothèques sont disponibles sur le site Arduino.cc. Vous pouvez concevoir votre propre module électronique ou utiliser des boucliers pour construire un système modulaire. Les Arduinos, en raison de leur polyvalence, peuvent être utilisés pour des tâches simples et banales ou des applications complexes. Un exemple d’application simple serait la possibilité d’allumer un appareil lorsque la température dans une pièce tombe en dessous d’un certain niveau. Il ne serait pas trop difficile d’étendre cette application et d’ajouter un module GSM qui pourrait envoyer un message texte lorsque cela se produit. Les cartes Arduino peuvent être utilisées pour mettre en œuvre un système domotique complexe qui pourrait être contrôlé via un téléphone intelligent. Ils sont également utilisés par les passionnés comme dispositif de traitement et de contrôle dans les robots, et des kits sont disponibles pour construire un robot à roues simple.

Projets Micontroller — Programmation d’une carte Arduino

Les cartes Arduino sont programmées en C et des fonctions de haut niveau sont fournies en standard pour la lecture et l’écriture sur les broches analogiques et numériques et les ports série. Le code source est connu sous le nom de « esquisser ». Des bibliothèques standard sont également disponibles pour des tâches telles que la sortie vers un panneau LCD ou la communication avec un module GSM. De nombreuses autres bibliothèques et codes ont été fournis par des passionnés et sont disponibles sur le site Web d’Arduino.

Un éditeur/compilateur de code de base est disponible sur le site Web d’Arduino et peut être utilisé pour développer des programmes. Cependant, l’éditeur est fondamentalement similaire à Wordpad et ne fournit aucune surbrillance codée par couleur ni aucune fonctionnalité de débogage sophistiquée. Atmel Studio, une version réduite et personnalisée de Visual Studio est une alternative qui fournit ces fonctionnalités.

Les programmes sont téléchargés sur une carte Arduino à l’aide d’un port série ou d’une connexion USB. Un chargeur de démarrage charge ensuite le programme en mémoire lors de la réinitialisation afin qu’un programmeur externe ne soit pas nécessaire.

Esquisse Arduino simple

// A simple sketch written in C which can be run on an
// Arduino board

 

// Simple program to read a character from the serial port, echo
// it back to the remote terminal and flash an LED

void setup()

{
Serial.begin(9600) // Open the port at 9600 baud
pinMode(13,OUTPUT) // Set pin 13 as an output
}

void loop() 
{
char character;

if(Serial.available()) // if there is data in the receive buffer.....
{
character = Serial.read(); // read the character
Serial.write(character); // echo the character to the serial port

// Flash an LED
digitalWrite(13,HIGH); // turn on the LED connected to pin 13
delay(50) // delay 50 mS
digitalWrite(13,LOW); // turn off the LED connected to pin 13

}

Quel Arduino acheter ?

Pour les enfants et les débutants absolus, je recommande le Grove Beginner Kit de l’activateur de matériel IoT Seeed Studio – C’est une carte compatible Arduino Uno tout-en-un avec 10 capteurs et 12 projets. Fait intéressant, la carte est fournie avec des sections de dérivation pour chaque transducteur qui peuvent être détachées si vous le souhaitez. Des câbles de démarrage sont fournis pour connecter la carte contrôleur principale à chaque section de transducteur :

A lire aussi :  Test de l'Asus Zenbook Pro 14 Duo Oled : un ordinateur portable à double écran

transducteurs comprennent :

Capteurs

  • Capteur de lumière
  • Son Capteur
  • Capteur de température et d’humidité
  • Capteur de pression atmosphérique
  • Accélérateur 3 axes.

Actionneurs

  • LED
  • avertisseur sonore
  • Écran OLED
  • bouton
  • Potentiomètre rotatif
Kit pour débutant Grove de Seeed Studio.

Kit pour débutant Grove de Seeed Studio.

Kit débutant Grove de Seed Studio

Kit débutant Grove de Seed Studio

Autres cartes Arduino disponibles

Une carte plus petite qui peut être installée dans des espaces restreints, par exemple des appareils portatifs, est la Seeeduino XIAO. Il dispose de 11 broches numériques/analogiques, 10 broches PWM, 1 sortie DAC, 1 interface I2C, 1 interface UART et 1 interface SPI.
Une carte avec connectivité WIFI pour les projets Internet des objets est l’Arduino MKR1000

Seeeduino XIAO

Seeeduino XIAO

La première carte Arduino que j’ai achetée était l’Arduino Leonardo. Il dispose d’un nombre modeste d’E/S, dont 20 ports d’E/S numériques, sept canaux PWM, douze canaux d’entrée analogiques 12 bits et cinq canaux de sortie analogiques. Les en-têtes sont soudés sur la carte, mais vous pourrez peut-être trouver une version sans eux si vous avez besoin de plus d’espace.

qu'est-ce-qu'un-microcontrôleur-de-programmation-arduino

En plus d’une carte Arduino, vous avez besoin d’un moyen d’afficher des informations telles que les valeurs mesurées d’un capteur, du texte saisi ou des messages d’état. Deux modules utiles sont :

Affichage 16 caractères, 2 lignes pour Arduino

Affichage 16 caractères, 2 lignes pour Arduino

Affichage à 4 caractères et 7 segments

Affichage à 4 caractères et 7 segments

Application de terminal Comduino

Comduino Terminal, un exemple d’application Windows que j’ai écrit pour une carte Leonardo Arduino. Un utilisateur peut communiquer avec la carte via une liaison USB ou série, lui indiquant de régler les entrées numériques sur haut ou bas, de régler les sorties analogiques et de lire à partir des entrées numériques et analogiques.

Comduino Terminal, une application pour lire et écrire des broches d'E/S Arduino - disponible sur mon blog (consultez mon profil pour le lien)

Comduino Terminal, une application pour lire et écrire des broches d’E/S Arduino – disponible sur mon blog (consultez mon profil pour le lien)

Cet article est exact et fidèle au meilleur de la connaissance de l’auteur. Le contenu est uniquement à des fins d’information ou de divertissement et ne remplace pas un conseil personnel ou un conseil professionnel en matière commerciale, financière, juridique ou technique.

questions et réponses

Question: Comment puis-je en savoir plus sur la programmation d’une carte Arduino ?

Réponse: Un bon endroit pour commencer est sur la page « Getting Started » du site Web d’Arduino :

https://www.arduino.cc/en/Guide/HomePage

© 2014 Eugène Brennan

zafrinazara le 16 août 2019 :

Merci de m’avoir donné une merveilleuse explication sur les microcontrôleurs Arduino. Nous organisons également des cours sur les systèmes embarqués à Chennai pour tous les groupes d’étudiants en génie utilisant des capteurs et des microcontrôleurs.

PDXBuys de l’Oregon le 1er décembre 2014 :

Si j’ai de la chance, le Père Noël m’en apportera un pour Noël.

Bouton retour en haut de la page