This is an old revision of the document!
Humidity and Temperature Station este un dispozitiv ce are ca scop determinarea temperaturii si a nivelului de umiditate din incaparea in care este lasat. Ideea generala a pornit de la dorinta de a avea un termometru mai special, dat fiind faptul ca majoritatea nu beneficiaza si de un sensor de umiditate. Consider ca dispozitivul creat de mine este util pentru lume deoarece iti afiseaza informatiile esentiale legate de climatul in care te aflii.
Dispozitivul este unul destul de simplist din punct de vedere al componentelor, dar si al cunostiintelor in programare. Acesta, format dintr-un senzor de temperatura si umiditate model DHT11, citeste cu usurinta informatiile esentiale, afisandu-le pe un display, conectat la placuta Arduino. Ledurile montate pe breadboard au ca scop afisarea intr-un mod diferit temperatura existenta in camera.
Pentru crearea acestui dispozitiv s-au folosit urmatoarele componente:
Pentru realizarea acestui proiect am folosit ca si mediu de dezvoltare programul Arduino IDE, in care am selectat din meniul Tools placa de baza utilizata. De asemenea, pentru realizarea conexiunii intre placa si display-ul I2C, am importat de pe internet libraria “LiquidCrystal_I2C”, iar pentru utilizarea corecta a senzorului de temperatura si umiditate DHT11 am inclus librariile “DHT” si “Wire”.
Din punct de vedere al complexitatii, codul este unul relativ simplu, fiind alcatuit din doua functii (“setup” si “loop”). Inainte de implementarea celor doua functii am declarat pinii led pe care i-am folosit, display-ul I2C, dar si senzorul de umiditate.
In functia “Setup” pentru inceput am declarat ce rol au cele trei leduri, acela de OUTPUT. Pe urma am pornit display-ul cu functiile init() si backlight(). Pentru afisarea textului, in primul rand am selectat randurile pe care vreau sa fie scris textul (setCursor()) si dupa le-am printat pe acesta. De asemenea, pentru a nu avea un text suprapus cu informatiile pe care le ofera dispozitivul, resetez display-ul si pornesc senzorul (functia begin()).
Functia “Loop” este functia unde are loc tot procesul de determinare al temperaturii si al umiditatii. In aceasta functie primul pas pe care l-am facut a fost cel in care am declarat doua variabile (humidity si temperature) care citesc valorile din senzor. Functia readTemperature() are ca parametru valoarea false deoarece am decis sa afisez temperatura in grade Celsius. Daca valoarea era true, pe ecran imi era afisata in grade Fahrenheit.
Stiind ca temperatura maxima pe care o poate citi senzorul DHT11 este de 50 grade Celsius, m-am folosit de cele trei LED-uri impartit valoarea maxima la 3 pentru a putea crea trei intervale de temperatura.
Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.