Mikro Modul 4
INCUBATOR BERINPUT SUHU DAN KELEMBABAN
2. Tujuan [Kembali]
1. Untuk dapat mengukur besar suhu dan kelembaban pada incubator
2. Untuk menjaga kestabilan suhu dalam incubator dengan menggunakan Fan FC
3. Menyelesaikan Tugas UAS Mata kuliah Mikroprosesor & Mikrokontroller
3. Alat dan Bahan [Kembali]
Komponen yang digunakan:
1. Arduino Uno
2. DHT11
3.LCD
4. Fan DC
5. Relay
6. I2C PCF8574
4. Landasan Teori [kembali]
1. Arduino
Arduino adalah pengendali mikro single-board yang bersifat opensource, diturunkan dari Wiring platform, dirancang untuk memudahkan penggunaan elektronik dalam berbagai bidang. Hardware arduino memiliki prosesor Atmel AVR dan software arduino memiliki bahasa pemrograman C. Memori yang dimiliki oleh Arduino Uno sebagai berikut : Flash Memory sebesar 32KB, SRAM sebesar 2KB, dan EEPROM sebesar 1KB. Clock pada board Uno menggunakan XTAL dengan frekuensi 16 Mhz. Dari segi daya, Arduino Uno membutuhkan tegangan aktif kisaran 5 volt, sehingga Uno dapat diaktifkan melalui koneksi USB. Arduino Uno memiliki 28 kaki yang sering digunakan. Untuk Digital I/O terdiri dari 14 kaki, kaki 0 sampai kaki 13, dengan 6 kaki mampu memberikan output PWM (kaki 3,5,6,9,10,dan 11). Masing-masing dari 14 kaki digital di Uno beroperasi dengan tegangan maksimum 5 volt dan dapat memberikan atau menerima maksimum 40mA.
Untuk Analog Input terdiri dari 6 kaki, yaitu kaki A0 sampai kaki A5. Kaki Vin merupakan tempat input tegangan saat menggunakan sumber daya eksternal selain USB dan adaptor.Spesifikasi arduino uno R3 dapat dilihat pada tabel:
2. DHT11
Sensor DHT11 memiliki keluaran sinyal digital yang terkalibrasi dengankemampuan sensor suhu dan temperaturnya. Sensor ini bisa diintegrasikan dengansebuah mikrokontroler 8-bit dengan kinerja yang tinggi. Teknologi yang digunakan pada sensor DHT11 ini dapat diandalkan dan memiliki tingkat kestabilan yang sangat baik dalam &angka waktu yang lama. Sensor ini memiliki elemen resistif dan sebuahsensor yang bisa digunkan di dalam pengukuran suhu negatif. Sensor ini memiliki kualitas yang sangat baik, respon yang cepat, kemampuan (anti-gangguan) dan kinerja tinggi. tiap sensor DHT11 memiliki fitur pendeteksi kelembaban yang sangat akurat. Koefisien kalibrasi yang disimpan dalam memori program OTP, sensor internal mendeteksi sinyal dalam proses. Ukuran kecil, daya rendah, jarak sinyal transmisihingga 20 meter, yang memungkinkan kebutuhan berbagai aplikasi.
Gambar sensor DHT11:
Spesifikasi:
• Pasokan Voltage: 5 V
• Rentang temperatur:0-50 ° C kesalahan ± 2 ° C
• Kelembaban:20-90% RH ± 5% RH error
• Interface: Digital
Gambar sensor DHT11:
Spesifikasi:
• Pasokan Voltage: 5 V
• Rentang temperatur:0-50 ° C kesalahan ± 2 ° C
• Kelembaban:20-90% RH ± 5% RH error
• Interface: Digital
Grafik Respon Sensor DHT11:
3. Liquid Crystal Display (LCD)
Liquid Crystal Display (LCD) adalah sebuah peralatan elektronik yang berfungsi untuk menampilkan output sebuah sistem dengan cara membentuk suatu citra atau gambaran pada sebuah layar. Secara garis besar komponen penyusun LCD terdiri dari kristal cair (liquid crystal) yang diapit oleh 2 buah elektroda transparan dan 2 buah filter polarisasi (polarizing filter).
Gambar Penampang komponen penyusun LCD
Keterangan:
1. Film dengan polarizing filter vertical untuk memolarisasi cahaya yang masuk.
2. Glass substrate yang berisi kolom-kolom elektroda Indium tin oxide (ITO).
3. Twisted nematic liquid crystal (kristal cair dengan susunan terpilin).
4. Glass substrate yang berisi baris-baris elektroda Indium tin oxide (ITO).
5. Film dengan polarizing filter horizontal untuk memolarisasi cahaya yang masuk.
6. Reflektor cahaya untuk memantulkan cahaya yang masuk LCD kembali ke mata pengamat.
Sebuah citra dibentuk dengan mengombinasikan kondisi nyala dan mati dari pixel-pixel yang menyusun layar sebuah LCD. Pada umumnya LCD yang dijual di pasaran sudah memiliki integrated circuit tersendiri sehingga para pemakai dapat mengontrol tampilan LCD dengan mudah dengan menggunakan mikrokontroler untuk mengirimkan data melalui pin-pin input yang sudah tersedia.
Kaki-kaki yang terdapat pada LCD
4. Motor DC
Pada dasarnya beberapa aplikasi yang menggunakan motor DC harus dapat mengatur kecepatan dan arah putar dari motor DC itu sendiri. Untuk dapat melakukan pengaturan kecepatan motor DC dapat menggunakan metode PWM (Pulse Width Modulation) sedangkan untuk mengatur arah putarannya dapat menggunakan rangkaian H-bridge yang tersusun dari 4 buah transistor. Tetapi dipasaran telah disediakan IC L293D sebagai driver motor DC yang dapat mengatur arah putar dan disediakan pin untuk input yang berasal dari PWM untuk mengatur kecepatan motor DC.
Sebelum membahas tentang IC L293D, alangkah baiknya jika kita membahas driver motor DC menggunakan rangkaian analog terlebih dahulu.
Jika diinginkan sebuah motor DC yang dapat diatur kecepatannya tanpa dapat mengatur arah putarnya, maka kita dapat menggunakan sebuah transistor sebagai driver. Untuk mengatur kecepatan putar motor DC digunakan PWM yang dibangkitkan melalui fitur Timer pada mikrokontroler. Sebagian besar power supply untuk motor DC adalah sebesar 12 V, sedangkan output PWM dari mikrokontroler maksimal sebesar 5 V. Oleh karena itu digunakan transistor sebagai penguat tegangan. Dibawah ini adalah gambar driver motor DC menggunakan transistor.
Sedangkan jika diinginkan sebuah motor DC yang dapat diatur kecepatan atau arah putarnya maka digunakanlah rangkaian H-brigde yang tersusun dari 4 buah transistor.
5. Relay
Relay adalah sebuah saklar magnetic yang biasanya menggunakan medan magnet dan sebuah kumparan untuk membuka atau menutup satu atau beberapa kontak saklar pada saat relay dialiri arus listrik. Pada dasarnya relay terdiri dari sebuah lilitan kawat yang terlilit pada suatu inti besi dari besi lunak berubah menjadi magnet yang menarik atau menolak suatu pegas sehingga kontak pun menutup atau membuka. Relay mempunyai anak kontak yaitu NO (Normally open) dan NC (Normally Close). listrik hingga mencapai batas maksimalnya Relay merupakan rangkaian yang bersifat elektronis sederhana dan tersusun oleh:
- Saklar
- medan elektromagnet (kawat koil)
- poros besi
Relay akan bekerja bila kontak-kontak yang terdapat pada relay tersebut bergerak membuka dan menutup. Relay pada keadaan normaly open kontak kontaknya yang mempunyai posisi tertutup pada saat relay tidak bekerja akan membuka setelah ada arus yang mengalir, sedangkan relay pada keadaan normaly close kontak-kontaknya yang mempunyai posisi terbuka pada relay tidak bekerja akan menutup setelah ada arus yang mengalir, banyaknya kontak-kontak dimana jangkar dapat melepas atau menyambung lebih dari satu kontak sekaligus, oleh karena itu relay yang dijual dipasaran ada yang membuka atau menutup lebih banyak kontak sekaligus.
Simbol relay yang ada jenis DPDT (Double pole Double Throw) dan SPDT (single pole double throw). Pole adalah kontak yang bergerak, sedangkan throw adalah kontak diam. NC (normally-closed) menunjukkan bahwa kontak tersebut pada keadaannya normal (relay- off) terhubung dengan pole. Sedangkan NO (normallyopened) pada keadaan normalnya tidak terhubung dengan pole.
Relay yang baik mempunyai resistansi isolasi yang tinggi, sehingga tegangan yang tinggi pada peralatan tidak menggangu kerja dari rangkaian pengendali. Ada dua jenis relay yang bisa didapat yaitu inputnya bekerja pada arus searah dan yang bekerja pada arus bolak-balik. Pada umumnya relay yang digunakan pada rangkaian / sistem elektronika adalah yang bekerja pada tegangan DC.
6. I2C PCF8574
Inter
Integrated Circuit atau yang lebih dikenal dengan sebutan I2C adalah
merupakan standar komunikasi serial dua arah dengan menggunakan dua buah
saluran yang didesain khusus untuk pengontrollan IC tersebut. Secara
garis besar sistem I2C itu sendiri tersusun atas dua saluran utama
yaitu, saluran SCL (serial clock) dan SDA (serial data) yang membawa
informasi data antara I2C dengan sistem pengontrolnya.
Perangkat yang dihubungkan dengan I2C ini dapat difungsikan sebagai
master atau slave. Master adalah perangkat yang memulai transfer pada
data dengan membentuk sinyal stop, dan membangkitkan sinyal clock.
Sedangkan slave adalah perangkat yang telah diberikan alamat oleh
master.
Berikut ini merupakan beberapa kondisi ketika melakukan proses
transfer data pada I2C bus, yaitu transfer data hanya dapat dilakukan
ketika bus tidak dalam keadaan sibuk, lalu selama proses transfer data
keadaan pada pin SDA
haruslah stabil selama pin SCL dalam keadaan tinggi.
5. Rangkaian dan Prinsip Kerja [kembali]
Rangkaian yang berperan sebagai input adalah sensor DHT11. Sedangkan
LCDI2C dan Fan DC berperan sebagai output. Pertama, arduino mengirim
sinyal low pada dht (active low) dan memastikan bahwa dht telah ready,
setelah itu dht membalas sinyal dari arduino yang menandakan dht telah
ready, kemudian dht mengirim data suhu dan kelembaban berbentuk biner
sebanyak 40 bit. data biner yang dikirim ke arduino akan dikonversi oleh
library dht pada arduino.
Pin A4 dan A5 Arduino terhubung ke pin SDA (serial data analog) dan SCL(serial clock) LCDI2C.
SDA berfungsi sebagai tempat menerima data dari arduino, data yang
diterima ada 8 bit, dan SCL sebagai clocknya. Pin A0, A1 dan A2
berfungsi sebagai alamat.
Pin RS (register select) pada LCD berfungsi untuk menentukan jika
bernilai 1 maka akan mengirim perintah dan jika bernilai 0 akan mengirim
data. Pin E (enable) berfungsi sebagai clock. Pin RW jika bernilai 1
maka akan membaca data dan bernilai 0 akan menulis data.
Pin 10 terhubung ke relay, dan relay terhubung ke Fan DC. Relay
dihubungkan ke sumber maka arus akan mengalir melalui kumparan yang
akan menghasilkan medan magnet dan akan menarik saklar. terdapat
transistor npn yang berguna sebagai saklar apakah dialirkan arus atau
tidak. Relay disini sebagai saklar dan juga pemicu untuk hidupnya Fan
DC. Karena Fan DC disini adalah Fan DC 12 volt, jika hanya dengan sumber
dari arduino saja Fan DC tidak dapat hidup, oleh karena itu sumbernya
dibantu oleh relay.
Pada rangkaian juga terdapat rangkaian reset yang berguna merefresh
rangkaian untuk memastikan semua fungsi berjalan dengan semestinya.
#include <Wire.h>
#include <LiquidCrystal_I2C.h> //memasukkan library I2C
#include <Adafruit_Sensor.h>
#include "DHT.h" //memasukkan library dht
#define DHTPIN 8 //mendeklarasi pin dht
LiquidCrystal_I2C lcd(0x20,16,2); //0x22 alamat I2C modul, 16,2 jumalh kolom dan baris LCD
#define DHTTYPE DHT11 //jenis sensor kelembaban yang dipakai
DHT dht(DHTPIN, DHTTYPE);
float temperature; //pemasukan nilai suhu yang digunakan
float humidity; //pemasukan nilai kelembaban yang digunakan
int relay = 10; //pin relay pada arduino
void setup()
{
pinMode(relay,OUTPUT); // menginisialisai pin input atau output
pinMode(DHTPIN,INPUT);
digitalWrite(relay,LOW); // menulis nilai digital
lcd.init();
lcd.backlight();
dht.begin();
Serial.begin(9600); // untuk melaukan komunikasi serial antara Arduino dengan PC
lcd.setCursor(0,0); //mengatur awal mulai kursor LCD
lcd.print("Incubator:"); //menampilkan tulisan di LCD
delay(100); // memberikan jeda antar fungsi
}
void loop()
{
byte RH = dht.readHumidity(); //pemasukan nilai kelembaban
byte Temp = dht.readTemperature(); //pemasukan nilai suhu
if (Temp>=37.0 || RH<=50.0) //kondisi yang diinginkan
{
digitalWrite(relay,LOW); // menulis nilai digital
lcd.setCursor(0,1); //mengatur letak kursor LCD
lcd.print ("T: "); //menampilkan tulisan di LCD
lcd.print(Temp);
lcd.print ("C");
lcd.setCursor(7,1);
lcd.print ("RH: ");
lcd.print(RH);
lcd.print ("%");
}
else if (Temp>=35.0 && Temp<=37.0 || RH>=50 && RH<=60) //kondisi yang diinginkan
{
digitalWrite(relay,HIGH); // menulis nilai digital
lcd.setCursor(0,1); //mengatur letak kursor LCD
lcd.print ("T: "); //menampilkan tulisan di LCD
lcd.print(Temp);
lcd.print ("C");
lcd.setCursor(7,1);
lcd.print ("RH: ");
lcd.print(RH);
lcd.print ("%");
}
else //kondisi selain kedua kondisi diatas
{
digitalWrite(relay,HIGH); // menulis nilai digital
lcd.setCursor(0,1); //mengatur letak kursor LCD
lcd.print ("T: "); //menampilkan tulisan di LCD
lcd.print(Temp);
lcd.print ("C");
lcd.setCursor(7,1);
lcd.print ("RH: ");
lcd.print(RH);
lcd.print ("%");
}
delay(100); // memberikan jeda antar fungsi
}
7. Flowchart [kembali]
Kondisi 1
Kondisi 2
Rangkaian Simulasi
Video Alat
Program Arduino
Flowchart (Visual Designer)
Komentar
Posting Komentar