Tabla de contenido:

Capteur Temperature Choix Du Type De Degres Par Infrarouge: 4 pasos (con imágenes)
Capteur Temperature Choix Du Type De Degres Par Infrarouge: 4 pasos (con imágenes)

Video: Capteur Temperature Choix Du Type De Degres Par Infrarouge: 4 pasos (con imágenes)

Video: Capteur Temperature Choix Du Type De Degres Par Infrarouge: 4 pasos (con imágenes)
Video: Zigbee Термостат для управления теплым водяным полом MOES BHT-006GAZB 2024, Noviembre
Anonim
Capteur Temperature Choix Du Type Degres Par Infrarouge
Capteur Temperature Choix Du Type Degres Par Infrarouge

VERSIÓN EN INGLÉS AQUÍ 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 o ° F grâce à une télécommande infrarouge. Dans ce tuto j'utilise: -Une carte SainSmart (similar à Arduino UNO) -Un lecteur LCD QC1602A -Un variateur -Un capteur de température LM35 -Un capteur infrarouge VS838 -Une résistance de 330kΩ -Des fils de connexion -Une grille de conexión

Paso 1:

Faire les connexions suivantes: -Le port GND de la carte Arduino se branche sur la 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. -Le port 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 résistance 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).

Paso 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 program. #include int IRpin = 11; IRrecv irrecv (IRpin); decode_results resultados; configuración vacía () {Serial.begin (9600); irrecv.enableIRIn (); // Iniciar el receptor} void loop () {if (irrecv.decode (& results)) {Serial.println (results.value, DEC); // Imprime el Serial 'results.value' irrecv.resume (); // Recibir el siguiente valor}} fuente

Paso 3:

Copiez et collez le program suivant en modifiant vos "results.value" / * Program permettant d'afficher la température en ° C ou ° F selon le choix de l'utilisateur grâce à une télécommande infrarouge sur un lecteur LCD. Le program est écrit par Pierre-Olivier TILLOY et est libre de modificación par qui en a envie. Branchement à réaliser: -Le port GND de la carte Arduino se branche sur la 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. -Le port 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 etre place sur 5V. /! / VERIFIER QUE LES FILS SONT BIEN SUCURSALES 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; // En la definición de la variable reçu par le capteur avec une valeur initial de 0. float tempC = 0; // En la definición de una variable de temperatura en celcius à laquelle en prédéfini une valeur de 0. float tempF = 0; // Sobre la definición de una variable de temperatura en grados Fahrenheit à laquelle en un prédéfini une valeur de 0. LiquidCrystal lcd (7, 8, 9, 10, 11, 12); // En défini quelles sont les pins de l'interface LCD. int IRpin = 2; // On déclare 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 déclare que la variable IRpin est la pin qui reçoit la donnée infrarouge. decode_results resultados; // En la infrarouge de señal de décode. configuración vacía () {Serial.begin (9600); // Le transfère de données se fait en 9600 baudios. irrecv.enableIRIn (); // Active le processus de récéption. lcd. comienzo (16, 2); // Indique el nombre de caso por ligne puis le nombre de ligne du lecteur LCD. lcd.setCursor (3, 0); // En indique où commence le text à afficher. lcd.print ("Capteur de"); // En indique le text à afficher. lcd.setCursor (3, 1); lcd.print ("Temperatura"); retraso (2000); // En indique le temps de l'affichage (en milisecondes). lcd.clear (); // Elimina l'écran. lcd.setCursor (3, 0); lcd.print ("Programa"); lcd.setCursor (3, 1); lcd.print ("ecrit par"); retraso (2000); lcd.clear (); lcd.setCursor (1, 0); lcd.print ("Pierre-Olivier"); lcd.setCursor (5, 1); lcd.print ("TILLOY"); retraso (3500); lcd.clear (); } void loop () {if (irrecv.decode (& results)) {// Tente de recevoir un code infrarouge. Serial.println (valor.resultados, DEC); // Imprime la valeur du code reçu dans le moniteur de série. irrecv.resume (); // Prépare le capteur à recevoir un nouveau code. } Serial.println (""); Serial.println ("Donnee brut recu par le capteur de temperature:"); // 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 rawvoltage = analogRead (tempPin); // Sobre la definición de una variable égale à la valeur analogique du capteur de température. tempC = ((voltaje bruto / 1024.0) * 5000.0) / 100; // La variable tempC prend la valeur du calcul. Serial.println (tempC); // Om imprime la nouvelle valeur de la variable tempC dans le moniteur de série. lcd.setCursor (1, 0); lcd.print ("La temperatura"); lcd.setCursor (1, 1); lcd.print ("est de"); if (results.value == 16724175) {// Remplacer le "16724175" par el valeur qui corresponde à votre code infrarouge. // Si votre valeur choisie égale la valeur reçu ejecuter le program suivant. lcd.setCursor (8, 1); lcd.print (tempC); lcd.setCursor (14, 1); lcd.print ("C"); retraso (500); } int tempF = (tempC * 9) / 5 + 32; // Conversión de la température en fahrenheit. Serial.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 corresponde à votre code infrarouge. // Si votre valeur choisie égale la valeur reçu ejecuter le program suivant. lcd.setCursor (8, 1); lcd.print (tempF); lcd.setCursor (14, 1); lcd.print ("F"); retraso (500); }} // Fin del programa, reinicia el bucle del vacío.

Paso 4:

Recomendado: