Artikel ini merupakan tutorial tentang Menampilkan Suhu dan Kelembapan di Layar OLED dengan Arduino. Biasanya, proyek yang menampilkan suhu dan kelembapan di layar OLED dengan Arduino dapat kita jumpai di berbagai tempat, terutama dalam bidang IoT (Internet of Things) dan proyek-proyek pemantauan lingkungan. Beberapa tempat di mana Anda mungkin menemukan proyek semacam ini meliputi :
1. Sistem Monitoring Rumah
Pintar (Smart Home)
2. Stasiun Cuaca Pribadi
3. Aplikasi Pertanian
Cara Menampilkan Suhu dan Kelembapan di Layar OLED dengan Arduino
Alat dan Bahan :
1. Layar OLED
2. Arduino
3. Sensor suhu dan
kelembaban DHT11 atau DHT22
4. BreadBoard
5. Resistor 4,7k Ohm (atau resistor 10k Ohm)
6. Kabel Jumper
Skematik Menampilkan Suhu dan Kelembapan di Layar OLED dengan Arduino :
Gambar 1. Skematik Menampilkan Suhu dan Kelembapan di Layar OLED dengan Arduino
Keterangan :
1. VCC dihubungkan dengan 5V Arduino Uno
2. GND dihubungkan dengan
GND Arduino Uno
3. SCL dihubungkan dengan
pin A5 Arduino Uno
4. SDA dihubungkan dengan pin A4 Arduino Uno
Catatan jika memakai modul sensor DHT yang dilengkapi tiga pin, pin harus dilabeli untuk memudahkan memasangnya. Selain itu, banyak dari modul ini sudah dilengkapi dengan resistor pull up internal, jika modul sudah dilengkapi dengan resistor pull up maka anda tidak perlu menambahkahnya ke sirkuit.
Langkah – langkah memprogram tentang Menampilkan Suhu dan Kelembapan di Layar OLED dengan Arduino:
1. Buka Arduino IDE di komputer Anda.
2. Pastikan Anda telah
menghubungkan rangkaian Suhu dan Kelembapan dengan OLED Anda ke pin pada
Arduino UNO.
3. Mulai sketch baru dengan
mengklik File -> New di Arduino IDE.
4. Pilih board “Arduino
Uno" di menu Tools -> Board.
5. Pastikan Anda sudah menginstall Library -> adafruit_GFX.h dan adafruit_SSD1306.h untuk mengontrol OLED.
6. Pastikan Anda sudah menginstall Library -> DHT Sensor library by Adafruit dan Adafruit Unifed Sensor by Adafruit untuk mengontrol Sensor suhu dan kelembapan.
7. Pilih port yang sesuai dengan Arduino Uno Anda di menu Tools -> Port.
8. Anda dapat mulai menulis kode :
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <Adafruit_Sensor.h>
#include <DHT.h>
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels
// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
#define DHTPIN 2 // Digital pin connected to the DHT sensor
// Uncomment the type of sensor in use:
#define DHTTYPE DHT11 // DHT 11
//#define DHTTYPE DHT22 // DHT 22 (AM2302)
//#define DHTTYPE DHT21 // DHT 21 (AM2301)
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(115200);
dht.begin();
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println(F("SSD1306 allocation failed"));
for(;;);
}
delay(2000);
display.clearDisplay();
display.setTextColor(WHITE);
}
void loop() {
delay(5000);
//read temperature and humidity
float t = dht.readTemperature();
float h = dht.readHumidity();
if (isnan(h) || isnan(t)) {
Serial.println("Failed to read from DHT sensor!");
}
//clear display
display.clearDisplay();
// display temperature
display.setTextSize(1);
display.setCursor(0,0);
display.print("Temperature: ");
display.setTextSize(2);
display.setCursor(0,10);
display.print(t);
display.print(" ");
display.setTextSize(1);
display.cp437(true);
display.write(167);
display.setTextSize(2);
display.print("C");
// display humidity
display.setTextSize(1);
display.setCursor(0, 35);
display.print("Humidity: ");
display.setTextSize(2);
display.setCursor(0, 45);
display.print(h);
display.print(" %");
display.display();
}
9.Setelah menulis kode, klik
Sketch -> Upload atau tekan tombol "Upload" (ikon panah) untuk
mengunggah sketch ke Arduino Uno Minima Anda.
10.Setelah proses unggah selesai, buka "Serial Monitor" dengan mengklik Tools -> Serial Monitor atau tekan "Ctrl+Shift+M".
0 on: "Display Temperature and Humidity in the OLED Display with Arduino "