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
Berikut ini tutorial tentang 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 "