Cuprins:

Stație meteo offline Arduino: 18 pași (cu imagini)
Stație meteo offline Arduino: 18 pași (cu imagini)

Video: Stație meteo offline Arduino: 18 pași (cu imagini)

Video: Stație meteo offline Arduino: 18 pași (cu imagini)
Video: Arduino projects weather 🌡️ station temperature humidity 2024, Iulie
Anonim
Stație meteo offline Arduino
Stație meteo offline Arduino
Stație meteo offline Arduino
Stație meteo offline Arduino
Stație meteo offline Arduino
Stație meteo offline Arduino
Stație meteo offline Arduino
Stație meteo offline Arduino

rezumat

Ultima dată când am cumpărat termometru, am văzut că există aproape întotdeauna diferență în valori. Sarcina mea era să urmăresc temperatura și umiditatea din camera copilului meu. De asemenea, a existat o problemă la citirea valorilor de la 2-3 metri pe cele mai multe termometre și trebuia să mă ridic în picioare pentru a vedea valoarea temperaturii, problema pe care o am cu cele mai multe termometre a fost lumina. O altă problemă a fost că nu pot vedea valoarea temperaturii, deoarece este fără lumină de fundal pentru a economisi energie. Nu vreau să economisesc energie, am nevoie doar de câteva ore de stocare a energiei pentru ca acest dispozitiv să funcționeze dacă linia principală de energie se oprește.

Așa că am venit cu o idee:

- Pentru a crea un termometru cu posibilitatea de a schimba valoarea temperaturii.

- Care poate fi cu iluminare de fundal și culori. - Pentru a combina toate elementele pe care le au termometrele obișnuite: (RTC, baterie, Min Max t, etc) - Și pentru a avea caracteristici suplimentare, cum ar fi Seasons și Holidays

Așa că am început proiectul înainte de 1 an. Partea software mi-a luat câteva luni până la finalizare. Am creat mai multe versiuni ale software-ului, iar ultimele 2 săptămâni am finalizat proiectul.

Informații despre software-ul dispozitivului

Cod Arduino și biblioteci:

Codul este, de asemenea, încărcat la pasul Cod.

https://github.com/stlevkov/KT2_144

https://github.com/stlevkov/Arduino-Libraries

Caracteristicile dispozitivului

  • Pagina de pornire - care arată data și ora ultimei încărcări a firmware-ului.
  • Pagina principală - afișează ora, data, pictograma bateriei, pictograma temperaturii, valoarea temperaturii, valoarea umidității, Tmax, Tmin, anotimpuri, sărbători, indicator USB atunci când este conectat.
  • Pagina de meniu - cu meniuri Temp, Ceas, Baterie, Despre, Înapoi
  • Pagina Temp - permite calibrarea senzorului DHT
  • Clock Page - permite editarea orei și datei
  • Pagina bateriei - afișează informații despre baterie, procentaj%, tensiune mV, starea de încărcare
  • Despre Pagina - afișarea informațiilor pentru autor
  • Funcție Înapoi pentru ieșirea din meniu
  • Panouri transparente
  • RTC viață lungă
  • Baterie litiu - până la ~ 9 ore (450mAh)
  • Indicator de baterie descărcată - afișând pictograma în roșu ~ 5 minute rămase.
  • Culori diferite pentru - Temperatură scăzută, medie, înaltă
  • Mesaje de sărbători și anotimpuri
  • Priză programabilă - în partea din spate
  • Interfață utilizator - folosind codificator rotativ

Partea din spate a plăcii nu va fi acoperită, deoarece vreau ca bebelușul să vadă și să atingă placa, în timp ce dispozitivul nu este pornit. Puteți crea un fel de capac pentru partea din spate a plăcii.

Pasul 1: Schițați dispozitivul, desenați ideea inițială

Schițați dispozitivul, desenați ideea inițială
Schițați dispozitivul, desenați ideea inițială
Schițați dispozitivul, desenați ideea inițială
Schițați dispozitivul, desenați ideea inițială
Schițați dispozitivul, desenați ideea inițială
Schițați dispozitivul, desenați ideea inițială

Decideți ce să aveți - câte pagini, meniuri, cum să schimbați meniurile și paginile.

Dacă aveți alte idei, o puteți schimba cu codul arduino.

Decideți ce formă doriți și ce se poate face ușor. Mai întâi aleg imprimarea 3D, dar după aceea decid să folosesc materiale simple.

Ideea este să aveți pereți transparenți în partea de sus și în partea de jos, de asemenea, puteți crea o cutie mai fină.

