Inhoudsopgave:

Capteur Temperature Choix Du Type Degres Par Infrarouge - Ajarnpa
Capteur Temperature Choix Du Type Degres Par Infrarouge - Ajarnpa

Video: Capteur Temperature Choix Du Type Degres Par Infrarouge - Ajarnpa

Video: Capteur Temperature Choix Du Type Degres Par Infrarouge - Ajarnpa
Video: Fonctionnement du capteur de température à infrarouge GY906 2024, November
Anonim
Capteur Temperature Choix Du Type Degres Par Infrarouge
Capteur Temperature Choix Du Type Degres Par Infrarouge

ENGELSE VERSIE HIER Dans ce program nous allons voir comment capter une température et afficher sa valeur sur un lecteur LCD en choisissant si on veut l'afficher en°C ou °F grâce à une télécommande infrarouge. Dans ce tuto j'utilise: -Une carte SainSmart (vergelijkbaar met Arduino UNO) -Un lecteur LCD QC1602A -Un variateur -Un capteur de température LM35 -Un capteur infrarouge VS838 -Une weerstand van 330kΩ -Des fils de connexion -Une grille de verband

Stap 1:

Alle mogelijke verbindingen: -De poort GND van de kaart Arduino en de branche op de colonne "-" de la grille -De poort 5V de la carte Arduino en de branche op de colonne "+" de la grille -La pin VSS op het LCD-scherm se branche sur la colonne "-" de la grille (GND=Masse). -La pin VDD du lecteur LCD se branche sur la colonne "+" de la grille (5V). -La pin V0 du lecteur LCD se branche sur La pin centrale du variateur. -De poort is 7 de la carte est branché sur le port RS du lecteur LCD. -Le port 8 de la carte est branché sur le port E du lecteur LCD. -Le port 9 de la carte est branché sur le port D4 du lecteur LCD. -Le port 10 de la carte est branché sur le port D5 du lecteur LCD. -Le port 11 de la carte est branché sur le port D6 du lecteur LCD. -Le port 12 de la carte est branché sur le port D7 du lecteur LCD. -Le port A0 de la carte est branché a la pin centrale du capteur LM35. -La branche entaillee du capteur LM35 se branche sur la colonne "+" de la grille (5V)(Pin de droite quand le capteur est face a l'utilisateur). -La branche restante du capteur LM35 se branche sur la colonne "-" avec une weerstand sur la grille (GND=Masse). -Les 2 pins exterieur du variateur se branchent sur la colonne "-" de la grille (GND=Masse). -La pin RW du lecteur LCD se branche sur la colonne "-" de la grille (GND=Masse). -La pin A du lecteur LCD se branche sur la colonne "+" de la grille (5V). -La pin K du lecteur LCD se branche sur la colonne "-" de la grille (GND=Masse). -La pin de gauche (lorsque que le capteur est face à l'utilisateur) du capteur infrarouge se branche sur le port 2 de la carte Arduino. -La pin centrale du capteur infrarouge se branche sur la colonne "-" de la grille (GNS = Mass). -La pin de droite du capteur infrarouge se branche sur la colonne "+" de la grille (5V).

Stap 2:

Ajoutez la bibliothèque du capteur infrarouge à Arduino. https://www.mediafire.com/download/jd5j7911amju36g/IRremote.zip Faites des tests pour reconnaitre vos code infrarouge avec ce programma. #include int IRpin = 11; IRrecv irrecv(IRpin); decode_results resultaten; void setup() { Serial.begin(9600); onrecv.enableIRIn(); // Start de ontvanger } void loop() { if (irrecv.decode(&results)) { Serial.println(results.value, DEC); // Print de seriële 'results.value' irrecv.resume(); // Ontvang de volgende waarde } }bron

Stap 3:

