Z Attiny85 in OLED zaslonom smo naredili voltmeter, ki je bil detajlno opisan v številki 282 Sveta Elektronike. Ta članek se navezuje na tako rečeno »nadgradnjo« te naprave z DHT11 senzorjem.
Avtor: Arne Zrimšek
E-pošta: zrimsek.arne@gmail.com
2021_301_56
Za začetek bom opisal kaj je DHT11 senzor ter kaj meri, nato se posvetil novi oz. popravljeni električni shemi, shemi tiskanega vezja ter novi kodi.
Ta vsebina je samo za naročnike
DHT11 senzor
DHT11 je senzor, ki zaznava trenutno temperaturo in vlažnost v prostoru kjer se senzor nahaja. Te informacije se prenašajo v digitalni obliki. Napaja se z 5V.
Za uporabo tega senzorja sem uporabil Arduino knjižnico »DHT11.h«.
Električna shema
Električna shema je podobna prejšnji različici, edina sprememba je vključitev DHT11 senzorja, ki je vezan na tretji pin Attiny85 (digitalni priključek 4)
Zaradi vključitve DHT11 senzorja je bilo potrebno spremeniti postavitev elementov na TIV, saj ta senzor zavzame izrazito količino prostora. Iz tega razloga je bil postavljen na spodnji sloj, saj tam nobenega elementa ne ovira.
Koda
Koda je prav tako slična. Spremembe oz. dodatki so naslednji in se jih lahko vidi na slikah od 5-7.
Celotna koda:
#include <Tiny4kOLED.h> #include <DHT11.h> DHT11 DHT11; #define DHT11_PIN 3 void setup() { oled.begin(); oled.clear(); oled.switchFrame(); oled.on(); oled.switchRenderFrame(); oled.setFont(FONT8X16); oled.setCursor(38, 0); oled.print(» SVET »); oled.setCursor(22, 2); oled.print(»ELEKTRONIKE«); oled.switchFrame(); delay(1000); } void loop() { int chk = DHT11.read11(DHT11_PIN); int sensorValue = analogRead(A2); float voltage = sensorValue * (61.0 / 1023.0); oled.clear(); oled.setFont(FONT8X16); oled.setCursor(0, 1); oled.print(» VOLTAGE: »); oled.print(voltage); oled.print(»V«); oled.setFont(FONT6X8); oled.setCursor(3, 11); oled.print(»TE: »); oled.print(DHT11.temperature); oled.print(»C »); oled.print(»HU: »); oled.print(DHT11.humidity); oled.print(»%«); oled.switchFrame(); oled.clear(); }
Zaključek
Ta nadgradnja je bistveno bolj praktična kot prejšnja različica, saj omogoča, da opazovalec izve kakšna je trenutna temperatura in vrednost vlažnosti, v primerjavi s prejšnjo, kjer je bila izpisana samo napajalna ali merjena napetost na želenem napetostnem viru.
Za to nadgradnjo ni potrebe po spremembi že obstoječih povezav, potrebno je samo povezati DHT11 senzor na Attiny85 in mu zagotoviti ustrezno napajanje.
Viri:
https://github.com/adafruit/DHT11-sensor-library
https://ardubotics.eu/en/sensors/1104-humidity-temperature-sensor-dht11-.html