Deci, principalele părți ale cutiei sunt:

  1. Față - cu afișaj și codificator rotativ
  2. Dreapta - cu modulul RTC
  3. Stânga - cu modulul DHT
  4. Înapoi - cu partea opusă a plăcii
  5. Sus - Transparent cu bateria de 3,7 V și comutatorul ON / OFF Slide
  6. Jos - transparent

Pasul 2: Alegeți componentele potrivite

  1. TP4056 Încărcător micro USB 5V 1A 18650 Placă de încărcare a bateriei cu litiu - Ebay
  2. 1.44 "128x128 SPI Full Color 65K TFT LCD Display Module ST7735 - Ebay
  3. Modul de codificare rotativ KY-040 pentru Arduino - Ebay
  4. DHT22 AM2302 Senzor digital de temperatură și umiditate - Ebay
  5. Tiny RTC I2C Modules 24C32 Memory DS1307 Real Time Clock RTC Module Board - Ebay
  6. Placă de control Micro Pro ATmega328P 16MHz Arduino Pro Mini Module - Ebay
  7. Baterie reîncărcabilă Lipo de 3,7 V 450 mAh - Ebay
  8. 6 pini 2 poziții DPDT On / On Mini Slide Switch - Ebay

  9. CR2032 CR 2032 3V Buton baterie monedă - Ebay
  10. 10x22cm Prototip de lipit Placă PCB din cupru Single Side Universal - Ebay
  11. Bărbați și femele 40pin 2,54mm priză antet priză cu un singur rând - Ebay

Pasul 3: Pregătiți schema de cablare

Pregătiți schema de cablare
Pregătiți schema de cablare

Diagrama arată conectivitatea senzorilor similari, în timp ce afișajul este aproape același.

Pentru o utilizare corectă a pinului, consultați codul Arduino în pasul Cod.

Descărcați fișierul fritzing pentru mai multe detalii despre pinout. Deplasați punctele din diagramă pentru a vedea pinii exacți ai modulelor.

Pasul 4: Informații suplimentare înainte de pornire - Consum de energie

Informații suplimentare înainte de pornire - Consum de energie
Informații suplimentare înainte de pornire - Consum de energie

Proiectul utilizează o baterie de 450 mAh, dar puteți folosi mai mult. Aruncați o privire asupra consumului de energie pentru a alege și calcula bateria potrivită pentru anumite ore de utilizare. Când utilizați 450mAh, dispozitivul poate rula aprox. 9 ore.

În repaus, dispozitivul rulează cu aproximativ 0,102A - Aici nu se realizează optimizarea economiei de energie

Când butonul este apăsat, curentul mare este aplicat și este în jur de 0,177A.

Pasul 5: Conectați afișajul

Conectați afișajul
Conectați afișajul
Conectați afișajul
Conectați afișajul

Afișajul folosește SPI pentru conexiune.

Există o bibliotecă adafruit pentru acest driver ST7735.

Pasul 6: Conectați modulul RTC

Conectați modulul RTC
Conectați modulul RTC

Creați modificări PCB Pentru a utiliza bateria CR2032.

  • Eliminați D1
  • Scoateți R4
  • Scoateți R5
  • Scoateți R6
  • Scurt R6

Mai multe informații despre această modificare se găsesc aici.

Pasul 7: Atașați peretele frontal cu afișajul, RTC, bateria, codificatorul rotativ

Atașați peretele frontal cu afișajul, RTC, bateria, codificatorul rotativ
Atașați peretele frontal cu afișajul, RTC, bateria, codificatorul rotativ
Atașați peretele frontal cu afișajul, RTC, bateria, codificatorul rotativ
Atașați peretele frontal cu afișajul, RTC, bateria, codificatorul rotativ
Atașați peretele frontal cu afișajul, RTC, bateria, codificatorul rotativ
Atașați peretele frontal cu afișajul, RTC, bateria, codificatorul rotativ

Dacă doriți să porniți dispozitivul, încărcați codul din pasul Cod și urmați ceilalți pași în timp ce schimbați și atașați piesele noi.

Pasul 8: Pregătiți ziduri transparente

Pregătiți ziduri transparente
Pregătiți ziduri transparente

Folosesc plexi de 3mm. Puteți utiliza materiale transparente similare. Folosesc doar una pentru partea de jos.

Pasul 9: Creați zidul drept

Creați zidul drept
Creați zidul drept
Creați zidul drept
Creați zidul drept

Creați peretele lateral drept. Utilizați dimensiunea CR2032 pentru gaură.

Pasul 10: Creați peretele din stânga

Creați peretele din stânga
Creați peretele din stânga
Creați peretele din stânga
Creați peretele din stânga
Creați peretele din stânga
Creați peretele din stânga

Creați peretele lateral stâng. Utilizați dimensiunea modulului DHT pentru gaură.