Copiez et collez le program suivant en modifiant vos "results.value" /* Program permettant d'afficher d'afficher d'afficher the température en °C of °F selon le choix de l'utilisateur grâce à une télécommande infrarouge sur un lecteur LCD. Het programma is geschreven door Pierre-Olivier TILLOY en het is een libre de modificatie van een jaloersmakend programma. Branchement à réaliser: -Le port GND de la carte Arduino se branche op de colonne "-" de la grille -Le port 5V de la carte Arduino se branche sur la colonne "+" de la grille -La pin VSS du lecteur LCD se branche sur la colonne "-" de la grille (GND=Masse). -La pin VDD du lecteur LCD se branche sur la colonne "+" de la grille (5V). -La pin V0 du lecteur LCD se branche sur La pin centrale du variateur. -De poort is 7 de la carte est branché sur le port RS du lecteur LCD. -Le port 8 de la carte est branché sur le port E du lecteur LCD. -Le port 9 de la carte est branché sur le port D4 du lecteur LCD. -Le port 10 de la carte est branché sur le port D5 du lecteur LCD. -Le port 11 de la carte est branché sur le port D6 du lecteur LCD. -Le port 12 de la carte est branché sur le port D7 du lecteur LCD. -Le port A0 de la carte est branché a la pin de gauche du capteur LM35. -La pin de droite du capteur LM35 se branche sur la colonne "+" de la grille (5V)(Pin de droite quand le capteur est face a l'utilisateur). -La branche restante du capteur LM35 se branche sur la colonne "-" avec une résistance (de 330kΩ) sur la grille (GND=Masse). -Les 2 pins exterieur du variateur se branchent sur la colonne "-" de la grille (GND=Masse). -La pin RW du lecteur LCD se branche sur la colonne "-" de la grille (GND=Masse). -La pin A du lecteur LCD se branche sur la colonne "+" de la grille (5V). -La pin K du lecteur LCD se branche sur la colonne "-" de la grille (GND=Masse). -La pin de gauche (lorsque que le capteur est face à l'utilisateur) du capteur infrarouge se branche sur le port 2 de la carte Arduino. -La pin centrale du capteur infrarouge se branche sur la colonne "-" de la grille (GNS = Mass). -La pin de droite du capteur infrarouge se branche sur la colonne "+" de la grille (5V). Pour les carte SainSmart, l'interrupteur d'alimentation de la carte doit étre place sur 5V. /!\ VERIFIER QUE LES FILS SONT BIEN TAKKEN SINON LA VALEUR INDIQUEE PAR L'ECRAN PEUT ETRE FAUSSE/!\ */ #include //Inclue la bibilothèque infrarouge. #include //Inclue la bibliothèque du lecteur LCD. int tempPin = 0; //On definieer de variabele om de capteur te bepalen met een initiale valeur van 0. float tempC = 0; //On definieert een variabele temperatuur en celcius à laquelle op een vooraf ingestelde waarde van 0. float tempF = 0; //On definieert een variabele temperatuur en fahrenheit à laquelle op een vooraf ingestelde waarde van 0. LiquidCrystal lcd (7, 8, 9, 10, 11, 12); //On défini quelles sont les pins de l'interface LCD. int IRpin = 2; //On declare que la variable qui envoie la donnée du capteur infrarouge à la carte Arduino est branchée sur la pin 2. IRrecv irrecv(IRpin); //On declare que la variable IRpin est la pin qui reçoit la donnée infrarouge. decode_results resultaten; //On decode le signaal infrarood. void setup () { Serial.begin (9600); //Le transfère de données se fait en 9600 bauds. onrecv.enableIRIn(); //Active le processus de récéption. lcd.begin (16, 2); //Indicatie van de naam van de spreker van het LCD-scherm. lcd.setCursor(3, 0); //On indique o begin le text à afficher. lcd.print("Capteur de"); //On indique le text à afficher. lcd.setCursor (3, 1); lcd.print("Temperatuur"); vertraging (2000); //On indique le temps de l'affichage (en miliseconden). lcd.wissen(); //Efface l'écran. lcd.setCursor(3, 0); lcd.print("Programma"); lcd.setCursor (3, 1); lcd.print("ecrit par"); vertraging (2000); lcd.wissen(); lcd.setCursor(1, 0); lcd.print("Pierre-Olivier"); lcd.setCursor(5, 1); lcd.print("TILLOY"); vertraging (3500); lcd.wissen(); } void loop () { if (irrecv.decode(&results)) { // Ontvangst van code infrarouge. Serial.println (resultaten.waarde, DEC); //Imprime la valeur du code reçu dans le moniteur de série. irrev.resume(); //Prépare le capteur à recevoir un nouveau code. } Serieel.println(""); Serial.println("Geef de temperatuur op: "); //Imprime dans le moniteur de série le text. Serial.println(analogRead(tempPin)); //Imprime dans le moniteur de série la valeur reçu par le capteur de température. int onbewerkte spanning = analogRead (tempPin); //On défini une variabele égale à la valeur analogique du capteur de température. tempC = ((ruwspanning/1024.0)*5000.0)/100; //La variabele tempC prend la valeur du calcul. Seriële.println (tempC); //Om de nieuwe valeur van de variabele tempC te imprimeren dan de serie moniteur. lcd.setCursor(1, 0); lcd.print("La temperatuur"); lcd.setCursor(1, 1); lcd.print("est de "); if (results.value == 16724175) { //Remplacer le "16724175" par la valeur qui correspond à votre code infrarouge. //Si votre valeur choisie égale la valeur reçu executer le program suivant. lcd.setCursor(8, 1); lcd.print(tempC); lcd.setCursor(14, 1); lcd.print("C"); vertraging (500); } int tempF = (tempC * 9)/5 + 32; //Conversion de la température en fahrenheit. Serieel.println (tempF); //Imprimer la nouvelle valeur de tempF dans le moniteur de série. if (results.value == 16718055) {//Remplacer le "16718055" par la valeur qui correspond à votre code infrarouge. //Si votre valeur choisie égale la valeur reçu executer le program suivant. lcd.setCursor(8, 1); lcd.print(tempF); lcd.setCursor(14, 1); lcd.print("F"); vertraging (500); } } //Fin du program, il herbegin au début de void loop.

Stap 4:

Aanbevolen: