Beruflich Dokumente
Kultur Dokumente
Microcontrôleur NG
La carte Arduino UNO
UP Électronique
Département Génie Électrique et Électronique (GEE)
Édition 2017
Microcontrôleur NG
PROGRAMME DU COURS
I
UP Électronique Édition 2017
Microcontrôleur NG
I- GENERALITES
Un ordinateur est une machine programmable de traitement de l'information. Il est capable d’acquérir de
l’information, de la stocker, de la traiter puis de la restituer sous une autre forme.
Cette machine programmable est constituée de matériels et de logiciels. Le matériel (hardware) correspond
à l’aspect physique de l’ordinateur. Quant au logiciel (software), c’est un ensemble d’instructions, appelé
programme, contenu dans les différentes mémoires de l’ordinateur. Ces instructions définissent les actions
effectuées par le matériel.
L'architecture d’un ordinateur met en évidence l’organisation des différents éléments matériels de
l’ordinateur.
II- STRUCTURE D’UN ORDINATEUR
La structure d’un ordinateur comporte quatre (04) organes essentiels que sont :
L’unité d’entrée : elle permet l’acquisition des informations.
L’unité de sortie : elle permet la diffusion des informations.
La mémoire centrale : elle permet le stockage des informations.
Le processeur : il est chargé d’interpréter les instructions, de séquencer le déroulement des actions, de
traiter les opérations et d’exécuter les actions. Il est composé principalement d’une unité de traitement
et d’une unité de commande.
En plus des unités citées plus haut les ordinateurs actuels possèdent d’autres unités additionnelles (wifi,
Bluetooth, USB, etc.).
La structure d’un ordinateur se présente comme suit :
MÉMOIRE CENTRALE
1- Lignes de communication
Les différentes composantes d’un ordinateur communiquent entre elles grâce à un ensemble de liaisons
physiques (câbles, pistes de circuits imprimés, etc.) appelé bus. On distingue deux principaux bus à savoir
le bus système qui permet au processeur de communiquer avec la mémoire centrale et le bus d'extension
qui permet aux diverses composantes de la carte-mère de l’ordinateur de communiquer entre elles.
En réalité chaque bus est constitué de plusieurs lignes physiques distinctes, classées en trois (03) sous-
ensembles fonctionnels :
Le bus de données : Le bus de données véhicule les instructions émises par le processeur et celles qui lui
sont adressées.
Le bus d’adresses : Le bus d'adresses transporte les adresses mémoire auxquelles le processeur souhaite
accéder pour lire ou écrire une donnée.
Le bus de contrôle ou de commande : Le bus de contrôle transporte les ordres tout comme les signaux
de réponse.
1
UP Électronique Édition 2017
Microcontrôleur NG
2- Mémoire centrale
La mémoire centrale est assimilable à une « armoire » avec plusieurs millions d’étagères identiques, chacune
d’elles porte une adresse. Chaque étagère peut contenir un octet (8bits). On distingue principalement deux
(02) catégories de mémoire :
2-1- La mémoire morte (ROM = Read Only Memory)
Originalement, la mémoire morte désignait une mémoire non volatile 1 dont le contenu était fixé lors de sa
fabrication et accessible uniquement en lecture. Avec l'évolution des technologies, la définition d’une
mémoire morte a été élargie pour inclure le faite que son contenu peut être effacé et reprogrammé par un
utilisateur expérimenté. Les mémoires mortes sont classées selon la possibilité de les programmer et de les
effacer :
La mémoire ROM (Read Only Memory) :
Mémoire permanente, non volatile et accessible uniquement en lecture.
La mémoire PROM (Programmable Read Only Memory) :
Mémoire programmable une seule fois par l’utilisateur. Une fois programmée elle devient une ROM au
sens littéral du terme.
La mémoire EPROM (Erasable Programmable Read Only Memory) :
Mémoire effaçable par rayons ultraviolets et programmable plusieurs fois par l’utilisateur.
La mémoire EEPROM (Electrically Erasable Programmable Read Only Memory) :
Mémoire effaçable électriquement et programmable plusieurs fois par l’utilisateur.
La mémoire Flash :
Mémoire programmable et accessible en lecture / écriture.
2-2- La mémoire vive (RAM = Random Access Memory)
C’est une mémoire temporaire et volatile. Elle est chargée de stocker les programmes et données en cours
d’exécution. La RAM est accessible en lecture et en écriture mais l’information est perdue à la mise hors
tension.
On distingue généralement deux grandes catégories de mémoires vives :
Les mémoires dynamiques (DRAM, Dynamic Random Access Module)
Elles sont principalement utilisées pour la mémoire centrale de l'ordinateur. La DRAM exige que les données
soient actualisées périodiquement afin de conserver les données.
Les mémoires statiques (SRAM, Static Random Access Module)
Les SRAM sont notamment utilisées pour les mémoires cache du processeur.
III- PRINCIPE DE FONCTIONNEMENT D’UN ORDINATEUR
L’ordinateur est une machine programmable dont la partie physique est essentiellement constituée d’un
processeur, d’une mémoire et des unités d’entrées/sorties. Ces éléments communiquent entre eux via des
bus d’adresses, de données et de commandes. La partie physique de l’ordinateur, en l’occurrence le
processeur, est chargé de l’exécution des différentes actions définies sous forme d’une suite d’instructions
dans un programme stocké dans la mémoire de l’ordinateur.
Lors de l’exécution d’un programme, celui-ci est chargé par le système d'exploitation (à partir du disque
DFR Génie Électronique et Électronique
dur) dans une zone de la mémoire RAM. Celle-ci étant organisée en cellule mémoire, chaque instruction
du programme est stockée à une adresse de la mémoire. L'adresse de la première instruction est
communiquée au processeur pour qu'il commence l'exécution au bon endroit.
Une fois l’instruction récupérée, le processeur l’interprète, séquence le déroulement des actions
élémentaires, effectue les opérations de calculs et d’exécuter chaque action élémentaire demandée.
A la fin de l’exécution de la première instruction, le processeur transmet à la mémoire centrale le numéro
de la prochaine instruction à traiter. Cette dernière transfert vers le processeur l’instruction à traiter et le
cycle se répète.
Toutefois, il faut noter que les opérations ne sont pas forcément exécutées dans l’ordre de rangement dans
la mémoire centrale.
1
Une mémoire non volatile est une mémoire qui ne s’efface pas lorsque l’appareil qui la contient n’est plus alimenté en électricité.
2
UP Électronique Édition 2017
Microcontrôleur NG
IV- MICROCONTROLEUR
1- Définition d’un microcontrôleur
Un microcontrôleur est un composant électronique constitué des éléments essentiels d'un ordinateur et qui
se présente sous la forme d'un circuit intégré. La figure ci-dessous présente un microcontrôleur plus
précisément le PIC 16F84.
Exercice d’application :
3
UP Électronique Édition 2017
Microcontrôleur NG
I- GENERALITES
La plus grande partie des systèmes électroniques complexes utilisés de nos jours sont des systèmes
embarqués. Ce sont des systèmes électroniques et informatiques autonomes, souvent temps réel, spécialisés
dans une tâche bien précise. On les rencontre dans différentes applications tels que les systèmes de
communication, de sécurité, de contrôle des processus industriels.
En général, le schéma fonctionnel d’un système électronique se présente comme suit :
Alimentation
Unité de
commande
Exemple : Pile
4
UP Électronique Édition 2017
Microcontrôleur NG
6
UP Électronique Édition 2017
Microcontrôleur NG
2-2- Microcontrôleur
Il s’agit du microcontrôleur ATmega328 du fabricant ATMEL. C’est l’élément central de la carte
Arduino. Il est chargé de recevoir le programme informatique en le stockant dans sa mémoire puis
de l’exécuter. Grâce à ce programme, il saura communiquer avec les autres composantes du système
électronique.
Le microcontrôleur ATmega328 dispose de 32 Ko de mémoire FLASH pour stocker le programme
dont 0,5 Ko également utilisés par le bootloader2. Il a également 2 ko de mémoire SRAM (volatile)
et 1 Ko d'EEPROM.
2-3- Entrées et sorties numériques
Chacune des 14 broches numériques de la carte UNO (numérotées des 0 à 13) peut être utilisée
soit comme une entrée numérique, soit comme une sortie numérique.
Ces broches fonctionnent en 5V. Chaque broche peut fournir ou recevoir un maximum de 40 mA
d'intensité.
De plus, certaines broches ont des fonctions spécialisées :
Communication Série :
Broches 0 (RX) et 1 (TX). Utilisées pour recevoir (RX) et transmettre (TX) les données séries de
niveau TTL.
Interruptions Externes :
Broches 2 et 3. Ces broches peuvent être configurées pour déclencher une interruption sur une valeur
basse, sur un front montant ou descendant, ou sur un changement de valeur.
Impulsion PWM (largeur d'impulsion modulée):
Broches 3, 5, 6, 9, 10, et 11. Ces broches fournissent une impulsion PWM 8-bits.
SPI (Interface Série Périphérique) :
Broches 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Ces broches supportent la communication
SPI (Interface Série Périphérique) disponible avec la librairie pour communication SPI. Les broches
SPI sont également connectées sur le connecteur ICSP qui est mécaniquement compatible avec les
cartes Mega.
I2C:
Broches 4 (SDA) et 5 (SCL). Supportent les communications de protocole I2C (ou interface TWI
(Two Wire Interface - Interface "2 fils"), disponible en utilisant la librairie Wire/I2C (ou TWI - Two-
Wire interface - interface "2 fils").
LED :
Broche 13. Il y a une LED incluse dans la carte connectée à la broche 13. Lorsque la broche est au
niveau HAUT, la LED est allumée, lorsque la broche est au niveau BAS, la LED est éteinte.
2-4- Broches analogiques
La carte Arduino UNO dispose de 6 entrées analogiques (numérotées de 0 à 5), chacune pouvant
fournir une mesure d'une résolution de 10 bits (c’est-à-dire sur 1024 niveaux soit de 0 à 1023).
Par défaut, ces broches mesurent entre le 0V (valeur 0) et le 5V (valeur 1023), mais il est possible
de modifier la référence supérieure de la plage de mesure.
DFR Génie Électronique et Électronique
Les broches analogiques peuvent être utilisées en tant que broches numériques : elles sont numérotées
en tant que broches numériques de 14 à 19.
2-5- Autres broches
Il y a deux autres broches disponibles sur la carte Arduino UNO :
AREF :
Tension de référence pour les entrées analogiques (si différent du 5V).
Reset :
Mettre cette broche au niveau BAS entraîne la réinitialisation (le redémarrage) du microcontrôleur.
Typiquement, cette broche est utilisée pour ajouter un bouton de réinitialisation sur le circuit qui
bloque celui présent sur la carte.
2
Le bootloader est un programme préprogrammé une fois pour toute dans l'ATméga et qui permet la communication entre l'ATmega et le logiciel
Arduino via le port USB, notamment lors de chaque programmation de la carte.
7
UP Électronique Édition 2017
Microcontrôleur NG
3- Brochage
Le brochage de la carte Arduino UNO est le suivant :
4- Caractéristiques principales
Les principales caractéristiques d’une carte Arduino UNO sont les suivantes :
Alimentation via port USB ou 7 à 12 V sur connecteur alimentation
Microcontrôleur ATMega 328
Mémoire flash de 32 kB
Mémoire SRAM de 2 kB
Mémoire EEPROM de 1 kB
14 broches d'E/S dont 6 PWM
6 entrées analogiques 10 bits
Intensité par E/S de 40 mA
Cadencement de 16 MHz
Bus série, I2C et SPI
Gestion des interruptions
La carte ARDUINO doit sa popularité aux logiciels qui facilitent la mise en œuvre du microcontrôleur et
aussi à une grande communauté d’utilisateurs.
DFR Génie Électronique et Électronique
8
UP Électronique Édition 2017
Microcontrôleur NG
2- Interface du logiciel
L’interface du logiciel Arduino peut être décomposée en quatre (04) parties comme l’illustre la figure ci-
dessous :
1
2
Correspondance :
Le cadre 1 :
Ce sont les options de configuration du logiciel
Le cadre 2 :
Il contient les boutons qui vont nous servir lorsque l’on va programmer nos cartes.
Le cadre 3 :
Ce bloc va contenir le programme que nous allons créer
Le cadre 4 :
Celui-ci est important, car il va nous aider à corriger les fautes dans notre programme. C’est le débogueur.
DFR Génie Électronique et Électronique
9
UP Électronique Édition 2017
Microcontrôleur NG
Début ou Fin
Traitement
Renvoi
Lecture ou Ecriture
Choix ou Test
Sous-programme
Liaison
DFR Génie Électronique et Électronique
Exercice d’application :
Elaborer l’organigramme d’un programme informatique qui permet d’allumer une LED Verte pendant une
durée de 10 s si l’interrupteur K est fermé. La LED Rouge reste allumée si l’interrupteur K est ouvert.
3- Programmation dans un langage
La programmation dans un langage consiste à traduire l’organigramme dans un langage de programmation.
Dans notre cas le langage de programmation que nous allons utiliser pour ce cours est le langage « C
Arduino ».
La structure d’un programme en langage « C Arduino » se décompose en trois (03) parties :
La déclaration d’en-tête
Le corps du programme principal
Le corps du programme secondaire
10
UP Électronique Édition 2017
Microcontrôleur NG
1- La déclaration d’en-tête
Cette partie du programme comporte :
La déclaration des fichiers en-tête des bibliothèques
Syntaxe : #include <NomFichier>
Il s’agit d’une directive destinée au compilateur afin d'inclure les fonctions intégrées à la bibliothèque (ou
librairie) dont le nom du fichier en-tête est « NomFichier ».
Exemple : #include <MsTimer2.h>
La définition des constantes
Syntaxe : const TypeConstante NomConstante = ValeurConstante ;
Il s’agit de faire correspondre une valeur particulière (le numéro d’une broche de la carte Arduino) à un
nom significatif (chaine de caractère).
Exemples : const int BrocheLED = 2 ;
La déclaration des variables globales
Syntaxes : TypeVariable NomVariable ;
TypeVariable NomVariable = ValeurInitiale ;
Une variable globale est une variable qui peut être « vue » et utilisée par n'importe quelle fonction dans un
programme. Les variables locales ne sont visibles que dans la fonction dans laquelle elles ont été déclaré.
Dans le langage « C Arduino », toute variable déclarée en dehors d'une fonction, au niveau de l'en-tête du
programme par exemple, est une variable globale.
2- Le corps du programme principal
Le corps du programme principal est constitué de deux (02) fonctions obligatoires dans tout programme
en langage « C Arduino ». Il s’agit des fonctions « setup () » et « loop () ».
La fonction « setup () »
La fonction « setup () » est la fonction qui contient les différents codes d’initialisation et de configuration
du matériel utilisé (Carte Arduino, Ecran LCD, Clavier, etc.).
C’est la première fonction du programme à être exécutée. Elle est exécutée une seule fois au démarrage du
programme.
Syntaxe : void setup ()
{
// Instructions à exécuter au démarrage
}
La fonction « loop () »
Le code contenu dans cette fonction s'exécute sans fin en boucle aussi longtemps que la carte Arduino est
sous tension. Cette fonction peut être vide de contenu.
Syntaxe : void loop ()
{
DFR Génie Électronique et Électronique
Remarque :
Pour comprendre le rôle des différentes parties d'un programme, il est conseillé d’insérer des
commentaires. Les commentaires ne sont pas interprétés par le programme. Un commentaire est
précédé de « // » par ligne ou compris entre « /* » et « */ ».
Toute ligne de code se termine par un point-virgule « ; ».
Le contenu d'une fonction est délimité par des accolades « { » et « } ».
Les paramètres d'une fonction sont contenus dans des parenthèses « ( » et « ) ».
11
UP Électronique Édition 2017
Microcontrôleur NG
1- Fonction vide
Une fonction vide est une procédure. Elle est de type « void » et ne renvoie aucune valeur à la fin de son
exécution.
Syntaxe :
void NomFonctionVide ()
{
// Instructions à exécuter
}
2- Fonction typée
Une fonction typée est une fonction qui renvoie une valeur dont le type correspond au type de la fonction.
Le type de cette fonction est différent de « void ».
Syntaxe :
Type NomFonctionType ()
{
Type NomVariableRenvoyer ;
// Instructions à exécuter
return NomVariableRenvoyer ;
}
Cette fonction renvoie la valeur de la variable « NomVariableRenvoyer » de type « Type ».
3- Fonction paramétrée
Une fonction paramétrée est une fonction typée qui possède des paramètres en argument.
Syntaxe :
Type NomFonctionParametre (Type1 Param1, Type2 Param2)
{
Type NomVariableRenvoyer ;
// Instructions à exécuter
return NomVariableRenvoyer ;
}
Appel de la fonction
Syntaxe : NomFonction (NomVariable) ;
Instruction « if »
Syntaxe :
if (condition)
DFR Génie Électronique et Électronique
{
Instructions à exécuter si la condition est vraie.
}
Instruction « if … else »
Syntaxe :
if (condition)
{
Instructions à exécuter si la condition est vraie.
}
Else
{
Instruction à exécuter si la condition est fausse.
}
12
UP Électronique Édition 2017
Microcontrôleur NG
L’instruction « for »
Syntaxe :
for (initialisation ; condition ; opération sur la variable de boucle)
{
Instruction à exécuter tant que la condition est vraie.
}
Elle est généralement utilisée lorsque l'on veut répéter un nombre de fois connu une action.
L’instruction « while »
Syntaxe :
while (condition)
{
Instruction à effectuer tant que la condition est vraie.
}
Les instructions à l’intérieur de la boucle sont toujours exécutées au moins une fois.
13
UP Électronique Édition 2017
Microcontrôleur NG
Le langage C propose plusieurs instructions qui permettent d'altérer le contrôle de boucles itératives, soit
en forçant le programme à passer à l'itération suivante sans finir d'exécuter les instructions correspondant
à celle qui est en cours, soit en forçant le programme à quitter la boucle, comme si la condition était fausse.
L’instruction « continue »
L'instruction « continue » permet de passer au cycle suivant d'une boucle sans exécuter les instructions
restantes de l'itération en cours.
Syntaxe :
continue ;
L’instruction « break »
Cette instruction permet de sortir d’une boucle d’itération. Il ne peut sortir que d’un niveau d’accolade.
Syntaxe :
break ;
L’instruction « goto »
Il s’agit d’une instruction de saut inconditionnel permettant de renvoyer l'exécution du programme vers
une étiquette. Ce saut systématique entraîne une rupture du flot d'exécution.
Syntaxe :
goto LABEL ;
Instructions à sauter
LABEL :
L’instruction « return »
Cette instruction provoque la fin de l’exécution de la fonction dans laquelle elle se trouve et un retour à la
fonction appelante.
Syntaxe :
return ;
return (expression) ;
DFR Génie Électronique et Électronique
14
UP Électronique Édition 2017
Microcontrôleur NG
1- Définition
Une broche numérique est un point de connexion physique ou encore un port qui permet à la carte Arduino
d’interagir avec d’autres périphériques (un écran LCD, un capteur numérique, etc.) via un signal numérique.
Un signal numérique est un signal qui varie de façon discrète dans le temps. C'est une succession de « 0 »
et de « 1 », appelés bits. On dit qu'il est binaire.
La carte Arduino UNO dispose de quatorze (14) broches numériques numérotées de 0 à 13. Certaines
d’entre elles peuvent également être utilisées en sortie PWM (3 ; 5 ; 6 ; 9 ; 10 et 11) ou pour la
communication série (0 et 1).
2- Fonctionnement
Chaque broche numérique de la carte Arduino UNO peut fonctionner comme une entrée ou une sortie
avec un courant maximal de 40 mA. Chaque broche peut prendre l’un des trois états suivant :
Un état « HIGH »
Un état « LOW »
Un état « INPUT ».
L'état « HIGH » signifie que la broche génère un signal. Cet état se traduit au niveau de la broche par une
tension de 5 V en sortie.
L'état « LOW » signifie que la broche ne génère pas de signal. Cet état se traduit au niveau de la broche
par une tension de 0 V en sortie.
L'état « INPUT » est un état dans lequel la broche reçoit un signal de l’extérieur. La broche est en lecture
ou en entrée.
L’état « HIGH » ou l’état « LOW » permet à la carte Arduino d’actionner un périphérique. Quant à l’état
« INPUT », il permet à un périphérique de fournir une information à la carte Arduino.
DFR Génie Électronique et Électronique
Informations
10 Capteur
Entrée
Arduino UNO
Ordres
3 Actionneur
Sortie
15
UP Électronique Édition 2017
Microcontrôleur NG
La fonction « pinMode () » permet de configurer une broche en sortie ou en entrée (haute impédance).
Syntaxe : pinMode (Param1, Param2) ;
La fonction « pinMode () » accepte deux (02) paramètres obligatoires.
Param1 : nom ou numéro de broche à configurer.
Param2 : mode de fonctionnement ou orientation de la broche.
Le mode de fonctionnement de la broche peut prendre les valeurs suivantes : OUTPUT (sortie), INPUT
(entrée) ou INPUT_PULLUP (entrée avec résistance interne de rappel).
La fonction « digitalWrite () »
La fonction « digitalRead () »
3- Gestion du temps
La fonction « millis () »
La fonction « millis () » permet de mesurer le temps écoulé en milliseconde (ms) depuis le démarrage du
programme.
Syntaxe : millis () ;
La fonction « millis () » est sans paramètre et elle est capable de mesurer une durée allant jusqu’à 50 jours.
DFR Génie Électronique et Électronique
La valeur retournée doit donc être stockée dans une variable de type « unsigned long ».
La fonction « micros () »
La fonction « micros () » permet de mesurer le temps écoulé en microseconde (μs) depuis le démarrage du
programme.
Syntaxe : micros () ;
La fonction « micros () » est aussi sans paramètre et elle est capable de mesurer une durée allant jusqu’à
50 jours. La valeur retournée doit donc être stockée dans une variable de type « unsigned long ».
La fonction « delay () »
La fonction « delay () » permet de mettre en pause le programme pendant un temps prédéterminé. C’est
une fonction bloquante, car aucune action ne sera effectuée pendant cette temporisation.
Syntaxe : delay (Param1) ;
Param1 : durée de temporisation en milliseconde (ms).
16
UP Électronique Édition 2017
Microcontrôleur NG
III-APPLICATIONS
1- Clignotement de LEDs commandé par un bouton poussoir
Soit le système électronique ci-dessous.
D7
R7
7
Vcc
390
D6
R6
ON
Reset BTN
6
390
www.TheEngineeringProjects.com
PILE D5
5V AREF R5
5
13 390
PB5/SCK
12
RESET PB4/MISO
11 D4
Vcc ~PB3/MOSI/OC2A
10
R4
VCC ~PB2/SS/OC1B 4
9 390
GND ~ PB1/OC1A 8
PB0/ICP1/CLKO D3
R3
ATMEGA328P-PU
1121
BP 7
ANALOG IN
PD7/AIN1 7 3
Vcc SignalBP 6
A0 ~ PD6/AIN0 6 390
PC0/ADC0 5
A1
PC1/ADC1
~ PD5/T1
4
5 D2
A2
PC2/ADC2
PD4/T0/XCK
3
4 R2
R A3
PC3/ADC3 ~ PD3/INT1 2
3 2
A4 PD2/INT0 2 390
10k PC4/ADC4/SDA 1
A5
PC5/ADC5/SCL
TX PD1/TXD
0
1 D1
RX PD0/RXD SignalBP R1
1
390
ARDUINO UNO
On souhaite faire clignoter un groupe de sept (07) LEDs à l’aide d’une carte Arduino UNO. L’intervalle
de clignotement est de 2 s et un (01) bouton poussoir BP permet d’enclencher (BP enfoncé) et stopper
(BP défoncé) le clignotement des LEDs.
1 - Elaborer l’organigramme du programme informatique.
2 - Ecrire le programme informatique en langage « C Arduino » sous l’IDE Arduino.
3 - Réaliser le schéma du système électronique sous Isis Proteus.
4 - Simuler le fonctionnement du système électronique.
Liste des composants :
Pile --> CELL ; Bouton poussoir --> BUTTON ; Résistance --> RESISTORS (1/2 W ; 5%) ;
Carte Arduino UNO --> ARDUINO UNO ; Diode électroluminescente --> LED (3mm ; Rouge ; digital).
6
390
www.TheEngineeringProjects.com
PILE D5
5V AREF R5
5
13
DFR Génie Électronique et Électronique
PB5/SCK 390
12
RESET PB4/MISO
11 D4
Vcc SignalBP Vcc ~PB3/MOSI/OC2A
10
R4
VCC ~PB2/SS/OC1B 4
9 390
GND ~ PB1/OC1A 8
PB0/ICP1/CLKO D3
BP R3
ATMEGA328P-PU
1121
7
ANALOG IN
PD7/AIN1 7 3
6 390
A0 ~ PD6/AIN0 6
PC0/ADC0 5
A1
PC1/ADC1
~ PD5/T1
4
5 D2
A2
PC2/ADC2
PD4/T0/XCK 4 R2
R A3 ~ PD3/INT1
3
3 2
10k PC3/ADC3 2
A4 PD2/INT0 2 390
PC4/ADC4/SDA 1
A5
PC5/ADC5/SCL
TX PD1/TXD
0
1 D1
RX PD0/RXD SignalBP R1
1
390
ARDUINO UNO
On souhaite réaliser un chenillard à LEDs à l’aide d’une carte Arduino UNO. L’intervalle de temps entre
chaque allumage de LED est de 1 s et un (01) bouton poussoir BP permet d’enclencher (BP enfoncé) et
stopper (BP défoncé) le chenillard.
Programmer la carte Arduino UNO puis simuler le fonctionnement du système.
17
UP Électronique Édition 2017