Salutare!Am revenit cu un nou tutorial, în care vom face ca placa noastra de dezvoltare Arduino(de care v-am vorbit aici) va afișa pe un LCD(Liquid Crystal Display) temperatura și umiditatea calculate de către senzorul DHT11.
Pentru început, vom vorbi despre elementele folosite în acest post:
Arduino UNO
LCD 1602 (2 rânduri a câte 16 caractere)
DHT11 - senzor de umiditate si temperatura
Schema pentru interconectarea componentelor este următoarea:
Conexiunile sunt următoarele:
CONECTAREA LCD-ULUI
PIN 1 LCD - BREADBOARD GND(-)
PIN 2 LCD - BREADBOARD 5V(+)
PIN 3 LCD - CENTRU POTENTIOMETRU(PIN2)
PIN 4 LCD - PIN 12 ARDUINO
PIN 5 LCD - BREADBOARD GND(-)
PIN 6 LCD - PIN 11 ARDUINO
PIN 7 ->PIN 10 LCD - FARA CONEXIUNE
PIN 11(D4) LCD - PIN 5 ARDUINO
PIN 12(D5) LCD - PIN 4 ARDUINO
PIN 13(D6) LCD - PIN 3 ARDUINO
PIN 14(D7) LCD - PIN 2 ARDUINO
PIN 15 LCD - REZISTENTA 220Ω - BREADBOARD 5V(+)
PIN 16 LCD - BREADBOARD GND(-)
PIN 1 POTENTIOMETRU - BREADBOARD GND(-)
PIN 3 POTENTIOMETRU - BREADBOARD 5V(+)
5V ARDUINO - BREADBOARD 5V(+)
GND ARDUINO - BREADBOARD GND(-)
CONECTAREA MODULULUI DHT11
PIN 1 DHT 11 - BREADBOARD GND(-)
PIN 2 DHT 11 - ARDUINO A0
PIN 3 DHT 11 - BREADBOARD 5V(+)
Urmează codul. Atentie!Descarcati de aici library-ul pentru DHT11 si introduceti-l in %folderulmamaarduino%/libraries.
//Acest cod a fost scris de Ilinca Stefan - Costin
//Copyright arduinoro.blogspot.com
#include <dht.h> // includem library-ul pentru dht11
#include <LiquidCrystal.h> // includem library-ul pentru lcd
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // declaram pinii la care este conectat LCD-ul
dht DHT; //initializam senzorul
#define DHTPIN A0 //pinul la care este conectat modulul DHT11
void setup(){
lcd.begin(16, 2); //pornim lcd-ul
}
void loop()//structura repetitiva
{
int chk = DHT.read11(DHTPIN); //pregatim citirea datelor primite prin pinul declarat mai sus A0
lcd.setCursor(0,0); //punem cursorul pe priml rand, primul caracter
lcd.print("Temp.: "); //scriem pe lcd temp:
lcd.print(DHT.temperature);//acum temperaratura, citita de pe modulul DHT11
lcd.print((char)223); //afisam semnul de grade
lcd.print("C"); // scriem C - deoarece temperatura exprimata de modul este in grade celsius
lcd.setCursor(0,1);// setam cursorul pe al doilea rand, primul carcater
lcd.print("Umidit.: ");//scriem umidit.:
lcd.print(DHT.humidity);//afisam umiditatea citita de pe pinul A0
lcd.print("%");//afisam % deoarece umiditatea este exprimata in procente
delay(2000);//delay de 2 secunde intre citirile temperaturii
}//inchidem bucla
Urcăm codul pe placa de dezvoltare.. And that's it! Acest senzor poate fi de folos dacă îl așezăm într-o cutie: este foarte compact, poate fi luat în călătorii sau mutat în interiorul sau exteriorul locuinței
Cam atât cu acest post, dacă aveți întrebări nu ezitați să le lăsați mai jos, în secțiunea de comentarii.
Succes!
Comments
Post a Comment