Présentation Arduino
Arduino, c’est plusieurs choses: une carte
programmable, un logiciel pour programmer la carte et
une communauté.
Commençons par la carte programmable.
La carte Arduino a été développée par Massimo Banzi,
David Cuartielles, Tom Igoe, Gianluca Martino, David
Mellis et Nicholas Zambetti, à l’Interaction Design
Institute d’Ivrea, en Italie. Cette carte, peu chère et
dotée d’un microcontrôleur, peut être programmée sur
un ordinateur. Comme cette carte possède de
nombreux connecteurs, il est possible de brancher
toutes sortes de choses, comme des LEDs, des petits
moteurs électriques, des relais, des servomoteurs…
mais aussi de très nombreux capteurs: humidité,
lumière, température, bouton-poussoir… et de pouvoir
ainsi réaliser de nombreux projets électroniques ou
interactifs et autonomes. Comme les plans de l’Arduino
sont open source, il existe de nombreux clones ou
déclinaisons de l’Arduino. Ainsi, la plupart des
imprimantes 3D grand public vendues aujourd’hui
fonctionnent sur une base Ardiuno.
La plate-forme Arduino comporte :
du matériel : une collection de cartes à microcontrôleurs,
Arduino UNO
Arduino Mega
Arduino Micro
Une carte Arduino seule n’est pas d’une grande utilité : pour piloter des
moteurs, communiquer sur un réseau, afficher des informations sur un
écran, … il faut utiliser des périphériques. Il en existe de très nombreux
types, réalisant plusieurs fonctions de la chaîne d’information et de la
chaîne de puissance :
Table of Contents
Fonction ACQUÉRIR
Fonction COMMUNIQUER
Fonction DISTRIBUER
Suite de la présentation
Fonction ACQUÉRIR
Claviers, codeurs, potentiomètres, … permettent à l’utilisateur d’interagir
avec le microcontrôleur.
Fonction COMMUNIQUER
Écrans, buzzers, voyants… et bien d’autres encore pour communiquer
avec utilisateur.
Cartes Wifi, Bluetooth, ZigBee, radio, … pour communiquer sans fil avec
d’autres périphériques.
Fonction DISTRIBUER
Pilotes de moteurs, transistors, relais, …
BreadBoard externe
Les breadboards externes peuvent être de
toute taille, mais il faut des fils pour les
connecter à l’Arduino …
Version 840 contacts :
Les potentiomètres
PAR CFAURY · PUBLIÉ 6 DÉCEMBRE 2015 · MIS À JOUR 7 FÉVRIER 2021
Un potentiomètre est un composant à trois pôles.
Deux pôles entre lesquels la résistance est constante.
Un pôle, lie au curseur, permettant d’obtenir une résistance
variable avec l’un des deux premiers.
Les potentiomètres ont principalement deux fonctions :
obtenir une résistance variable,
réaliser un diviseur de tension.
Il en existe de différentes formes :
Table of Contents
Câblage
o Sur la platine
o Pont Diviseur de tension
Programmation
Câblage
Sur la platine
Certains potentiomètres peuvent être fichés sur
une breadboard. Attention à bien enfoncer les pattes, sans les
tordre !
Schéma électrique interne :
Pont Diviseur de tension
Il est souvent utilisé de manière à obtenir sur le connecteur
d’un port analogique une tension variable entre 0V et 5V.
Pour cela, il faut utiliser un potentiomètre linéaire de résistance
suffisamment grande pour limiter le courant (10 kΩ environ).
Programmation
Il suffit d’utiliser l’instruction
analogRead()
pour convertir la tension disponible sur le port analogique (entre
0V et 5V) en un nombre codé sur 10 bits (de 0 à 1023) :
void setup() {
void loop() {
int val = analogRead(A0); \\ Un entier pour contenir une valeur variant de 0 à 1023
delay(1);
}
Deux modes de fonctionnement sont alors possibles.
En mode "Connecté" : il faut au préalable mettre un firmware dans la carte afin de
permettre son dialogue avec mBlock. Ainsi vous avez accès à l'ensemble des
entrées / sorties de la carte Arduino™ . Vous pourrez afficher les valeurs
mesurées dans la fenêtre graphique de mBlock.
En mode "Déconnecté" "Automate" : votre programmation graphique est traduite
automatiquement en code Arduino™. Il restera à le transférer ou le téléverser
dans le microcontrôleur de la carte pour qu'il puisse s'exécuter en totale
autonomie. Pas besoin d'avoir de connaissance en code pour faire un
programme Arduino™ autonome. Si vous savez programmer avec Scratch, vous
saurez programmer un Arduino™
Méthode
1. Brancher la carte arduino sur un port USB
2. Choix du matériel
3. Sélectionner le port série sur lequel la carte est connectée et mettre à jour le
microprogramme (à faire la première fois)
4. Choisir le mode arduino
SimulationExercice
On veut faire clignoter une led indéfiniment
1. Câblage de la LED
2. Programmation
La carte Arduino
Section « Puissance »
La masse (GND)
C’est la référence électrique, le potentiel 0V. Toutes les tensions sont
données par rapport à la masse.
Symbole électrique :
Les tensions régulées
Deux connecteurs sont à des potentiels régulés :
5V et 3.3V
Les ports numériques (0 à 13)
Ils sont au nombre de 14 (Arduino UNO), et
peuvent être configurés comme
des entrées, ou bien comme des sorties.
En mode « sortie »
Configuration :
pinMode(8, OUTPUT);
Utilisation en mode tout ou rien : 0V ou 5V
ou en mode analogique (par génération d’un
signal PWM).
En mode « entrée »
Configuration :
pinMode(8, INPUT);
Selon la tension appliquée à leur
connecteur, ils commutent entre un état
HAUT et un état BAS .
Pour plus de détail, consulter Les Ports
numériques.
Les ports analogiques (A0 à A5)
Ils sont au nombre de 6 (Arduino UNO) et sont tous des ports d’entrée.
Ils convertissent la valeur de la tension appliquée à leur connecteur (0V à
5V) en un nombre (entre 0 et 1023, soit 10 bits) .
Pour plus de détail, consulter Les Ports Analogiques.
Les câbles de connexion
Ils sont colorés, de tailles différentes et possèdent des connecteurs mâles
ou femelle :
On les utilise pour réaliser les circuits électriques entre les ports de
l’Arduino et les divers composants, le plus souvent à l’aide
d’une breadboard (voir plus bas) :
Convention de couleur
Avant de mettre sous tension l’Arduino, il faudra
toujours vérifier les câblages !
Pour que ce soit plus simple, et surtout pour éviter les erreurs liées à
l’alimentation électrique (qui pourraient avoir des conséquences
fatales pour certains composants !!), on utilisera la convention suivante :
Les câbles au potentiel de référence (GND)
sont de couleur noir.
Les câbles au potentiel régulé (5V ou 3,3V)
sont de couleur rouge.
Les autres câbles sont de n’importe quelle
autre couleur (mais ni rouge, ni noir !)
La platine d’expérimentation
Toutes les platines d’expérimentation (breadboard en Anglais) ont pour
point commun deux rangées de lignes de 5 connecteurs reliés
électriquement entre eux →
Certaines versions possèdent deux paires de rangées de connecteurs pour
mettre à disposition la masse (GND) et l’alimentation (5V ou 3,3V) sur
toute la longueur de la platine :
L’écartement entre ces connecteurs et celui entre les deux rangées sont
normalisés pour permettre la connexion des composants électroniques
standards.
Exemple : différentes manières de câbler une LED sur une
breadboard
Les LED
PAR CFAURY · PUBLIÉ 30 JUILLET 2015 · MIS À JOUR 28 NOVEMBRE 2020
Une diode électroluminescente ou DEL (en
anglais : Light-Emitting Diode, LED), est un composant opto-
électronique capable d’émettre de la lumière lorsqu’il est
parcouru par un courant électrique.
Il en existe de plusieurs couleurs :
Table of Contents
Câblage
Programmation
Câblage
Une LED est une diode : elle ne laisse
passer le courant électrique que dans un seul sens, le
sens passant (l’inverse étant le sens bloquant) : pour que le
courant puisse passer,
la cathode (« -« , patte courte, coté méplat) doit être connecté
du coté de la masse (GND).
l’anode (« + », patte longue) doit être connecté du coté du
port numérique.
Pour que la courant qui la traverse ne soit pas trop important (ce
qui la détruirait !), il faut toujours la brancher en série avec une
résistance électrique (typiquement de 200Ω à 1kΩ).
La LED peut-être pilotée par un port numérique en mode « sortie »
: OUTPUT.
Si son intensité lumineuse doit varier, il faut choisir un port
numérique capable des générer des signaux PWM.
Exemple de montage, sur le port 13 :
Programmation
Pour faire commuter (allumer/éteindre) une LED, il suffit de
modifier l’état du port numérique à laquelle elle est connectée,
grâce à la fonction digitalWrite() :
void setup() {
// Réglage du port numérique associé à la LED : mode sortie = OUTPUT
pinMode(8, OUTPUT);
}
void loop() {
digitalWrite(8, HIGH); // Allumage de la LED : état haut = HIGH
delay(1000);
digitalWrite(8, LOW); // Extinction de la LED : état bas = LOW
delay(1000);
}
Remarque : HIGH et LOW sont des mots réservés
signifiant haut et bas, les deux états que peuvent prendre
les ports numériques en mode sortie (OUTPUT).