PENDINGIN INKUBATOR BERBASIS ARDUINO





1.TUJUAN [kembali]


a.Dapat membuat alat sederhana untuk lingkungan sekitar
b.Mengerti tentang program pada arduino

2.ALAT dan BAHAN [kembali]

a.ARDUINO
 
b.L298N

 c.Kipas


 d.DHT 11

3.TEORI [kembali]


a.Arduino


Arduino adalah pengendali mikro single-board yang bersifat open-source, diturunkan dari Wiring platform, Hardwarenya memiliki prosesor Atmel AVR dan softwarenya memiliki bahasa pemrograman sendiri dirancang untuk memudahkan penggunaan elektronik dalam berbagai bidang.


 b.L298N


IC L298 merupakan sebuah IC tipe H-bridge  yang mampu mengendalikan beban-beban induktif seperti relay, solenoid, motor DC dan motor stepper.Pada IC L298 terdiri dari transistor-transistor logik (TTL) dengan gerbang nand yang berfungsi untuk memudahkan dalam menentukan arah putaran suatu motor dc maupun motor stepper. Untuk dipasaran sudah terdapat modul driver motor menggunakan ic l298 ini, sehingga lebih praktis dalam penggunaannya karena pin I/O nya sudah terpackage dengan rapi dan mudah digunakan.Kelebihan akan modul driver motor L298N ini yaitu dalam hal kepresisian dalam mengontrol motor sehingga motor lebih mudah untuk dikontrol.


c.KIPAS (MOTOR DC)


Motor Listrik DC atau DC Motor adalah suatu perangkat yang mengubah energi listrik menjadi energi kinetik atau gerakan
 (motion). Motor DC ini juga dapat disebut sebagai Motor Arus Searah.
Seperti namanya, DC Motor memiliki dua terminal dan memerlukan tegangan arus searah atau DC
(Direct Current) untuk dapat menggerakannya. Motor Listrik DC ini biasanya digunakan pada
perangkat-perangkat Elektronik dan listrik yang menggunakan sumber listrik DC seperti
Vibrator Ponsel, Kipas DC dan Bor Listrik DC.


d.DHT 11


DHT11 adalah sensor Suhu dan Kelembaban, dia memiliki keluaran sinyal digital yang dikalibrasi dengan sensor suhu dan kelembaban yang kompleks. Teknologi ini memastikan keandalan tinggi dan sangat baik stabilitasnya dalam jangka panjang.Mikrokontroler terhubung pada kinerja tinggi sebesar 8 bit. Sensor ini termasuk elemen resistif dan perangkat pengukur suhu NTC. Memiliki kualitas yang sangat baik, respon cepat, kemampuan anti-gangguan dan keuntungan biaya tinggi kinerja.

Setiap sensor DHT11 memiliki fitur kalibrasi sangat akurat dari kelembaban ruang kalibrasi.Koefisien kalibrasi yang disimpan dalam memori program OTP, sensor internal mendeteksi sinyal dalam proses, kita harus menyebutnya koefisien kalibrasi. Sistem antarmuka tunggal-kabel serial terintegrasi untuk menjadi cepatdan mudah. Ukuran kecil,daya rendah,sinyal transmisi jarak hingga 20 meter, sehingga berbagai aplikasi dan bahkan aplikasi yang paling menuntut. Produk ini 4-pin pin baris paket tunggal. Koneksi nyaman, paket khusus dapat diberikan sesuai dengan kebutuhan pengguna.

Grafik sensor DHT

4.Rangkaian  [kembali]


    Pada intinya,saat suhu sudah mencapai nilai 33 celcius keatas kipas akan menyala.

