Dropdown

Tugas Besar : INCUBATOR DENGAN INPUT SUHU DAN KELEMBABAN




TUGAS BESAR :

INCUBATOR DENGAN INPUT SUHU DAN KELEMBABAN



1. 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 C

2. Alat dan Bahan [kembali]

  1. Arduino
  2. DHT11
  3. LCD
  4. Fan DC
  5. Relay
  6. Resistor
  7. I2C PCF8574

3. Dasar Teori [kembali]

A. Arduino

Gambar 1. Arduino

Arduino Uno adalah board mikrokontroler berbasis ATmega328 (datasheet). Memiliki 14 pin input dari output digital dimana 6 pin input tersebut dapat digunakan sebagai output PWM dan 6 pin input analog, 16 MHz osilator kristal, koneksi USB, jack power, ICSP header, dan tombol reset. Untuk mendukung mikrokontroler agar dapat digunakan, cukup hanya menghubungkan Board Arduino Uno ke komputer dengan menggunakan kabel USB atau listrik dengan AC yang-ke adaptor-DC atau baterai untuk menjalankannya.

Uno berbeda dengan semua board sebelumnya dalam hal koneksi USB-to-serial yaitu meng-gunakan fitur Atmega8U2 yang diprogram sebagai konverter USB-to-serial berbeda dengan board sebelumnya yang menggunakan chip FTDI driver USB-to-serial.

Nama “Uno” berarti satu dalam bahasa Italia, untuk menandai peluncuran Arduino 1.0. Uno dan versi 1.0 akan menjadi versi referensi dari Arduino. Uno adalah yang terbaru dalam serangkaian board USB Arduino, dan sebagai model referensi untuk platform Arduino, untuk perbandingan dengan versi sebelumnya, lihat indeks board Arduino.

DAYA
Arduino Uno dapat diaktifkan melalui koneksi USB atau dengan catu daya eksternal (otomatis). Eksternal (non-USB) daya dapat berasal baik dari AC-ke adaptor-DC atau baterai. Adaptor ini dapat dihubungkan dengan menancapkan plug jack pusat-positif ukuran 2.1mm konektor POWER. Ujung kepala dari baterai dapat dimasukkan kedalam Gnd dan Vin pin header dari konektor POWER.

Kisaran kebutuhan daya yang disarankan untuk board Uno adalah7 sampai dengan 12 volt, jika diberi daya kurang dari 7 volt kemungkinan pin 5v Uno dapat beroperasi tetapi tidak stabil kemudian jikadiberi daya lebih dari 12V, regulator tegangan bisa panas dan dapat merusak board Uno.

Pin listrik adalah sebagai berikut :
  • VIN. Tegangan masukan kepada board Arduino ketika itu menggunakan sumber daya eksternal (sebagai pengganti dari 5 volt koneksi USB atau sumber daya lainnya).
  • 5V. Catu daya digunakan untuk daya mikrokontroler dan komponen lainnya.
  • 3,3V. Sebuah pasokan 3,3 volt dihasilkan oleh regulator on-board.
  • GND. Ground pin

MEMORI
ATmega328 memiliki 32 KB (dengan 0,5 KB digunakan untuk bootloader), 2 KB dari SRAM dan 1 KB EEPROM (yang dapat dibaca dan ditulis dengan EEPROM liberary)

Input & Output
Masing-masing dari 14 pin digital di Uno dapat digunakan sebagai input atau output, dengan menggunakan fungsi pinMode (), digitalWrite (), dandigitalRead (), beroperasi dengan daya 5 volt. Setiap pin dapat memberikan atau menerima maksimum 40 mA dan memiliki internal pull-up resistor (secara default terputus) dari 20-50 kOhms. Selain itu, beberapa pin memiliki fungsi khusus :
  • Serial : 0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan mengirimkan (TX) TTL data serial. Pin ini dihubungkan ke pin yang berkaitan dengan chip Serial ATmega8U2 USB-to-TTL.
  • Eksternal menyela : 2 dan 3. Pin ini dapat dikonfigurasi untuk memicu interrupt pada nilai yang rendah, dengan batasan tepi naik atau turun, atau perubahan nilai. Lihat (attachInterrupt) fungsi untuk rincian lebih lanjut.
  • PWM : 3, 5, 6, 9, 10, dan 11. Menyediakan output PWM 8-bit dengan fungsianalogWrite ().
  • SPI : 10 (SS), 11 (Mosi), 12 (MISO), 13 (SCK). Pin ini mendukung komunikasi SPI menggunakan SPI library.
  • LED : 13. Ada built-in LED terhubung ke pin digital 13. Ketika pin bernilai nilai HIGH, LED on, ketika pin bernilai LOW, LED off.

Uno memiliki 6 masukan analog, berlabel A0 sampai dengan A5, yang masing-masing menyediakan 10 bit dengan resolusi (yaitu 1024 nilai yang berbeda). Selain itu, beberapa pin memiliki fungsi khusus :
  • I2C : A4 (SDA) dan A5 (SCL). Dukungan I2C (TWI) komunikasi menggunakan perpustakaan Wire
  • Aref : Tegangan referensi (0 sampai 5V saja) untuk input analog. Digunakan dengan fungsi analogReference ()
  • Reset : Bawa baris ini LOW untuk me-reset mikrokontroler

B)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:

Gambar 2. 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 :



C. LCD

Gambar 3. LCD

LCD (Liquid Crystal Display) atau display elektronik adalah salah satu komponen elektronika yang berfungsi sebagai tampilan suatu data, baik karakter, huruf ataupun grafik. LCD (Liquid Cristal Display) adalah salah satu jenis display elektronik yang dibuat dengan teknologi CMOS logic yang bekerja dengan tidak menghasilkan cahaya tetapi memantulkan cahaya yang ada di sekelilingnya terhadap front-lit atau mentransmisikan cahaya dari back-lit. LCD merupakan lapisan dari campuran organik antara lapisan kaca bening dengan elektroda transparan indium oksida dalam bentuk tampilan seven-segment dan lapisan elektroda pada kaca belakang. Ketika elektroda diaktifkan dengan medan listrik (tegangan), molekul organik yang panjang dan silindris menyesuaikan diri dengan elektroda dari segmen. Lapisan sandwich memiliki polarizer cahaya vertical depan dan polarizer cahaya horisontal belakang yang diikuti dengan lapisan reflektor. Cahaya yang dipantulkan tidak dapat melewati molekul-molekul yang telah menyesuaikan diri dan segmen yang diaktifkan terlihat menjadi gelap dan membentuk karakter data yang ingin ditampilkan.13 Bentuk fisik dari LCD 20x4 ditunjukkan pada gambar di bawah


Keterangan Kaki-kaki di LCD

Fungsi Pin LCD (Liquid Cristal Display)

Pada LCD terdiri dari pin- pin sebagai berikut:

~ DB0 – DB7 adalah jalur data (data bus) yang berfungsi sebagai jalur komunikasi untuk mengirimkan dan menerima data atau instruksi dari mikrokontroler ke modul LCD.

~ RS adalah pin yang berfungsi sebagai selektor register (register sellect) yaitu dengan memberikan logika low (0) sebagai register perintah dan logika high (1) sebagai register data.

~ R/W adalah pin yang berfungsi untuk menentukan mode baca atau tulis dari data yang terdapat pada DB0 – DB7 yaitu dengan memberikan logika low (0) untuk fungsi read dan logika high (1) untuk mode write.

~ Enable (E), berfungsi sebagai Enable Clock LCD, logika 1 setiap kali pengiriman atau pembacaan data.


D. 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



E. 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 Elektromagentik
  • 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.
Gambar 5. Relay

E. 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.

Gambar 6. I2C PCF8574






-----------------------------------------------------------------------------------------------------------
A. Gambar Rangkaian


B. Cara Kerja
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 dehat 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 ) akan menulis data.

Pin 10 terhubung ke relay, dan raly 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 FanDC 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
}




Kondisi 1 :

Kondisi 2 :







Download HTML disini
Download Rangkaian Simulasi disini
Download Video disini
Download Flowchart disini

No comments:

Post a Comment