Computing">
Projet Tuteuré
Projet Tuteuré
Projet Tuteuré
Guinée
Institut supérieur des technologies avancées
Projet tuteuré
INTRODUCTION
Dans ce travail nous avons fait la conception d’un thermomètre à base de la carte
ARDUINO / UNO. Puissent les pages suivantes nous donner davantage sur la
description de cet outil de conception et son influence positive dans la réalisation
de notre thermomètre.
DESCRIPTION
ARDUINO est une carte électronique (dont les plans sont publiés en licence libre) intégrant
principalement un microcontrôleur ATMEL qui peut être programmé pour analyser et produire
des signaux électriques, de manière a effectué des taches très diverses : la domotique,
l’industries, la sécurité, le pilotage d’un robot…etc. Comme tout système minimum à base de
microprocesseur, la carte dispose d’un circuit d’horloge à quartz pour le pilotage du
microcontrôleur, un circuit de remise à zéro, des bornes d’alimentation, des ports d’entrées /
sorties, des ports de communication séries asynchrones, des mémoires, des connecteurs
d’alimentation.
La carte Arduino peut donc être alimenté de deux façons : soit par le port USB relié à
l’ordinateur, soit avec un transformateur secteur de tension adéquat via la prise jack (on peut
aussi utiliser des piles).
Arduino accepte des tensions continues de 6V a 20V mais il est conseillé de ne pas dépasser les
12V. la carte est dotée d’un régulateur de tension qui va ramener la tension d’alimentation a 5V
et la garder constante au cas où on l’alimente avec une tension supérieure. De toute manière, en
alimentant l’Arduino au port USB de l’ordinateur on est sûre d’avoir une tension de 5V.
Le rôle du µC étant d’exécuter les programmes stockés en mémoire. Il existe 3 types de mémoire
dans une carte Arduino :
La mémoire FLASH : elle sert à stocker les programmes à exécuter par le CPU ; c’est une
mémoire non volatile, ce qui signifie que les données sont conservées même lorsqu’on
coupe l’alimentation.
La mémoire SRAM (Statice Random Access Memory) : cette mémoire permet de stocker
des données temporaires tel que les variables de notre programme. Contrairement à la
mémoire FLASH, la SRAM est une mémoire volatile. Elle est très rapide et l’Arduino UNO en
possède seulement 2Ko. C’est la mémoire de travail.
La mémoire EEPROM (Electrically Erasable Programmable Read Only Memory) ou mémoire
morte effaçable électriquement et programmable) : elle permet le stockage des données
persistantes. C’est une mémoire lente mais non volatile. L’Arduino UNO possède 1Ko de
cette mémoire. C’est le disque dur de notre carte.
Il existe donc différentes versions de cartes Arduino (L’Arduino UNO, MEGA, NANO…) en fonction
des ressources qu’elle dispose : capacités mémoires, nombres d’entrées /sorties, etc…
Notre thermomètre utilise un capteur LM335 pour la mesure analogique de température. La ddp
aux bornes de la diode LM335 varie en fonction de la température. La conversion A/N, les calculs,
et le traitement des informations sont confiés au microcontrôleur qui effectue ces taches suivant
le programme enfoui en mémoire.
La LM335 est capable de mesurer des températures allant de -55°C à +150°C dans sa version la
plus précise et avec un montage adéquat, de quoi mesurer n’importe quelle température.
Chaque variation de T°C correspond à une variation de tension de 10mV.
Dans ce projet, le capteur va mesurer la température qu’il envoie à l’entrée A0 D’ARDUINO. Donc
il faut convertir la valeur analogique du LM335 en 10bit numériques et pour le faire on doit
utiliser la relation de variation de température en fonction de la tension de sortie du capteur.
Pour L’ARDUINO
0°C 0V ;
1°C 10mV
100°C 1V
Vout est chaque fois multiplie par 100 pour chaque augmentation d’un degré de température.
4 : LE POTENTIOMÈTRE
Dans notre montage, nous ajoutons un potentiomètre qui nous permet de varier la luminosité
de l’écran.
2- LE PROGRAMME PRINCIPALE
Nous avons utilisé le logiciel d’Arduino pour programmer notre thermomètre.
#include <LiquidCrystal.h>
LiquidCrystal lcd(7,6,5,4,3,2);
float Temp;
int tempPin = 0;
int redledpin = 8;
float maxTemp = 0;
byte smiley[8] = {
B00000,
B01010,
B00000,
B00000,
B10001,
B01110,
B00000,
B00000};
void setup() {
pinMode(redledpin, OUTPUT);
lcd.createChar(0,smiley);
lcd.begin(16,2);
delay(1000);
lcd.write(byte(0));
lcd.setCursor(4,0);
lcd.print("bienvenue");
lcd.setCursor(15,0);
lcd.write(byte(0));
delay(4000);
lcd.clear();
delay(1000); }
void loop() {
Temp = analogRead(tempPin);
lcd.setCursor(2,0);
lcd.print("Temp=");
lcd.setCursor(7,0);
lcd.print(Temp,1);
lcd.setCursor(11,0);
lcd.print((char)223);
lcd.setCursor(12,0);
lcd.print("c");
lcd.setCursor(0,1);
lcd.print("Min=");
lcd.setCursor(4,1);
lcd.print(minTemp,1);
lcd.setCursor(8,1);
lcd.print("Max=");
lcd.setCursor(12,1);
lcd.print(maxTemp,1);
if(Temp>25)
{ digitalWrite(redledpin, HIGH);
delay(1000);}
if(Temp<25)
{ digitalWrite(redledpin, LOW);
delay(1000);}
Si la Eteindre
température la LED
<25°C
2 : SIMULATION SUR ISIS
Avant de commencer la réalisation pratique de notre projet nous avons fait une simulation sur
Proteus 8 (ISIS) pour assurer le bon fonctionnement de notre projet et pour vérifier que le
programme est correct.
CONCLUSION
La réalisation de ce projet nous a énormément appris, soit au niveau de l’électronique ou bien
au niveau de la programmation dans Arduino. Nous avons aussi acquis de nouvelles
connaissances au niveau de la gestion du temps durant la réalisation du projet.
Nous étions fascinés par le domaine de l’électronique et de l’informatique, et nous trouvons la
combinaison parfaite de ces deux domaines vivants dans l’Arduino. Ce travail reste incomplet et
perfectible. Nous espérons qu’il sera une initiative visant à développer notre connaissance dans
les futures.