![Affichage LCD de la température en C ou F en choisissant le type avec une télécommande infrarouge: 4 étapes Affichage LCD de la température en C ou F en choisissant le type avec une télécommande infrarouge: 4 étapes](https://img.gwsigeps.com/img/circuits/lcd-display-of-temperature-in-c-or-f-by-choosing-the-type-with-an-ir-remote-2.jpg)
Table des matières:
VERSION FRANCAISE ICI
Dans ce programme, nous verrons comment capturer une température, l’afficher sur un écran LCD et choisir si nous voulons l’afficher en C ou en F avec une télécommande infrarouge.
Dans ce tuto j'utilise:
-Une carte Sainsmart (comme Arduino UNO)
-A LCD QC1602A
-Un variateur
-Un capteur de température LM35
-Un capteur infrarouge VS838
-Une résistance de 330kOhm
-Jumpers
-Une grille de connexion
Provisions:
Étape 1: connexions
Lien:
Le port -GND de la carte Arduino se branche sur la colonne "-" de la grille. (GND)
Le port -5V de la carte Arduino se branche sur la colonne "+" de la grille.
-La broche LCD VSS se branche à la colonne "-" de la grille (GND).
-La broche LCD VDD se branche sur la colonne "+" de la grille (5V).
-La broche LCD V0 se branche sur la broche centrale du variateur.
-Le numéro de port de la carte Arduino 7 se branche sur la broche LCD RS.
-Le numéro de port de la carte Arduino 8 se branche sur la broche LCD E.
-Le numéro de port de la carte Arduino 9 se branche sur la broche LCD D4.
-Le numéro de port de la carte Arduino 10 se branche à la broche D5 de l'écran LCD.
-Le numéro de port de la carte Arduino 11 se branche à la broche D6 de l'écran LCD.
-Le numéro de port de la carte Arduino 12 se branche sur la broche D7 de l'écran LCD.
-Le port de carte Arduino A0 se branche sur le capteur LM35 central.
Une broche LM35 notée se branche sur la colonne "+" de la grille. (5V) (broche droite lorsque le capteur est orienté vers l'utilisateur).
-Les broches LM35 restantes se connectent à la colonne "-" avec une résistance (330 kΩ).
-Les 2 broches de variateur extérieures se connectent à la colonne "-" de la grille.
-La broche LCD RW se branche à la colonne "-" de la grille.
-LCD Une broche se branche à la colonne "+" de la grille.
-La broche K KLCD se branche à la colonne "-" de la grille.
-La broche du capteur infrarouge gauche (lorsque le capteur fait face à l'utilisateur) se branche sur le port 2 de la carte Arduino.
- Une broche de capteur infrarouge centrale se branche sur la colonne "-" de la grille.
-La broche du capteur infrarouge droit se branche sur la colonne "+" de la grille.
Étape 2:
Ajouter une bibliothèque distante IR
Faites des tests pour reconnaître votre code infrarouge avec ce programme.
#include "IRremote.h"
int IRpin = 11;
IRrecv irrecv (IRpin);
decode_results results;
void setup()
{
Serial.begin (9600);
irrecv.enableIRIn (); // Démarrer le récepteur
}
boucle vide ()
{
if (irrecv.decode (& results))
{
Serial.println (results.value, DEC); // Affiche la valeur série 'results.value'
irrecv.resume (); // Recevoir la valeur suivante
}
}
la source
Étape 3:
Copiez et collez le programme suivant.
N'oubliez pas de changer votre "résultats.valeur"
/*
Ce programme vous permettra d’afficher sur un écran LCD la température du lieu en ° C ou ° F à la demande de l’utilisateur, à l’aide d’une télécommande infrarouge.
Ce programme est écrit par Pierre-Olivier TILLOY est libre de modification.
Lien:
Le port -GND de la carte Arduino se branche sur la colonne "-" de la grille. (GND)
Le port -5V de la carte Arduino se branche sur la colonne "+" de la grille.
-La broche LCD VSS se branche à la colonne "-" de la grille (GND).
-La broche LCD VDD se branche sur la colonne "+" de la grille (5V).
-La broche LCD V0 se branche sur la broche centrale du variateur.
-Le numéro de port de la carte Arduino 7 se branche sur la broche LCD RS.
-Le numéro de port de la carte Arduino 8 se branche sur la broche LCD E.
-Le numéro de port de la carte Arduino 9 se branche sur la broche LCD D4.
-Le numéro de port de la carte Arduino 10 se branche à la broche D5 de l'écran LCD.
-Le numéro de port de la carte Arduino 11 se branche à la broche D6 de l'écran LCD.
-Le numéro de port de la carte Arduino 12 se branche sur la broche D7 de l'écran LCD.
-Le port de carte Arduino A0 se branche sur la broche gauche du capteur LM35.
-La broche LM35 droite se branche sur la colonne "+" de la grille. (5V) (broche droite lorsque le capteur est orienté vers l'utilisateur).
- La broche réseau LM35 se branche sur la colonne "-" avec une résistance (330 kΩ).
-Les 2 broches de variateur extérieures se connectent à la colonne "-" de la grille.
-La broche LCD RW se branche à la colonne "-" de la grille.
-LCD Une broche se branche à la colonne "+" de la grille.
-La broche K KLCD se branche à la colonne "-" de la grille.
-La broche du capteur infrarouge gauche (lorsque le capteur fait face à l'utilisateur) se branche sur le port 2 de la carte Arduino.
- Une broche de capteur infrarouge centrale se branche sur la colonne "-" de la grille.
-La broche du capteur infrarouge droit se branche sur la colonne "+" de la grille.
Pour la carte Sainsmart, veuillez vérifier que le commutateur d’alimentation est réglé sur 5V.
/! VÉRIFIEZ QUE LES CÂBLES SONT BRANCHÉS AUTREMENT QUE L’ÉCRAN LCD PEUT AFFICHER UNE VALEUR ERRONÉE /!
*/
#include "IRremote.h" // Inclut la bibliothèque infrarouge.
#include "LiquidCrystal.h" // Inclut la bibliothèque LCD.
int tempPin = 0; // Nous définissons la variable reçue par le capteur avec une valeur de 0.
float tempC = 0; // Nous définissons une variable de température dans celcius dans laquelle nous prédéfinissons une valeur de 0.
float tempF = 0; // Nous définissons une variable de température en fahrenheit dans laquelle nous prédéfinissons une valeur de 0.
Liquid Crystal Crystal (7, 8, 9, 10, 11, 12); // Nous définissons quelles sont les broches d'interface LCD.
int IRpin = 2; // Nous déclarons la variable d'abandon des capteurs du capteur infrarouge sur le port 2 de la carte Arduino.
IRrecv irrecv (IRpin); // Nous déclarons que la variable IRpin est la broche qui reçoit les données infrarouges.
decode_results results; // Nous décodons le signal infrarouge.
void setup () {
Serial.begin (9600); // Le transfert de données se fait en 9600bps.
irrecv.enableIRIn (); // Activer le processus de réception.
lcd.begin (16, 2); // Indique le nombre de carrés par ligne, puis le nombre de lignes de l'écran LCD.
lcd.setCursor (3, 0); // Nous indiquons où commence le texte à afficher.
lcd.print ("température"); // Nous indiquons le texte à afficher.
lcd.setCursor (5, 1);
lcd.print ("Capteur");
délai (2000); // On définit l'heure d'affichage (en millisecondes).
lcd.clear (); // Efface l'écran.
lcd.setCursor (4, 0);
lcd.print ("Programme");
lcd.setCursor (3, 1);
lcd.print ("écrit par");
délai (2000);
lcd.clear ();
lcd.setCursor (1, 0);
lcd.print ("Pierre-Olivier");
lcd.setCursor (5, 1);
lcd.print ("TILLOY");
retard (3500);
lcd.clear ();
}
boucle vide () {
if (irrecv.decode (& results)) {// Essayez de recevoir un code infrarouge.
Serial.println (results.value, DEC); // Affiche le code de valeur sur le moniteur série.
irrecv.resume (); // prépare le capteur pour recevoir un nouveau code.
}
Serial.println ("");
Serial.println ("Donnee brut recu par le capteur de température:"); // Imprimez le texte sur le moniteur série.
Serial.println (analogRead (tempPin)); // Affiche la valeur du capteur de température sur le moniteur série.
int rawvoltage = analogRead (tempPin); // On définit une variable égale à la valeur du capteur de température analogique.
tempC = ((tension brute / 1024,0) * 5000,0) / 100; // La variable tempC prend la valeur de calcul.
Serial.println (tempC); // Nous imprimons la nouvelle valeur tempC dans le gestionnaire de série.
lcd.setCursor (3, 0);
lcd.print ("température");
lcd.setCursor (4, 1);
lcd.print ("est");
if (results.value == 16724175) {// Remplacez "16724175" par la valeur correspondant à votre code infrarouge. Si votre valeur choisie est égale à la valeur de réception, exécutez le programme suivant.
lcd.setCursor (7, 1);
lcd.print (tempC);
lcd.setCursor (13,1);
lcd.print ("C");
retard (500);
}
int tempF = (tempC * 9) / 5 + 32; // Conversion de la température en fahrenheit.
Serial.println (tempF); // Nous imprimons la nouvelle valeur tempF dans le moniteur série.
if (results.value == 16718055) {// Remplacez "16718055" par la valeur correspondant à votre code infrarouge. Si votre valeur choisie est égale à la valeur de réception, exécutez le programme suivant.
lcd.setCursor (7,1);
lcd.print (tempF);
lcd.setCursor (13,1);
lcd.print ("F");
retard (500);
}
} // Fin du programme.