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

Table des matières:

Anonim

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.

Étape 4: