Második, modul-kombinációkat bemutató leírásunkban az Arduino Sensor Kit hőmérséklet és páratartalom mérő szenzorát és az OLED modult fogjuk együtt használni. Így lehetőség lesz a mért értékeket nem csak soros monitoron megjeleníteni, hanem a helyi kijelzőn is.
Hőmérséklet és páratartalom mérő – OLED modul
Az Arduino Sensor Kit „Temperature and Humidity” modulja digitális formátumban szolgáltatja a környezet hőmérséklet és páratartalom értékeit. (D3). A szenzort kombinálhatjuk a készlet OLED moduljával, így például mini időjárás állomás, vagy egy lakás klímavezérlőjének működését modellezhetjük.
– a DHT11 érzékelő alapprogramja:
//#define DHTPIN 3 #include "Arduino_SensorKit.h" void setup() { Serial.begin(9600); Environment.begin(); } void loop() { Serial.print("Temperature = "); Serial.print(Environment.readTemperature()); //print temperature Serial.println(" C"); Serial.print("Humidity = "); Serial.print(Environment.readHumidity()); //print humidity Serial.println(" %"); delay(2000); }
A program a D3-as digitális csatornán olvassa be a szenzor aktuális értékét, és a readTemperature illetve a readHunidity paranccsal olvassa ki a hőmérséklet és páratartalom értékeket. A mért adatokat az Eszközök > Soros monitor menüpont segítségével tudjuk ellenőrizni.
– az OLED kijelző alapprogramja:
#include "Arduino_SensorKit.h" void setup() { Oled.begin(); Oled.setFlipMode(false); // Sets the rotation of the screen } void loop() { int random_value = analogRead(A0); //read value from A0 Oled.setFont(u8x8_font_chroma48medium8_r); Oled.setCursor(0, 43); // Set the Coordinates Oled.print("Sensor Kit"); //Oled.refreshDisplay(); // Update the Display delay(1000); }
Az „Oled.begin” parancs indítja a kijelzőt, a setFlipMode pedig beállítja a kiírás tájolását. A setFont parancs beállítja az alkalmazott betűtípust, a setCursor pedig azt, hogy a kiírás hol jelenjen meg a kijelzőn.
– bővített program
A két program kombinációja:
#include "Arduino_SensorKit.h" void setup() { Serial.begin(9600); Environment.begin(); Oled.begin(); Oled.setFlipMode(false); } void loop() { Serial.print("Temperature = "); Serial.print(Environment.readTemperature()); //print temperature Serial.println(" C"); Serial.print("Humidity = "); Serial.print(Environment.readHumidity()); //print humidity Serial.println(" %"); Oled.setFont(u8x8_font_chroma48medium8_r); Oled.setCursor(0, 10); // Set the Coordinates Oled.print("Temp:"); Oled.print(Environment.readTemperature()); Oled.setCursor(0, 30); // Set the Coordinates Oled.print("Hum:"); Oled.print(Environment.readHumidity()); Oled.refreshDisplay(); // Update the Display delay(2000); }
A programban szereplő paraméterek alapján a mért adatok egymás alatt, a (0, 10), illetve a (0, 30) pozíciókban jelennek meg.
A program futásának eredménye a soros monitoron:
illetve az OLED kijelzőn:
A cikkben felhasznált anyagok forrása: https://sensorkit.arduino.cc/
A fentiekben bemutatott Arduino Sensor Kit megvásárolható a MálnaPC Webshopjában!