III.3.4.1. Définition : Arduino
Uno est une carte microcontrôleur basée sur l'ATmega328. Elle est
dotée de 14 broches en Entrées /Sortie numérique (dont 6
peuvent être utilisées comme sorties PWM-Modulation de largeur
d'impulsion), 6 entrées analogiques, un oscillateur à quartz
16MHZ, une connexion USB, un jack d'alimentation, un support ICSP, un bouton
`reset'.
Elle contient tout le nécessaire pour fonctionner; il
suffit de la connecter à un ordinateur par le câble USB et de
l'alimenter à l'aide d'un adaptateur USB ou des piles.
La carte Arduino Uno peut être alimentée par l'USB
ou par une alimentation externe. La source est sélectionnée
automatiquement.
La tension d'alimentation extérieure (hors USB) peut
être délivrée par un adaptateur AC-DC ou des piles.
L'adaptateur peut être connecté grâce à un `jack' de
2.1 mm positif au centre.
45
Chapitre III: Réalisation
Pratique
Robot Mobile Avec Suivi Visuel De Ligne
Le raccordement vers un bloc de piles peut utiliser les bornes
Gnd et Vin du connecteur d'alimentation (POWER).
La carte peut fonctionner à l'aide d'une tension
extérieure de 7 à 12 volts.
Les broches (pins) d'alimentation sont les suivantes :
· VIN: C'est la tension lorsque la carte est
raccordée à une source extérieure (par opposition à
la tension de 5 volts venant de l'USB ou d'un régulateur de tension).
· 5V : La tension d'alimentation régulée :
elle peut venir de VIN via le régulateur sur la carte, ou être
fournie par l'USB ou un régulateur extérieur. Le courant maximum
est de 50 mA.
· GND : Masse.
La carte Uno diffère des précédentes cartes
en ce qu'elle n'utilise pas le ship convertisseur USB-Série, FTDI, mais
le microcontrôleur ATmega8U2-sur la carte - programmée comme
convertisseur USB-Série.
«Uno « signifie « Un« en italien et ce nom
annonce la sortie de l'Arduino 1.0.
Tableau.III.4 : Les principales
caractéristiques de l'Arduino Uno.
46
Robot Mobile Avec Suivi Visuel De Ligne
Chapitre III: Réalisation
Pratique
III.3.4.2 Entrées / Sorties:
Chacune des 14 broches digitales de la Uno peut être
utilisée en entrée ou sortie, en utilisant les fonctions
pinMode(), digitalWrite(), et digitalRead().
Elles fonctionnent en logique 0V-5V ; chacune pouvant fournir
(source) ou recevoir un courant maximal de 40 mA et dispose si besoin d'une
résistance interne de 'pull-up'. En outre, certaines broches ont des
fonctions spécialisées:
· Serial: 0 (RX) and 1 (TX). Permet de recevoir (RX) et de
transmettre (TX) des données séries TTL. Ces broches sont
raccordées à leurs homologues sur le chip ATmega8U2
spécialisé dans la conversion USB-to-TTL série.
· Interruptions externes 2 et 3. Ces broches peuvent
être configurées pour déclencher une interruption sur une
valeur LOW, sur un front montant ou descendant, ou encore sur le changement de
valeur.
· PWM: 3, 5, 6, 9, 10, and 11. Output 10-bits de PWM avec
la fonction analogWrite().
· SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Ces broches
fournissent le support de communication SPI en utilisant la 'library'
spécialisée.
· LED: 13. Il y a une LED connectée à la
broche digitale 13.
La carte Uno a 6 broches d'entrées analogiques, A0
à A5, chacune avec 10 bits de résolution.
Par défaut les mesures sont effectuées de la masse
à 5V (valeur de référence), mais il est possible de
spécifier la valeur de référence en utilisant la broche
VREF et la fonction analog Reference().
En outre, certaines broches ont des fonctions
spécialisées :
· I2C: 4 (SDA) and 5 (SCL). Permettent le support du bus
I2C (TWI) en utilisant la 'library' Wire.
Il y a encore quelques autres broches sur la carte:
· AREF. Tension de référence
déjà mentionnée.
· Reset. Permet au niveau bas (LOW°) de faire un reset
du contrôleur. Elle est utilisée typiquement pour monter un bouton
'reset' aux cartes additionnelles ('shields') bloquant celui de la carte
principale.
47
Robot Mobile Avec Suivi Visuel De Ligne
Chapitre III: Réalisation
Pratique
III.3.4.3 Communication: La carte
Arduino Uno a de nombreuses facilités de communications avec un
ordinateur, une autre Arduino, ou un autre microcontrôleur. L'ATmega328
permet la communication série UART TTL, grâce aux broches
digitales 0 (RX) et 1 (TX).
Un contrôleur ATmega8U2 sur la carte, canalise cette
communication série vers l'USB et apparaît comme un port de
communication série virtuel pour le logiciel sur l'ordinateur. Le
firmware de l'8U2 utilise le protocole USB, et aucun driver externe n'est
nécessaire.
Logiciel de programmation de l'arduino uno :
· Le logiciel de l'Arduino inclut un moniteur série
permettant l'envoi et la réception de simples données textuelles.
Les leds RX et TX sur la carte clignotent pour indiquer la transmission de
données via le chip USB-to-serial vers l'ordinateur.
· Une bibliothèque 'SoftwareSerial' permet la
transmission de données série à partir de chacune des
broches digitales du Uno.
· L'ATmega328 supporte le bus I2C (TWI) et le protocole
synchrone maître-esclave SPI. Le logiciel de l'Arduino inclut un ensemble
de fonctions pour mettre en oeuvre ces fonctions.
Pour la réalisation de notre programme on a
utilisé le langage Python, et la bibliothèque open CV.
? Logiciel de programmation de l'arduino uno. Arduino IDE 1.0
pour Windows. III.4. PROGRAMMATION: