Vous êtes sur la page 1sur 25

Model Exemple d’un mini-projet

SOMMAIRE
Introduction Générale ……………………………………………………..
Chapitre 1 : Partie théorique

1.1 Arduino ………………………………………………………………………


1.2 Origine du nom ………………………………………………………………
1.3 Description …………………………………………………………………...
1.4 Logiciel ……………………………………………………………………….
1.5 Explication du fonctionnement ……………………………………………
1.6 Matériels et logiciels dérivés ……………………………………………….
1.7 Matériel libre et logiciel libre ……………………………………………….

2.1 carte arduino…………………………………………………..


2.2Vue d'ensemble……………………………………………………………….
2.3 Synthèse des caractéristiques…………………………………………………
2.4 Schéma et typon de référence…………………………………………………
2.5 Brochage de la carte Uno………………………………………………………
2.6 Alimentation……………………………………………………………………
2.7 Mémoire………………………………………………………………………..
2.8 Entrées / sorties numériques………………………………………………
2.9 Broches analogiques……………………………………………………………
2.10 Communication………………………………………………………………
2.11 Programmation………………………………………………………………
2.12 Réinitialisation (logicielle) automatique………………………………………
2.13 Protection du port USB contre la surcharge en inensité …………………..
2.14 Caractéristiques Mécaniques………………………………………………..
3.1 Capture De Température introduction ………………………………………
3.2 Schéma ………………………………………………………………………
3.3 Calcul …………………………………………………………………………
4.1 Real time clockRTC …………………………………………………
Model exemple d’un mini-projet / TP : M1ESE /2019/2020
Page 1
Model Exemple d’un mini-projet

4.2 Branchement ……………………………………………………….


Chapitre 2 : Partie pratique
1- Image de Project ………………………………………………………
2- Simulation ……………………………………………………………….
3 - Programme Arduino …………………………………………………..
Conclusion générale ………………………………………………………..

Model exemple d’un mini-projet / TP : M1ESE /2019/2020


Page 2
Model Exemple d’un mini-projet

Introduction Générale :

Les aveugles sont confrontés à de nombreux problèmes qui les empêchent de communiquer avec leur
environnement extérieur. Par conséquent, les spécialistes ont créé un modèle pour les aider à connaître l’heure et
la température.
A cet effet on fait un prototype d’un tel système qui se compose d’une carte arduinoUno – des cables – des baffes
– et des boutons pour faciliter l’utilisation.

Applications :

-Indicateur temporaire.
-Connaître l’heure , le jour et la température.

L’objectif :

Le but de ce projet ç'est d'aider les aveugles pour savoir le temps et la température et faciliter leur vie sans l'aide
des gens.

Model exemple d’un mini-projet / TP : M1ESE /2019/2020


Page 3
Model Exemple d’un mini-projet

Chapitre 1 :
1.1 Arduino
Arduino, et son synonyme Genuino : Est une marque qui couvre des cartes matériellement libres sur lesquelles se
trouve un microcontrôleur (d'architecture Atmel AVR comme l'Atmega328p, et d'architecture ARM comme le
Cortex-M3 pour l'Arduino Due).
Les schémas de ces cartes sont publiés en licence libre. Cependant, certaines composantes, comme le
microcontrôleur par exemple, ne sont pas sous licence libre.
Le microcontrôleur peut être programmé pour analyser et produire des signaux électriques, de manière à effectuer
des tâches très diverses comme la domotique (le contrôle des appareils domestiques - éclairage, chauffage…), le
pilotage d'un robot, de l'informatique embarquée, etc.
C'est une plate-forme basée sur une interface entrée/sortie simple. Il était destiné à l'origine principalement mais pas
exclusivement à la programmation multimédia interactive en vue de spectacles ou d'animations artistiques, ce qui
explique en partie la descendance de son environnement de développement de Processing, lui-même inspiré de
l'environnement de programmation Wiring (l'un pensé pour la production d'applications impliquant des graphismes
et l'autre pour pilotage de salles de spectacles).
Arduino peut être utilisé pour construire des objets interactifs indépendants (prototypage rapide), ou bien peut être
connecté à un ordinateur pour communiquer avec ses logiciels (ex. : Macromedia Flash, Processing, Max/MSP,
Usine Hollyhock, Pure Data, SuperCollider). En 2011, les versions vendues sont pré-assemblées. Des informations
sont fournies pour ceux qui souhaitent assembler ou construire une carte Arduino eux-mêmes.
Le projet Arduino a reçu un titre honorifique à l'Ars Electronica 2006, dans la catégorie Digital Communities
2.2. Origine du nom
L'Arduino emprunte son nom au Bar di Re Arduino (en français « bar du roi Arduin ») dans lequel se réunissaient
les concepteurs de la carte, à Ivrée en Italie du Nord.
2.3. Description
2.3.1. Matériel
Un module Arduino est généralement construit autour d'un microcontrôleur Atmel AVR (ATmega328,
ATmega32u4 ou ATmega2560 pour les versions récentes, ATmega168, ATmega1280 ou ATmega8 pour les plus
anciennes), et de composants complémentaires qui facilitent la programmation et l'interfaçage avec d'autres
circuits. Chaque module possède au moins un régulateur linéaire 5 V et un oscillateur à quartz 16 MHz (ou un
résonateur céramique dans certains modèles).
Le microcontrôleur est préprogrammé avec un bootloader de façon à ce qu'un programmateur dédié ne soit pas
nécessaire.
Les modules sont programmés avec une connexion série TTL, mais les connexions permettant cette programmation
diffèrent selon les modèles. Les premiers Arduino possédaient un port série RS-232, puis l'USB est apparu sur les
modèles Diecimila, tandis que certains modules destinés à une utilisation portable comme le Lillypad ou le Pro-
Model exemple d’un mini-projet / TP : M1ESE /2019/2020
Page 4
Model Exemple d’un mini-projet

mini se sont affranchis de l'interface de programmation, relocalisée sur un module USB-série dédié (sous forme de
carte ou de câble), cela permettait aussi de réduire leur coût, le convertisseur USB-Série TTL (un FTDI232RL de
FTDI) coûtant assez cher.
L'Arduino utilise la plupart des entrées/sorties du microcontrôleur pour l'interfaçage avec les autres circuits. Le
modèle Diecimila par exemple, possède quatorze entrées/sorties numériques, dont six peuvent produire des
signaux PWM, et 6 entrées analogiques. Les connexions sont établies au travers de connecteurs femelles HE14
situés sur le dessus de la carte, les modules d'extension venant s'empiler sur l'Arduino. Plusieurs sortes
d'extensions sont disponibles dans le commerce.
D'autres cartes comme l'Arduino Nano ou le Pro micro utilisent des connecteurs mâles, permettant de les disposer
sur une platine d'expérimentation.
2.3.2. Logiciel
Le logiciel de programmation des modules Arduino est une application Java, libre et multi-plateforme, servant
d'éditeur de code et de compilateur, et qui peut transférer le firmware et le programme au travers de la liaison série
(RS-232, Bluetooth ou USB selon le module). Il est également possible de se passer de l'interface Arduino, et de
compiler et uploader les programmes via l'interface en ligne de commande5.
Le langage de programmation utilisé est le C++, compilé avec avr-g++ 6, et lié à la bibliothèque de développement
Arduino, permettant l'utilisation de la carte et de ses entrées/sorties. La mise en place de ce langage standard rend
aisé le développement de programmes sur les plates-formes Arduino, à toute personne maîtrisant le C ou le C++.

Fig 1. Logiciel de programme Arduino


2.3.3. Plateforme

Model exemple d’un mini-projet / TP : M1ESE /2019/2020


Page 5
Model Exemple d’un mini-projet

2.3.3.1. Matériel officiel


Les modules d'origine des différentes versions de l'Arduino sont fabriqués par la société italienne Smart Projects.
Quelques-unes des cartes de marque Arduino ont été conçues par la société américaine SparkFun Electronics.
Dix-sept versions des cartes de type Arduino ont été produites et vendues dans le commerce à ce jour dans l'ordre
chronologique ci-dessous :
1. Serial Arduino programmé avec une connexion série par connecteur DB9 et utilisant un ATmega8.
2. Arduino Extreme, programmable via une connexion USB et utilisant un ATmega8.
3. Arduino Mini, une version miniature de l'Arduino utilisant un ATmega168 de type CMS.
4. Arduino Nano, une version encore plus petite de l'Arduino alimenté par USB et utilisant un ATmega168 (avant la
version 3) ou ATmega328 (à partir de la version 3.0) de type CMS.
5. LilyPad Arduino, une conception de type minimaliste pour permettre une application portable utilisant un
ATmega168 de type CMS, cette carte se remarque par son vernis violet.
6. Arduino NG, programmable via une connexion USB et utilisant un ATmega8.
7. Arduino NG plus, programmable via une connexion USB et utilisant un ATmega168.
8. Arduino Bluetooth(BT), programmable via une connexion Bluetooth et utilisant un ATmega 3287.
9. Arduino Diecimila, possède une interface USB et utilise un ATmega168 dans un boitier format DIL28. (16 ko
flash, 1 ko SRAM, 0,5 ko EEPROM)
10. Arduino Duemilanove (2009) utilise un Atmega168 et est alimenté en électricité par le connecteur USB ou une
alimentation externe avec commutation automatique8. La nouvelle version9 est équipée d'un ATmega328 (32 ko
de flash, 2 ko de SRAM, et 1 ko d'EEPROM).
11. Arduino Mega est équipé d'un ATmega1280 de type CMS pour avoir des Entrées/Sorties supplémentaires et de
la mémoire (128 ko flash, 8 ko SRAM, 4 ko EEPROM)10.
12. Arduino Uno utilise un ATmega328 comme les derniers modèles de Duemilanove, mais alors que le
Duemilanove utilisait une puce FTDI pour la programmation via un connecteur USB, le Uno utilise une puce
ATmega8U2 programmée comme un convertisseur série11.

