TP1 M2 Up Uc




1. Kondisi
[Kembali]

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]




4. Prinsip Kerja [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