Académique Documents
Professionnel Documents
Culture Documents
UNIVERSITE DE LUBUMBASHI
ECOLE SUPERIEURE DES INGENIEURS INDUSTRIELS
Département de Génie Electrique
Conception et
MICROCONTROLEURS
Réalisation d’un ET
APPLICATIONS
moteur
Lorem desit amet,
ipsum dolor
(BAC 3consectetur
GENIE ELECTRIQUE)
recherche et
adipiscing elit.
recommandation
Par Prof. Diambomba Hyacinthe-St Tungadio
Année Académique 2023-2024
Initiation à la
Programmation des
microcontroleurs
Programmation des microcontrôleurs
Dans un passé pas très lointain, l’électronique pour les amateurs (éclairés) se
résumait essentiellement aux circuits analogiques et éventuellement en
logique câblée (portes logiques, compteurs, registres à décalage…). L’usage des
microprocesseurs était plutôt réservé à un public averti d’ingénieurs sachant
les interfacer avec différents circuits périphériques (eprom, ram…) et
programmer en assembleur.
Boitier PDIP (Plastic Dual In-Line) Boitier MLF (Micro Lead Frame)
Programmation des microcontrôleurs
Choix d’un microcontrôleur
Structure de l’Atmega328
Programmation des microcontrôleurs
Structure de l’Atmega328
Avec :
VCC : Alimentation ; GND : la masse
Port B (PB[7:0]) XTAL1/XTAL2/TOSC1/TOSC2 :
Le port B est un port E/S bidirectionnel de 8 bits avec des résistances pull-up internes
(sélectionnées pour chaque bit). Les tampons de sortie du port B ont des
caractéristiques d'entraînement symétriques avec une capacité de source et
d'absorption élevée. En tant qu'entrées, Les broches du port B qui sont tirées vers le
bas de manière externe génèrent une source de courant si les résistances d'excursion
haute sont activées. Les broches du port B sont tri-statiques lorsqu'une condition de
réinitialisation devient active, même si l'horloge ne fonctionne pas. Selon les réglages
du fusible de sélection d'horloge, PB6 peut être utilisé comme entrée de
l'amplificateur inverseur de l'oscillateur et comme entrée de l'horloge interne.et
comme entrée du circuit de fonctionnement de l'horloge interne.
Programmation des microcontrôleurs
Structure de l’Atmega328
Port C (PC[5:0]) :
Le port C est un port d'E/S bidirectionnel de 7 bits avec des résistances de pull-up
internes (sélectionnées pour chaque bit). Les tampons de sortie PC[5:0]ont des
caractéristiques d'entraînement symétriques avec une capacité de source et
d'absorption élevée. En tant qu'entrées, En tant qu'entrées, les broches du port C qui
sont tirées vers le bas de manière externe génèrent une source de courant si les
résistances d'excursion haute sont activées.
Programmation des microcontrôleurs
Structure de l’Atmega328
PC6/RESET:
Si le fusible RSTDISBL est programmé, PC6 est utilisé comme broche E/S. Notez que
les caractéristiques électriques de PC6 diffèrent de celles des autres broches du port
C.Si le fusible RSTDISBL n'est pas programmé, PC6 est utilisé comme entrée de
réinitialisation. Un niveau bas sur cette broche pendant plus longtemps que la
longueur d'impulsion minimale génère un Reset, même si l'horloge n'est pas en
marche. Des impulsions plus courtes ne garantissent pas la génération d'un Reset.
Programmation des microcontrôleurs
Structure de l’Atmega328
Port D (PD[7:0]):
Le port D est un port E/S bidirectionnel de 8 bits avec des résistances pull-up
internes (sélectionnées pour chaque bit). Les tampons de sortie du port Dont des
caractéristiques d'entraînement symétriques avec une capacité de source et de
chute élevée. En tant qu'entrées, les broches du port D qui sont tirées vers le bas de
manière externe génèrent une source de courant si les résistances d'excursion haute
sont activées.
AREF :
AREF est la broche de référence analogique du convertisseur A/N.
Programmation des microcontrôleurs
Structure de l’Atmega328
ADC[7:6] :
Le mode Sleep est un mode de fonctionnement particulier du PIC dans lequel celui-ci
réduit sa consommation électrique au minimum. Il est presque entièrement
désactivé, son oscillateur est éteint. Le microntroleur est en mode « veille » !
Pour sortir de cette torpeur, il faut un des événements suivant :
Reset du circuit, ou
Réveil par le Watch-Dog Timer (ci celui-ci est activé, il continue de fonctionner en mode
SLEEP)
Interruption générée par un module périphérique (Timer, convertisseur A/D, changement
d’état de port, ….)
Ce mode peut être particulièrement intéressant pour une application fonctionnant
sur pile ou batterie et qui ne requiert le fonctionnement du microprocesseur qu’à la
survenue d’événements particuliers. On prolonge ainsi considérablement
l’autonomie.
Programmation des microcontrôleurs
Conclusion
Ainsi s’achève notre survol de l’Atmega328. Vous savez maintenant ce qui se cache
dans la boîte, et avec quels outils nous allons le programmer. Notre prochain objectif
sera de le faire fonctionner. On pourra passer ensuite à l’étude un peu plus détaillée
des différents périphériques.
----
La carte de développement
Arduino
Carte de développement Arduino
Présentation
L’Arduino est un projet inventé en 2005 par une équipe italienne de l’Institut du
Design d’Interaction d’Ivrea désirant permettre à des étudiants en art et en
design de créer tout type de projets grâce à une petite carte électronique que
l’on programmerai facilement via un logiciel.
Carte de développement Arduino
Les différentes cartes
Arduino Mega : Cette carte est similaire à l'Arduino Uno mais avec beaucoup
plus d'E/S. Elle est équipée d'un microcontrôleur ATmega2560, offrant une plus
grande capacité de traitement et une plus grande mémoire pour les projets
nécessitant de nombreuses connexions d'E/S.
Carte de développement Arduino
Les modèles
Arduino Nano : Cette carte est plus compacte que l'Arduino Uno, ce qui la rend
idéale pour les projets où l'espace est limité. Elle est basée sur le même
microcontrôleur ATmega328P que l'Uno, mais avec une taille réduite.
Carte de développement Arduino
Les modèles
Arduino Due : Cette carte est basée sur un microcontrôleur ARM Cortex-M3 plus
puissant, offrant des performances accrues par rapport aux cartes basées sur des
microcontrôleurs AVR. Elle est adaptée aux projets nécessitant une puissance de
calcul supérieure.
Carte de développement Arduino
Les modèles
Arduino Pro Mini : Cette carte est similaire à l'Arduino Nano en termes de taille,
mais elle est conçue pour être utilisée dans des projets où l'espace est critique.
Elle est également basée sur le microcontrôleur ATmega328P.
Pour ce cours, nous nous baserons sur le plus connu: l'Arduino Uno. Mais un
autre modèle ou un clone fera aussi bien l'affaire.
Carte de développement Arduino
Arduino UNO
Entrée et sortie
Chacune des 14 broches numériques de l'Arduino Uno peut être utilisée
comme entrée ou sortie, à l'aide des fonctions pinMode(), digitalWrite() et
digitalRead(). Ils fonctionnent à 5 volts. Chaque broche peut fournir ou recevoir
un maximum de 40 mA et possède une résistance de rappel interne
(déconnectée par défaut) de 20 à 50 kOhms.
De plus, certaines broches ont des fonctions spécialisées :
Série : broches 0 (RX) et 1 (TX). Utilisé pour recevoir (RX) et transmettre (TX)
des données série TTL. Ces broches sont connectées aux broches
correspondantes de la puce série ATmega8U2 USB-to-TTL.
Carte de développement Arduino
Arduino UNO
https://www.arduino.cc/en/uploads/Main/arduino-uno-schematic.pdf
Arduino UNO
L’alimentation
Attention: les cartes Arduino Due ainsi que d'autres cartes récentes
fonctionnent avec un voltage de 3.3V au niveau des sorties! Le voltage de
l’alimentation est similaire à l’Arduino Uno. Dans ce cours, nous partons du
principe que le voltage des montages est en 5 Volts.
Arduino UNO
La platine d’expérimentation
Tous les connecteurs dans une rangée de 5 sont reliés entre eux. Donc si on
branche deux éléments dans un groupe de cinq connecteurs, ils seront reliés
entre eux. Il en est de même des alignements de connecteurs rouges (pour
l’alimentation) et bleus (pour la terre). Ainsi, les liens peuvent être
schématisés ainsi:
Arduino UNO
La platine d’expérimentation
Les composants doivent ainsi être placés à cheval sur des connecteurs qui
n'ont pas de liens électriques entre eux, comme sur le schéma ci-dessous :
Arduino UNO
L’IDE Arduino
1 Led
1 résistance de 220 à 470 Ω
2 câbles
Arduino UNO
Code couleur des resistances
Arduino UNO
Code source projet 1 :
Arduino UNO
Déroulement du programme
Le programme se déroule de la
façon suivante :
Il suffit simplement d’interchanger une ligne de code pour dire qu'il faut
utiliser une broche en entrée (récupération de données) ou en sortie (envoi
de données).
Cette ligne de code doit se trouver dans la fonction setup(). La fonction est
pinMode(), comme dans l'exemple ci-dessous:
Arduino UNO
Projet 3: faire clignoter quatre LEDs
Contacts :
KALELA NGOY SALMAN
+243 99 435 1324
ngoy.kalela@gmail.com