DHT11 jedan je od poznatijih senzora iz područja učenja elektronike. Riječ je o senzoru za vlagu i temperaturu. Nalazi se u raznim početničkim paketima za Arduino. Na Internetu su dostupne razne inačice, kao i razne upute za korištenje. U sklopu ovog članka povezat ćemo ga s micro:bitom. Pritom ćemo iskoristiti postojeće rješenje za Arduino.
Prvo povežite DHT11 i micro:bit kako je prikazano u tablici. Ako imate ogoljeni senzor s četiri nožice. Povezivanje je u oba slučaja podjednako samo dodajemo jedan otpornik ako imamo ogoljeni senzor. Biblioteka koja nam je potrebna te ju dodamo u Arduino IDE. To nam je drugi korak. Na kraju nam preostaje unijeti kod programa.
DHT11 | micro:biti |
VCC | 3V |
DATA | 0 |
GND | 0V |
Kod je dosta jednostavan. Na početku navedemo korištene biblioteke. Zatim odredimo konstante i objekte koje ćemo koristiti. U funkciji setup() inicijaliziramo micro:bit i DHT11. U funkciji loop() spavamo 5 sekundi, očitamo vlagu i ispišemo ju, zatim spavamo pola sekunde, očitamo temperaturu i također ju ispišemo. Da izbjegnemo dupliciranje, kod za ispis vrijednosti izdvojen je u zasebnu funkciju.
I to je to. Imamo zgodan primjer za upoznati se s Arduinom IDE-om. Budući da za micro:bit ne postoji biblioteka za DHT11, na ovaj si način možemo uštedjeti dio vremena koje bi utrošili na proučavanje rada senzora. Kad već postoje gotova rješenja, šteta je ne iskoristiti ih.
md_dht11.ino
#include <Adafruit_Microbit.h> #include <Fonts/TomThumb.h> #include "DHT.h" #define DHTPIN 0 #define DHTTYPE DHT11 Adafruit_Microbit_Matrix microbit; DHT dht(DHTPIN, DHTTYPE); void setup() { microbit.begin(); microbit.setFont(&TomThumb); microbit.setTextWrap(false); microbit.setTextColor(LED_ON); dht.begin(); } void loop() { delay(5000); scroll(String(int(dht.readHumidity()))); delay(500); scroll(String(int(dht.readTemperature()))); } void scroll(String message) { for (int i = 5; i > (((int)message.length() - 1) * -5); i--) { microbit.setCursor(i, 5); microbit.clear(); microbit.print(message); delay(150); } microbit.clear(); }