Pasul 11: Creați soclul cu placa universală și șinele, conectați RTC, codificatorul, afișajul și afișajul

Creați soclul cu placa universală și șinele, conectați RTC, codificatorul, afișajul și afișajul
Creați soclul cu placa universală și șinele, conectați RTC, codificatorul, afișajul și afișajul
Creați soclul cu placa universală și șinele, conectați RTC, codificatorul, afișajul și afișajul
Creați soclul cu placa universală și șinele, conectați RTC, codificatorul, afișajul și afișajul
Creați soclul cu placa universală și șinele, conectați RTC, codificatorul, afișajul și afișajul
Creați soclul cu placa universală și șinele, conectați RTC, codificatorul, afișajul și afișajul

Conectați și lipiți toți pinii urmând schema de sârmă. Puteți utiliza Arduino UNO cu schița goală instalată pentru a programa Arduino Mini. Pinii necesari:

  • VCC 5V
  • GND
  • RX
  • TX
  • RESET

Nu uitați să deconectați bateria de 3,7 V la acești pași dacă încărcați schița înainte de a termina cu piesele.

Pasul 12: Porniți-l înainte de a continua

Image
Image

În acest moment, veți putea porni dispozitivul și puteți utiliza toate funcțiile.

Utilizați previzualizarea video pentru a vedea ce a fost software-ul în versiunea 1.1. De asemenea, există un link github în pasul rezumat pentru a vedea cea mai recentă actualizare.

Porniți dispozitivul înainte de a continua cu ceilalți pași înainte de a închide capacul superior, asigurați-vă că funcționează normal.

Pasul 13: Adăugați TP4056 și bateria, lipiți comutatorul glisant, adăugați cablul de încărcare la pinul 5, lipiți soclul din spate programabil

Adăugați TP4056 și bateria, lipiți comutatorul glisant, adăugați cablul de încărcare la pinul 5, lipiți soclul programabil din spate
Adăugați TP4056 și bateria, lipiți comutatorul glisant, adăugați cablul de încărcare la pinul 5, lipiți soclul programabil din spate
Adăugați TP4056 și bateria, lipiți comutatorul glisant, adăugați fir de încărcare la pinul 5, lipiți soclul programabil din spate
Adăugați TP4056 și bateria, lipiți comutatorul glisant, adăugați fir de încărcare la pinul 5, lipiți soclul programabil din spate
Adăugați TP4056 și bateria, lipiți comutatorul glisant, adăugați cablul de încărcare la pinul 5, lipiți soclul programabil din spate
Adăugați TP4056 și bateria, lipiți comutatorul glisant, adăugați cablul de încărcare la pinul 5, lipiți soclul programabil din spate

După fiecare lipire, testați sistemul, asigurați-vă că piesele funcționează bine înainte de a continua.

Pasul 14: Creați capacul superior

Creați capacul superior
Creați capacul superior
Creați capacul superior
Creați capacul superior
Creați capacul superior
Creați capacul superior

Folosesc foaie de plexi de 0,5 mm din cutia power bank.

Pasul 15: Cod

Utilizați parametrii din secțiunea init pentru a vă defini preferințele.

De sărbători, folosesc bulgară. Puteți edita matricea folosind sărbătorile din țara dvs.

Dispozitivul afișează 4 sezoane, editați-le în codul preferat pentru locația dvs.

Dacă senzorii dvs. sunt diferiți, urmați definițiile pinilor și editați-le în cod. Am lăsat aproape toate comentariile pentru o mai bună înțelegere a codului.

Platforme testate:

  • Arduino UNO
  • Arduino Pro Mini

Luați bibliotecile de care aveți nevoie din depozit, utilizați-le, definite în schiță.

Pasul 16: Testați dispozitivul înainte de atingerea finală

Testați dispozitivul înainte de atingerea finală
Testați dispozitivul înainte de atingerea finală
Testați dispozitivul înainte de atingerea finală
Testați dispozitivul înainte de atingerea finală
Testați dispozitivul înainte de atingerea finală
Testați dispozitivul înainte de atingerea finală

Dispozitivul este perfect, al meu este calibrat -4 * C, am folosit aparatul de aer condiționat Toshiba, 2 termometre simple cu pereți și doi termometri digitali pentru calibrare. Dacă senzorul dvs. măsoară valori diferite, îl puteți modifica acum.

Pasul 17: Previzualizare interfață

Previzualizare interfață
Previzualizare interfață
Previzualizare interfață
Previzualizare interfață
Previzualizare interfață
Previzualizare interfață

Nu uitați să editați informațiile despre firmware în secțiunea inițială a codului pentru a vă arăta acreditările sau lăsați-le așa cum este.

Recomandat: