Tutorial Arduino : Cara Menggabungkan Sensor dan Display

Indobot Update

LCD Arduino
LCD Arduino

Halo sahabat Indobot. Sedang ada project apa hari ini? Pada kesempatan kali ini, kita akan belajar untuk menggabungkan program pembacaan sensor dengan program untuk menampilkan teks di display pada Arduino. Teman-teman butuh memahami hal ini untuk mempermudah pemahaman kita dalam pembuatan program kompleks.

Program untuk pembacaan sensor adalah program yang mengetahui keadaan input dari sensor. input ini kemudian di baca dan di definisikan menjadi angka yang dapat di olah oleh mikrokontroler. Pada dasarnya, program sensor dasar juga sudah menggunakan display berupa serial monitor yang dapat kita lihat di aplikasi Arduino IDE. Serial monitor ini akan menampilkan hasil bacaan pada layar komputer atau PC. Lalu bagaimana dengan program untuk Display?

Display

Display untuk program mikrokontroler di gunakan untuk menampilkan apapun kehendak dari program, dari mulai tulisan biasa, seperti teks, angka pada  umumnya. Pada display yang lebih canggih, kita dapat menampilkan gambar, logo, gradasi warna, dan lain sebagainya. display mempunyai banyak jenis dari LCD, OLED, Seven Segment dan lain sebagainya.

Nah dengan banyaknya jenis sensor dan banyaknya jenis display, maka di perlukan kemampuan untuk menghubungkan kedua hal tersebut. Sehingga ketika kita hanya memiliki program yang hanya menjelaskan per device, kita bisa menggunakannya tanpa melakukan banyak kesalahan.

 

Belajar Elektronika, Arduino, dan IoT step by step dengan bantuan tangga belajar? Daftar sekarang dan dapatkan PROMO

 

Langsung saja kita coba untuk project di bawah ini.

Gambar Rangkaian

Saya memiliki program untuk pembacaan sensor suhu dengan DHT11 dan display LCD 16×2. Program suhu ini hanya dapat menampilkan hasil bacaan sensor berupa suhu di serial monitor. Sedangkan untuk program LCD, akan menampilkan tulisan “Hallo World” di layar LCD. Nah kita akan menggabungkan keduanya menjadi menampilkan nilai suhu di LCD. Perhatikan baik-baik ya gaes.

Berikut ini program untuk sensor DHT11

//Sensor DHT11
#include "DHT.h"

#define DHTPIN 2
#define DHTTYPE DHT11   // DHT 11

DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(9600); //mengaktifkan serial monitor 9600
  Serial.println(F("DHTxx test!"));

  dht.begin();
}

void loop() {
  // memberikan waktu 2 detik untuk pembacaan
  delay(2000);
  float t = dht.readTemperature(); //membaca sensor DHT


  // pengecekan jika ada error
  if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println(F("Failed to read from DHT sensor!"));
    return;
  }

  Serial.print(F("Suhu : "));
  Serial.print(t);
  Serial.print(F("°C "));
}

baca juga: Cara Menggabungkan 2 Program Sensor hanya dengan Library

Berikut ini adalah program untuk display LCD “Hallo World”

//program LCD
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,16,2);  // alamat I2C dan ukuran LCD

void setup()
{
  lcd.init();                      // menginisialisasi LCD
  lcd.backlight(); //mengaktifkan backlight LCD
}

void loop()
{
  lcd.setCursor(0,0); //menempatkan di baris dan kolom 0
  lcd.print("Hello, world!"); //menampilkan hello world
  delay(1000);
  lcd.clear(); //pembersihan layar LCD untuk perulangan kembali
}

 

Kunci utama dari program DHT11, ada pada penulisan Serial.print (“suhu = ”); kemudian Serial.print lainnya yang jika liat pada serial monitor, hasilnya adalah tulisan “suhu = 27*C”. Artinya program untuk mengeluarkan tulisan suhu adalah program serial.print.

Sedangkan pada program LCD, untuk menampilkan tulisan Hello World, ada pada lcd.print. Jadi jika kita ingin menunjukkan hasil dari pembacaan sensor, menjadi sebagai berikut.

lcd.print(“suhu = ”);
lcd.print(t);
lcd.print(“*C”);

sisanya, kita hanya perlu memasukkan program-program lainnya. Jangan lupa untuk tetap memasukkan program sesuai dengan tempatnya (function).

Program gabungannya menjadi sebagai berikut.

Gabungan program di luar function

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
#include "DHT.h"

LiquidCrystal_I2C lcd(0x27,16,2);  // alamat I2C dan ukuran LCD
#define DHTPIN 2
#define DHTTYPE DHT11   // DHT 11

DHT dht(DHTPIN, DHTTYPE);

 program di function void Setup()

void setup()
{
  lcd.init();                      // menginisialisasi LCD
  lcd.backlight(); //mengaktifkan backlight LCD
  Serial.begin(9600); //mengaktifkan serial monitor 9600
  Serial.println(F("DHTxx test!"));
  dht.begin();
}

Gabungan program di function void loop()

void loop()
{
  float t = dht.readTemperature(); //membaca sensor DHT
  // pengecekan jika ada error
  if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println(F("Failed to read from DHT sensor!"));
    return;
  }
  Serial.print(F("Suhu : "));
  Serial.print(t);
  Serial.print(F("°C "));
  lcd.setCursor(0,0); //menempatkan di baris dan kolom 0
  lcd.print("Suhu : "); //menampilkan suhu
  lcd.print("t"); //menampilkan nilai suhu
  lcd.print(“*C”); //menampilkan *C
  delay(1000);
  lcd.clear(); //pembersihan layar LCD untuk perulangan kembali
}

baca juga: Cara Menggabungkan Dua atau Lebih Program Arduino

Program gabungan di atas menampilkan hasil pembacaan suhu dari di serial monitor (serial.print) dan layar LCD (lcd.print).

Program yang lainnya akan hanya perlu di masuk-masukkan ke program sesuai dengan lokasinya.

Jika teman-teman ingin menambah sensor atau device lainnya, siapkan dulu program dasarnya, kemudian gabung-gabungkan saja, tanpa mengurangi apapun yang tidak bertabrakan/sama.

Nah teman-teman bisa coba dulu cara di atas untuk sensor lainnya, seperti sensor jarak, sensor cahaya, atau yang lainnya.


Mau belajar elektronika dasar? Arduino? atau Internet of Things? Ikuti kursus online Indobot Academy!

Ingin Tahu Program Kami Lebih Lanjut?

Silahkan isi Formulir Dibawah Ini untuk Diskusi dengan Tim Indobot Academy.

Baca Juga

Bagikan:

Tags

Tinggalkan komentar

whatsapp whatsapp