Modul 2 Percobaan 2 Kondisi 7:
2. Rangkaian Simulasi[Kembali]
Pada rangkaian di simulasi proteus pin 10 pada arduino dihubungkan ke pin in1 pada L293D, pada pin 9 pada arduino dihubungkan ke pin in2 L293D, lalu untuk pin EN1 dan VSS dihubungkan ke power supplay, pada pin VS dihubungkan ke battrey lalu ke ground, pada pin GND dihubungkan ke ground pada pin out1 dan out2 dihubungkan ke motor sebagai output.
Pada pin in1 dan in2 salah satunya harus diberikan tegangan dan ground contohnya pada in1 diberikan tegangan atau logika 1 ,sedangkan pada in2 dihubungkan ke ground atau berlogika 0 begitupun sebaliknya agat pada motor dapat berputar. Jika pada in1 dan in2 diberikan tegangan 1 atau 0 secara bersama-sama maka pada motor tidak akan jalan.
Untuk pin D4-D7 pada LCD dihubungkan ke pin 4-7 pada arduino, pin E pada LCD dihubungkan ke pin 3 pada arduino, pin RS pada LCD ke pin 2, pin VDD ke power, lalu pada pin RW, VEE, VSS ke ground. Pin A0 pada arduino ke pin output sensor LM35.
Pada percobaan ini jika pada sensor LM35 mendeteksi suhu lebih besar dari 40 derajat celcius maka motor akan berputar ke kir sedangkan jika suhu lebih kecil dari 40 derajat celcius maka akan berhenti.
Listing Program:
#include <LiquidCrystal.h> //Deklarasi library LCD
LiquidCrystal lcd(2, 3, 4, 5, 6, 7); //PIN 2-7 untuk LCD yang digunakan
#define in1 10 //pin 10 ke l293d
#define in2 9 //pin 9 ke l293d
#define LM35 A0 //pin A0 ke sensor LM35
int nilaiSuhu; //variabel nilai suhu
void setup() { //kode dieksekusi sekali
pinMode(in1,OUTPUT); //deklarasi pin in1 sebagai output
pinMode(in2,OUTPUT); //deklarasi pin in2 sebagai output
pinMode(A0,INPUT); //deklarasi pin A0 sebagai input
}
void loop() { //kode pada fungsi dilakukan berulang
nilaiSuhu = ((5*analogRead(LM35)*(100.00)/1024));
lcd.clear(); //menghapus layar pada LCD
lcd.setCursor(0, 0); //Menentukan posisi kursor
lcd.setCursor(0, 1); //Menentukan posisi kursor
lcd.print(nilaiSuhu); //Menampilkan nilai suhu pada LCD
delay(100);
if(nilaiSuhu>40){ //aktif jika nilai suhu lebih besar dari 40 derajat celcius
digitalWrite(in1, LOW); // Diberikan pin in1 low atau logika 0
digitalWrite(in2, HIGH); // Diberikan pin in2 high atau logika 01
delay(1000);
}
else{ // Jika kondisi bernilai salah atau lebih kecil dari 40
digitalWrite(in1, LOW); //Diberikan pin in1 high atau logika 1
digitalWrite(in2, LOW); //Diberikan pin in2 low atau logika 0
delay(1000);
}
delay(1000);
}
1. File HTML |Download|
2. File Proteus |Download|
3. Listing Program |Download|
4. File Video |Download|
5. DataSheet Arduino |Download|
6. DataSheet LCD |Download|
8. DataSheet Motor |Download|
9. DataSheet LM35 |Download|
10. DataSheet L293D |Download|
Tidak ada komentar:
Posting Komentar