DHT akan mengirimkan arus ke arduino jika telah mencapai tingkat suhu yang ditetapkan ( suhu yang ditetapkan 33'C). Arduino akan menjalankan program untuk menampilkan informasi (suhu dan kelembaman) di LCD dan mengirimkan arus ke L298,jika suhu telah mencapai batas yang telah ditetapkan maka L298 akan menjalankan motor.

5. Flowchart dan Visual Designer [kembali]

 

 

6. Coding [kembali]

* untuk penjelasan kami menggunakan tanda ( // ) disamping kanan coding.terima kasih*

#include <LiquidCrystal_I2C.h>  //memanggil Library LCD
#include <SimpleDHT.h>  //Pemanggilan Library DHT
 

//Deklarasi variabel pin pada sensor DHT11, L29 dan LCD I2C
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); //menentukan kaki LCD I2C
int EnA = 3; //pin driver L298,pengatur kecepatan
int In1 = 2; //pin pengantar arus ke L298
int In2 = 4; //pin pengantar arus ke L298

int pin = A0;;//mengirim sinyal analog dari DHT ke arduino


SimpleDHT11 dht11(pin); //deklarasi pin untuk DHT

void setup() //fungsi wajib pada arduino
{
  //Menyiapkan pin pada L29
  pinMode(EnA, OUTPUT);//menyiapkan pin EnA sebagai output
  pinMode(In1, OUTPUT); //menyiapkan pin In1 sebagai output
  pinMode(In2, OUTPUT); //menyiapakan In2 sebagai output


  //Menampilkan tulisan awal pada LCD
  lcd.begin(16,2); //karakter dimulai pada LCD di baris pertama kolom kedua
  lcd.print("Inkubator"); //menampilkan karakter inkubator
}

void loop() //fungsi wajib untuk perulangan
{
  //Deklarasi varibel temperatur dan kelembaban(humidity)
  byte temperature = 0; //deklarasi variable temperatur dengan type data byte dan diawali dengan angka 0
  byte humidity = 0; // deklarasi variable humidity dengan type data byte dan diawali dengan angka 0
  //Mengecek error pada dht dan membaca suhu dan kelembaban dari sensor DHT
  int err = SimpleDHTErrSuccess; //deklarasi variable err
  if ((err = dht11.read(&temperature, &humidity, NULL)) != SimpleDHTErrSuccess)//memeriksa eror pada sensor DHT

{
    return;
  }//jika eror program langsung diberhentikan


   //Deklarasi variabel temp dan hum untuk ditampilkan pada LCD
  int temp = (int)temperature; //deklarasi variable temp,nilainya akan sama dengan temperatur
  int hum = (int)humidity; //deklarasi varible hum,nilainya akan sama dengan humudity
  //Menampilkan output pada LCD
   lcd.clear(); //LCD dihapus semua karakternya
    lcd.setCursor(0, 0); //dimulai dari baris 0,kolom 0
    lcd.print("Temperature : "); //menampilkan karakter temperatur
    lcd.setCursor(14, 0); //karakter pada LCD dimulai dari baris =0 ,kolom=14
    lcd.print(temp); //akan menampilkan nilai dari variable temperatur
    lcd.setCursor(0, 1);// dimulai dari baris= 1,kolom=0
    lcd.print("Humidity : "); //akan menampilkan nilai dari variable humidity
    lcd.setCursor(11, 1); //dimulai dari baris = 1,kolom = 11
    lcd.print(hum); //akan menampilkan nilai dari variable hum
    //Menjalankan motor sesuai kondisi dari suhu yang sudah dibaca sensor dht
    if (temp >=33) { // menentukan kondisi temperatur sama lebih dari 33 celcius
      digitalWrite(In1, HIGH); //mengalirkan arus untuk pin variable In1 (aktif high)
      digitalWrite(In2, LOW); //mengalirkan arus untuk pin variale In2 (aktif low)
      analogWrite(EnA, 250); //menentukan kecepatan motor
     }else{ //jika kondisi tidak memenuhi
      digitalWrite(In1, LOW); //mengalirkan arus untuk pin variable In1 (aktif low)
      digitalWrite(In2, LOW); //mengalirkan arus untuk pin variable In2 (aktif low)
     }


7. Video [kembali]

8. Link download  [kembali]

download video

download rangkaian

download program

download visual designer

Tidak ada komentar:

Posting Komentar