13. Arduino Mega2560 est équipé d'un ATmega2560 de type CMS, augmentant la mémoire totale disponible à 256
ko. Il est équipé aussi de la nouvelle puce USB ATmega8U212.
14. Arduino Ethernet est une carte Arduino UNO intégrant un chip Wiznet W5100 pour rajouter la connectivité
Ethernet intégré13.
15. Arduino Leonardo est une version bas coût de l'Arduino UNO à base d'un ATmega32U4.

Model exemple d’un mini-projet / TP : M1ESE /2019/2020


Page 6
Model Exemple d’un mini-projet

16. Arduino DUE est une évolution de l'Arduino Mega2560 avec un micro-contrôleur 32 bits Atmel SAM3X
(ARM 32 bits Cortex-M3).
17. Arduino Esplora est une carte dérivée de l'Arduino Leonardo. Elle a la forme d'une manette de jeu.
Contrairement aux autres Arduino, c'est une carte « tout-en-un » qui comporte de nombreux capteurs (température,
accélération, lumière, microphone, potentiomètre…) ainsi que quatre boutons poussoirs, un potentiomètre et un
joystick analogique.
18. Arduino MKR 14 est une famille de cartes au format réduit, dédiée à l'IoT : la carte est déclinée sous plusieurs
déclinaisons, disposant chacun d'une fonctionnalité de connectivité IoT différente: Sigfox, LoRa, Wi-Fi, etc.
2.4. Explication du fonctionnement
Les différentes versions des Arduino16 fonctionnent sous le même principe général :
• A : ce sont les broches dites numériques (0 ou 1) ou « tout ou rien » ; elles offrent en sortie du 5 V et acceptent en
entrée du 5 V sur le même principe.
• fonctions digitalWrite() et digitalRead()et pour les ports PWM analogWrite().17
• B : ce sont les broches dites analogiques, valeur entre 0 V et 5 V
• fonctionanalogRead()17
• C : les différentes broches d'alimentation :
• Rouge : sortie 5 V (+)
• Orange : sortie 3,3 V (+)
• Noire : les masses (−)
• Jaune : entrée reliée à l'alimentation (7 V-12 V)
Il y a des variations entre les différentes cartes (par exemple : UNO, la patte 13 est équipée d'une résistance)

Model exemple d’un mini-projet / TP : M1ESE /2019/2020


Page 7
Model Exemple d’un mini-projet

Fig 2. Arduino UNO


2.5. Matériels et logiciels dérivés
Plusieurs cartes compatibles Arduino ont été produites par d'autres fabricants ;
Les kits FreeduinoBareBonesBoard et ReallyBareBonesBoard compatibles Arduino, fabriqués et vendus par
Modern DeviceCompany, ainsi que les versions Fundamental Logic et le MaxSerialFreeduino.
• Le FreeduinoThrough-Hole, compatible Arduino destiné à une fabrication personnelle ; fabriqué et vendu par
NKC Electronics sous forme de kit à monter.
• Le Boarduino, similaire au Diecimila, avec des connecteurs adaptés à une utilisation sur plaque de test.
• Le Romeo, variation de l'Arduino Uno dédiée à la robotique, fournit des interfaces de puissance pour contrôler des
moteurs. Le Romeo est édité par DFRobot.
• Le mini iDuino pour une utilisation sur plaque de test.
• L'Educaduino conçue par la société française Eurosmart en 2013.
Plusieurs logiciels ont été développés pour faciliter la programmation des cartes Arduino. De formes diverses, ils
permettent tous une programmation plus aisée des cartes Arduino. On retrouve :

Model exemple d’un mini-projet / TP : M1ESE /2019/2020


Page 8
Model Exemple d’un mini-projet

• Les solutions graphiques Ardublock [archive] et MiniBloq [archive] qui permettent une programmation par
assemblage de blocs fonctionnels. Distribuées sous forme de plug-ins ajoutant leurs interfaces graphiques à celle
du logiciel Arduino ou BitBloq [archive] qui propose une interface en ligne ainsi que des tutoriaux.
• Le pseudo-langage EDU [archive] qui permet une programmation avec un ensemble de mots clés simplifiés. C’est
une bibliothèque qui permet l'écriture d’un programme en français directement dans l'interface Arduino.
Il existe aussi des cartes Arduino ou compatible modifiées pour un usage spécifique :
• Cartes de contrôle pour imprimantes 3D RepRap18 basées sur une carte Arduino complétée par des drivers de
moteur pas à pas, des acquisitions de température et des sorties de puissance.
• Systèmes de pilote automatique pour drones comme les systèmes ArduPilot, APM:Plane et APM:Copter, ou les
cartes FlyDuino19 permettant d'effectuer la stabilisation ainsi que la programmation de mission, transformant un
modèle réduit en drone.
• Puces Wi-Fi tierces comme l'ESP8266 compatibles avec l'environnement Arduino20.
Certain logiciels musicaux, comme le logiciel Usine Hollyhock21, proposent grâce à leur module série une
intégration de l'Arduino dans le processus de création musicale.
2.6. Matériel libre et logiciel libre
Le design matériel de l'Arduino est distribué sous licence Creative Commons Attribution Share-Alike 2.5 et est
disponible sur le site d'Arduino. Les schémas ainsi que les typons de circuits sont également disponibles. Le code
source de l'environnement de programmation et les bibliothèques embarquées sont disponibles sous licence LGPL.
De nombreuses informations sont disponibles au sujet des circuits intégrés présents sur les cartes Arduino (micro-
contrôleursAtmega par exemple) même s'ils restent très fermés du fait des fabricants. Seul le nom « Arduino » est
protégé ne doit pas être utilisé pour le matériel non officiel, ce qui a permis l’apparition de marques tels que
funduino, arduiboy, etc.
2.1 La carte Arduino Uno

Model exemple d’un mini-projet / TP : M1ESE /2019/2020


Page 9
Model Exemple d’un mini-projet

Fig 3. la carte Arduino


2.2 Vue d'ensemble
La carte Arduino Uno est une carte à microcontrôleur basée sur l'ATmega328 (voir la fiche technique).
Elle dispose :
 de 14 broches numériques d'entrées/sorties (dont 6 peuvent être utilisées en sorties PWM (largeur
d'impulsion modulée)),
 de 6 entrées analogiques (qui peuvent également être utilisées en broches entrées/sorties numériques),
 d'un quartz 16Mhz,
 d'uneconnexion USB,
 d'un connecteurd'alimentation jack,
 d'un connecteur ICSP (programmation "in-circuit"),
 et d'un bouton de réinitialisation (reset).
Elle contient tout ce qui est nécessaire pour le fonctionnement du microcontrôleur; Pour pouvoir l'utiliser et se
lancer, il suffit simplement de la connecter à un ordinateur à l'aide d'un câble USB (ou de l'alimenter avec un
adaptateur secteur ou une pile, mais ceci n'est pas indispensable, l'alimentation étant fournie par le port USB).
La carte Arduino Uno diffère de toutes les cartes précédentes car elle n'utilise par le circuit intégré FTDI usb-
vers-série. A la place, elle utilise un Atmega8U2 programmé en convertisseur USB-vers-série.
"Uno" signifie un en Italien et ce nom marque la venue prochaine de la version 1.0 du logiciel Arduino. La carte
UNO et la version 1.0 du logiciel seront la référence des versions Arduino à venir. La carte Uno est la dernière
d'une série de carte USB Arduino, et le modèle de référence des plateformes Arduino; pour une comparaison
avec les versions précédentes, voir l'index des cartes Arduino.

2.3 Synthèse des caractéristiques

Microcontrôleur ATmega328

Tension de fonctionnement 5V

Model exemple d’un mini-projet / TP : M1ESE /2019/2020


Page 10
Model Exemple d’un mini-projet

Tension d'alimentation
7-12V
(recommandée)

Tension d'alimentation (limites) 6-20V

Broches E/S numériques 14 (dont 6 disposent d'une sortie PWM)

Broches d'entréesanalogiques 6 (utilisables en broches E/S numériques)

Intensité maxi disponible par broche 40 mA (ATTENTION : 200mA cumulé pour l'ensemble
E/S (5V) des broches E/S)

Intensité maxi disponible pour la


50 mA
sortie 3.3V

Intensité maxi disponible pour la Fonction de l'alimentation utilisée - 500 mA max si port
sortie 5V USB utilisé seul

32 KB (ATmega328) dont 0.5 KB sont utilisés par le


MémoireProgramme Flash
bootloader

Mémoire SRAM (mémoire volatile) 2 KB (ATmega328)

Mémoire EEPROM (mémoire non


1 KB (ATmega328)
volatile)

Vitesse d'horloge 16 MHz

En raison du remplacement sur la carte Arduino UNO du CI de communication USB (FTDI auparavant) par un
CI
dédié, des problèmes de communication série existent sous Ubuntu avec les premières versions de la carte
Arduino UNO ( avant mai 2011 environ). Pour ces versions, il est nécessaire de reprogrammer le CI de
communication USB. Voir la page : Mise à jour carte Arduino UNO
2.4 Schéma et typon de référence

Fichier EAGLE : http://arduino.cc/en/uploads/Main/arduino-uno-reference-design.zip


Schémas : http://arduino.cc/en/uploads/Main/arduino-uno-schematic.pdf

2.5 Brochage de la carte Uno

Model exemple d’un mini-projet / TP : M1ESE /2019/2020


Page 11
Model Exemple d’un mini-projet

Fig 4. Brochage de la carte Arduino Uno (Cliquer pour élargir)

2.6 Alimentation

La carte Arduino Unopeut-être alimentée soit via la connexion USB (qui fournit 5V jusqu'à 500mA) ou à l'aide
d'une alimentation externe. La source d'alimentation est sélectionnée automatiquement par la carte.
L'alimentation externe (non-USB) peut être soit un adapteur secteur (pouvant fournir typiquement de 3V à 12V
sous 500mA) ou des piles (ou des accus). L'adaptateur secteur peut être connecté en branchant une prise 2.1mm
positif au centre dans le connecteur jack de la carte. Les fils en provenance d'un bloc de piles ou d'accus peuvent
être insérés dans les connecteurs des broches de la carte appelées Gnd (masse ou 0V) et Vin (Tension positive en
entrée) du connecteur d'alimentation.

Model exemple d’un mini-projet / TP : M1ESE /2019/2020


Page 12
Model Exemple d’un mini-projet

La carte peut fonctionner avec une alimentation externe de 6 à 20 volts. Cependant, si la carte est alimentée avec
moins de 7V, la broche 5V pourrait fournir moins de 5V et la carte pourrait être instable. Si on utilise plus de
12V, le régulateur de tension de la carte pourrait chauffer et endommager la carte. Aussi, la plage idéale
recommandée pour alimenter la carte Uno est entre 7V et 12V.
Les broches d'alimentation sont les suivantes :
 VIN. La tension d'entrée positive lorsque la carte Arduino est utilisée avec une source de tension
externe (à distinguer du 5V de la connexion USB ou autre source 5V régulée). Vous pouvez alimenter la carte
à l'aide de cette broche, ou, si l'alimentation est fournie par le jack d'alimentation, accéder à la tension
d'alimentation sur cette broche.
 5V. La tension régulée utilisée pour faire fonctionner le microcontrôleur et les autres composants de
la carte (pour info : les circuits électroniques numériques nécessitent une tension d'alimentation parfaitement
stable dite "tension régulée" obtenue à l'aide d'un composant appelé un régulateur et qui est intégré à la carte
Arduino). Le 5V régulé fourni par cette broche peut donc provenir soit de la tension d'alimentation VIN via le
régulateur de la carte, ou bien de la connexion USB (qui fournit du 5V régulé) ou de tout autre source
d'alimentation régulée.
 3V3. Une alimentation de 3.3V fournie par le circuit intégré FTDI (circuit intégré faisant l'adaptation
du signal entre le port USB de votre ordinateur et le port série de l'ATmega) de la carte est disponible : ceci
est intéressant pour certains circuits externes nécessitant cette tension au lieu du 5V). L'intensitémaximale
disponible sur cettebrocheest de 50mA
 GND. Broche de masse (ou 0V).
2.7 Mémoire
L'ATmega 328 a 32Ko de mémoire FLASH pour stocker le programme (dont 0.5Ko également utilisés par le
bootloader). L'ATmega 328 a également 2ko de mémoire SRAM (volatile) et 1Ko d'EEPROM (non volatile -
mémoire qui peut être lue à l'aide de la librairie EEPROM) .
Pour info : 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.
2.8 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, en utilisant les instructions pinMode(), digitalWrite()
et digitalRead() du langage Arduino. Ces broches fonctionnent en 5V. Chaque broche peut fournir ou recevoir
un maximum de 40mA d'intensité et dispose d'une résistance interne de "rappel au plus" (pull-up) (déconnectée
par défaut) de 20-50 KOhms. Cette résistance interne s'active sur une broche en entrée à l'aide de
l'instruction digitalWrite(broche, HIGH).
De plus, certaines broches ont des fonctions spécialisées :
 Communication Serie: Broches 0 (RX) et 1 (TX). Utilisées pour recevoir (RX) et transmettre (TX)
les données séries de niveau TTL. Ces broches sont connectées aux broches correspondantes du circuit intégré
ATmega8U2 programmé en convertisseur USB-vers-série de la carte, composant qui assure l'interface entre
les niveaux TTL et le port USB de l'ordinateur.

Model exemple d’un mini-projet / TP : M1ESE /2019/2020


Page 13
Model Exemple d’un mini-projet

 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. Voir
l'instruction attachInterrupt() pour plus de détails.
 Impulsion PWM (largeur d'impulsion modulée): Broches 3, 5, 6, 9, 10, et 11. Fournissent une
impulsion PWM 8-bits à l'aide de l'instruction analogWrite().
 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.
Voir également : Correspondance entre les broches de l'Arduino et les ports de l'ATmega168.
2.9 Broches analogiques
La carte 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àd sur 1024 niveaux soit de 0 à 1023) à l'aide de la très utile fonction analogRead() du
langage Arduino. 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 en utilisant la broche AREF et
l'instruction analogReference() du langage Arduino.
Note : 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.
Autres broches

Il y a deux autres broches disponibles sur la carte :


 AREF : Tension de référence pour les entrées analogiques (si différent du 5V). Utilisée avec
l'instruction analogReference().
 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.10 Communication
La carte Arduino Uno dispose de toute une série de facilités pour communiquer avec un ordinateur, une autre
carte Arduino, ou avec d'autres microcontrôleurs. L'ATmega 328 dispose d'une UART (Universal
AsynchronousReceiverTransmitter ou émetteur-récepteur asynchrone universel en français) pour
communication série de niveau TTL (5V) et qui est disponible sur les broches 0 (RX) et 1 (TX). Un circuit
intégré ATmega8U2 sur la carte assure la connexion entre cette communication série vers le port USB de
l'ordinateur et apparaît comme un port COM virtuel pour les logiciels de l'ordinateur. Le code utilisé pour
programmer l'ATmega8U2 utilise le driver standard USB COM, et aucun autre driver externe n'est nécessaire.
Cependant, sous Windows, un fichier .inf est requis.
Le logiciel Arduino inclut une fenêtre terminal série (ou moniteur série) sur l'ordinateur et qui permet d'envoyer
des textes simples depuis et vers la carte Arduino. Les LEDs RX et TX sur la carte clignote lorsque les données
sont transmises via le circuit intégré USB-vers-série et la connexion USB vers l'ordinateur (mais pas pour les
communications série sur les broches 0 et 1).
Model exemple d’un mini-projet / TP : M1ESE /2019/2020
Page 14
Model Exemple d’un mini-projet

Une librairie Série Logicielle permet également la communication série (limitée cependant) sur n'importe quelle
broche numérique de la carte UNO.
L'ATmega 328 supporte également la communication par protocole I2C (ou interface TWI (Two Wire Interface -
Interface "2 fils") et SPI :
 Le logiciel Arduino inclut la librairie Wire qui simplifie l'utilisation du bus I2C. Voir
la documentation pour les détails
 Pour utiliser la communication SPI (Interface Série Périphérique), la librairie pour communication
SPI est disponible.
2.11 Programmation
La carte Arduino Uno peut être programmée avec le logiciel Arduino (à télécharger ici). Il suffit de sélectionner
"Arduino Uno" dans le menu Tools >Board (en fonction du microcontrôleur présent sur votre carte). Pour plus
de détails sur le langage Arduino, voir la référence du langage Arduino et pour apprendre à programmer en
langage Arduino voir la page Apprendre.
Le microcontrôleur ATmega328 présent sur la carte Arduino Uno est livré avec un bootloader (petit programme
de démarrage) préprogrammé qui vous permet de transférer le nouveau programme dans le microcontrôleur sans
avoir à utiliser un matériel de programmation externe. Ce bootloader communique avec le microcontrôleur en
utilisant le protocol original STK500 (reference, fichiers C).
Vous pouvez bien sûr passer outre le bootloader et programmer le microcontrôleur via le connecteur ICSP ( In-
Circuit Serial Programming - "Programmation Série Dans le circuit" en français); voir ces instructions (en
anglais) pour plus de détails.
Le source du code pour le circuit intégré ATmega8U2 est disponible. L'ATmega8U2 est chargé avec un
bootloader DFU qui peut être activé en connectant le cavalier au dos de la carte (près de la carte de l'Italie) et en
réinitialisant le 8U2. Vous pouvez alors utiliser le logiciel FLIP de chez Atmel (Windows) ou le programmeur
DFU (Mac OS X et Linux) pour charger le nouveau code. Ou bien vous pouvez utiliser le connecteur ICSP avec
un programmateur externe (pour réécrire le bootloader DFU).
2.12 Réinitialisation (logicielle) automatique

Plutôt que de nécessiter un appui sur le bouton poussoir de réinitialisation avant un transfert de programme, la
carte Arduino UNO a été conçue de telle façon qu'elle puisse être réinitialisée par un logiciel tournant sur
l'ordinateur. Une des broches matérielles de contrôle du flux (DTR) du circuit intégré ATmega8U2 est connecté
à la ligne de réinitialisation de l'ATmega 328 via un condensateur de 100 nanofarads. Lorsque cette broche est
mise au niveau BAS, la broche de réinitialisation s'abaisse suffisamment longtemps pour réinitialiser le
microcontrôleur. Le logiciel Arduino utilise cette possibilité pour vous permettre de transférer votre programme
dans la carte par un simple clic sur le bouton de transfert de la barre de boutons de l'environnement Arduino.
Cela signifie que le bootloader peut avoir un temps mort plus court, la mise au niveau bas de la broche DTR
étant bien coordonnée avec le début du transfert du programme.
Ce fonctionnement a d'autres implications. Quand la carte Uno est connectée à un ordinateur fonctionnant soit
sous Mac Os X ou Linux, la carte se réinitialise à chaque fois qu'une connexion se fait entre elle et le logiciel
(via le port USB). Pendant la demi-seconde suivante, le bootloader s'exécute sur la carte Uno. Puisqu'il est
programmé pour ignorer les données mal formatées (càd toute donnée en plus du transfert d'un nouveau
programme), il interceptera les quelques premiers octets de donnée envoyé à la carte après qu'une connexion soit
établie. Si un programme s'exécutant sur la carte reçoit une configuration initiale ou d'autres données quand il

Model exemple d’un mini-projet / TP : M1ESE /2019/2020


Page 15
Model Exemple d’un mini-projet

démarre, assurez-vous que le logiciel avec lequel il communique attend une seconde après l'ouverture de la
connexion avant d'envoyer ces données.
La carte Uno comporte une piste (du circuit imprimé) que vous pouvez couper pour désactiver la réinitialisation
automatique. Les bords de chaque côté de la piste peuvent solidarisés ensemble pour la réactiver. Vous pouvez
également désactiver la réinitialisation automatique en connectant une résistance de 110 Ohms entre le +5V et la
ligne de réinitialisation (reset); voir ce fil du forum (en anglais) pour plus de détails.
2.13 Protection du port USB contre la surcharge en intensité

La carte Arduino Uno intègre un polyfusibleréinitialisable qui protège le port USB de votre ordinateur contre les
surcharges en intensité (le port USB est généralement limité à 500mA en intensité). Bien que la plupart des
ordinateurs aient leur propre protection interne, le fusible de la carte fournit une couche supplémentaire de
protection. Si plus de 500mA sont appliqués au port USB, le fusible de la carte coupera automatiquement la
connexion jusqu'à ce que le court-circuit ou la surcharge soit stoppé.
2.14 Caractéristiques

Les longueurs et largeurs maximales de la Uno sont respectivement 6.86 cm et 5.33 cm, avec le connecteur USB
et le connecteur d'alimentation Jack s'étendant au-delà des dimensions de la carte. Quatre trous de vis permettent
à la carte d'être fixée sur une surface ou dans un boîtier. Noter que la distance entre les broches 7 et 8 est de 0.16
pouces, et non un multiple des 0.1 pouces séparant les autres broches.
3.1 Introduction :

Un Arduino permet pas mal de choses. Un petit tour sur Hackaday.com devrait vous en convaincre... Toutefois, en
tant que débutant dans la matière et n'ayant que des concepts théoriques en électronique, il faut que je me tourne
vers des choses assez basiques. Sur ce point, il existe un excellent site: celui de ladyada, fondatrice
de Adafruit.com qui vend des circuits électroniques pour l'amateur et qui surfe sur la vague du hardware libre.

Sur le site de LadyAda, il y a un montage qui m'a particulièrement intéressé car il est assez simple sur la partie
électronique et il permet de commencer doucement à coder avec l'Arduino: c'est le montage sur le capteur de
température. Ce montage fait intervenir un capteur de type TMP36. Néanmoins, mon magasin d'électronique le
plus proche n'avait pas ça en stock. Je me suis rabattu vers quelquechose de plus conventionnel: un LM335 (lien
vers datasheet). Le fonctionnement du capteur est différent de celui présenté sur le site de ladyada. En effet, le
LM335 se comporte comme une diode Zener (une diode qui maintient une tension quasi constante à ses bornes sur
une plage large d'intensité). Pour peu qu'on lui fournisse suffisamment de courant (entre 450µA et 5mA), on peut
lire la température en °K par pas de 10 mV.

La plage des °K est la même que celle des °C à la différence près que 0°K = -273,15 °C. Ainsi, à 20°C, la
température sera de 293,15 °K. Ce qui correspond à 293,15°K*10mV = 2,9315 V !

Model exemple d’un mini-projet / TP : M1ESE /2019/2020


Page 16
Model Exemple d’un mini-projet

L'objectif est très simple: transformer un ARduino en interface PC<---->Capteur de température, de manière à
ramener les données sur la machine. Ce petit exercice fait intervenir du code basique pour Arduino: prendre une
mesure analogique et envoyer les données par le port USB.

3.2 Schéma

Voici à quoi ça pourrait ressembler :

Fig 5. branchement du LM335 en boitier TO92

Pour le branchement du LM335 en boitier TO92, la datasheet indique le branchement des bornes avec une vue
par dessous le composant et non par dessus... Ca à l'air trivial mais j'avais inversé le branchement et les résultats
étaient franchement bizarres (mesure entre ADJ et V+).
3.3 calcul:

Pour le calcul de la résistance, j'ai appliqué la formule suivante:

 Nous serons à presque 20°C de température ambiante.


 A cette température, la tension aux borne du LM335 sera de 2,9315V.
 A noter que sur une place de 0°C à 40°C, la tension aux bornes du LM335 variera peu: de 2,73V à 3,13 V.
 L'Arduino permet de sortir un courant continu de 5V.
 La tension aux bornes de la résitance devrait être de 5V - 2,93 soit environ 2V.
 Nous voulons que le courant soit dans les limites du LM335. La valeur de 1mA devrait faire l'affaire.
 U=RI donc R=U/I soit R=2/0,001 = 2000 Ohms.
 Dans mon stock, j'ai des résistances de 2,2kOhms, ça fera bien l'affaire (I sera égal à 0,0009mA).

Model exemple d’un mini-projet / TP : M1ESE /2019/2020


Page 17
Model Exemple d’un mini-projet

4 .1 REAL TIME COLCK

Fig 6. le composant DS3231


 le composant DS3231 est une horloge temps réel (RTC) qui contient le quartz
 compensée pour les dérives suivant la température
 datasheet du composant,
 la communication se fait via le bus i2C (broches SDA & SCL)
 les dates et heures sont mémorisées grâce à une pile CR2032

4.2 Branchement

Model exemple d’un mini-projet / TP : M1ESE /2019/2020


Page 18
Model Exemple d’un mini-projet

Fig 7. Branchement

PARTIE PRATIQUE
1 - Image De Project :

Fig 8. Arduino et plaque d’essai

Model exemple d’un mini-projet / TP : M1ESE /2019/2020


Page 19
Model Exemple d’un mini-projet

2 - Simulation

Arduino et plaque d’essai

2 câble dans le coté droit +- de plaque d’essai va a GND et V5 De Arduino


pourDistribution d'électricité
2 câbles dans la plaque d’essai dans le coté gauche va a le coté droite
On 3 Cable dans les portes 6.7.8 de Arduino va a les places des buttons
RTC . Arduino

Rtc est compose de 4 porte

Fig 9. 2ports Ils vont a Arduino Porte A5 Et A4 . 2 ports vont a plaque d'essai

Détecteur de température

Model exemple d’un mini-projet / TP : M1ESE /2019/2020


Page 20
Model Exemple d’un mini-projet

Fig 10. Un câble va a la carte Arduino uno au port A0

L’ écouteur ou le Haut-parleur et Arduino

Fig 11. Cable noir va a GND de Arduino et Le câble blan va au Port 3 de Arduino

3 - Programme Arduino :

Model exemple d’un mini-projet / TP : M1ESE /2019/2020


Page 21
Model Exemple d’un mini-projet

Model exemple d’un mini-projet / TP : M1ESE /2019/2020


Page 22
Model Exemple d’un mini-projet

Model exemple d’un mini-projet / TP : M1ESE /2019/2020


Page 23
Model Exemple d’un mini-projet

Model exemple d’un mini-projet / TP : M1ESE /2019/2020


Page 24
Model Exemple d’un mini-projet

Conclusion générale:
Il existe déjà des produits conçus pour aider des non et des malvoyants e .C'est le cas de notre travail ou
nous avons présenté un objet pratique et accessible qui peut améliorer la vie quotidienne des aveugles.
Comme nous l'avons discuté , les technologies restent peu accessibles au mal ou non voyants. Cette
technologie pourrait donc être un pas vers le monde avenir.

Cette réalisation permet aux aveugles de connaitre le jour, l’ heure (avec : minutes et secondes ) ainsi que
la météo a tout moment .
L'assistant vocal pour non voyants est un circuit a boutons muni d'un Arduino simple d'emploi (appuie
bouton) avec des fonctions de base.
Ce boitier électronique est tres facile a manipuler, juste en touchant un de ses boutons pour entendre l'audio de
météo ou de date ou de l’heure.
La réalisation ( Assistant aveugle) a été testée avec succès dans laquelle nous avons le plaisir pour ambition
d'aider les aveugles et faciliter leur vie .

Model exemple d’un mini-projet / TP : M1ESE /2019/2020


Page 25

Vous aimerez peut-être aussi