Bila suhu yang terbaca pada lcd menunnjukkan suhu > 40 derajat celsius maka motor akan berputar ke kiri
2. Gambar Rangkaian Simulasi
[Kembali]
3. Video
[Kembali]
Pada percobaan kali ini, komponen yang digunakan adalah Arduino Uno, LM35, motor driver, motor, dan LCD, dimana LM35 dihubungkan ke pin Analog Arduino, Motor driver dihubugkan ke pin 9 dan 10 arduino, LCD dihubungkan ke pin 2,3,4,5,6,7,8, sedangkan Motor dihubungkan ke pin output dari motor driver. lalu pada arduino dimasukkan program sebagai berikut :
#include <LiquidCrystal.h> //Deklarasi library LCD
#define LM35 A0 //Deklarasi pin A0 arduino untuk terhubung ke LM35
LiquidCrystal lcd(2, 3, 4, 5, 6, 7); //Deklarasi pin 2-7 untuk terhubung ke LCD
int nilaiSuhu, in1,in2; //Deklarasi variabel nilaiSuhu
void setup() { //Semua kode dalam fungsi ini dieksekusi sekali
in1 = 9; //Deklarasi pin 9 Arduino terhubung ke in1
in2 = 10; //Deklarasi pin 10 Arduino terhubung ke in2
pinMode(A0, INPUT); //Deklarasi pin A0 sebagai input
pinMode(in1,OUTPUT); //Deklarasi pin in1 sebagai input
pinMode(in2,OUTPUT); //Deklarasi pin in2 sebagai input
lcd.begin(16, 2); //Dimensi LCD yang digunakan
}
void loop() //Semua kode dalam fungsi ini dieksekusi berulang
{
nilaiSuhu = ((5 * analogRead(LM35) * 100.00) / 1024); //Mencari nilai Suhu
lcd.clear(); //Menghapus tampilan layar LCD
lcd.setCursor(0, 0); //Menentukan posisi pada awal penulisan LCD
lcd.print("LM35 Sensor Suhu"); //Menampilkan text pada LCD
lcd.setCursor(0, 1); //Menentukan posisi pada awal penulisan LCD
lcd.print(nilaiSuhu); //Menampilkan nilaiSuhu pada LCD
delay(100); //Waktu delay 100 ms setelah dieksekusi untuk melanjutkan
perintah selanjutnya
if (nilaiSuhu > 40 ) //Mendeklarasikan kondisi atau syarat
{
digitalWrite(in1,LOW); //Mendeklarasikan jika kondisi atau syarat terpenuhi, maka in1
logika LOW
digitalWrite(in2,HIGH); //Mendeklarasikan jika kondisi atau syarat terpenuhi, maka in2
logika HIGH
//untuk membuat motor berputar ke kiri jika syarat
terpenuhi
delay(100); //Waktu delay 100 ms setelah dieksekusi untuk melanjutkan
perintah selanjutnya
}
else //mendeklarasikan kondisi di luar kondisi yang sudah ditentukan
sebelumnya
{
digitalWrite(in1,LOW); //Mendeklarasikan jika kondisi atau syarat terpenuhi, maka in1
logika LOW
digitalWrite(in2,LOW); //Mendeklarasikan jika kondisi atau syarat terpenuhi, maka in1
logika LOW
//untuk membuat motor berhenti jika syarat
terpenuhi
delay(100); //Waktu delay 100 ms setelah dieksekusi untuk melanjutkan
perintah selanjutnya
}
delay(100); //Waktu delay 100 ms setelah dieksekusi untuk melanjutkan
perintah selanjutnya
}
Ketika program sudah dimasukkan ke dalam arduino, maka suhu yang dideteksi LM35 di inputkan ke pin A0
atau pin ADC (Analog Digital Converter), lalu pada arduino di proses program yang sudah dimasukkan
sebelumnya, suhu yang terdeteksi pada LM35 diubah ke bentuk nilai suhu dengan rumus :
5 * analogRead(LM35) * 100.00) / 1024, lalu hasil dari pencarian nilai suhu tersebut ditampilkan di
diteruskan ke LCD dan Motor Driver, pada LCD nanti akan ditampilkan hasil dari pencarian nilai suhu tersebut,
dan pada motor driver hasil penyarian nilai suhu diteruskan ke pin in1 dan in2, lalu akan dikeluarkan ke motor.
dimana ketika nilai suhu> 40 maka motor akan berputar ke kiri, tetapi jika nilai suhu tidak cukup 40 maka
motor akan berhenti.
5. Link Download
[Kembali]
Download Datasheet Motor Driver