Tugas Pendahuluan 2 uP dan uC



 Tugas Pendahuluan Modul 2


1. Kondisi [KEMBALI]


Percobaan 2 No.12. Bila suhu yang terbaca pada lcd menunnjukkan suhu kisaran 50-55 derajat celsius maka motor berputar lambat, jika kisaran 60-65 motor berputar sedang


2. Gambar Rangkaian Simulasi [KEMBALI]







LM35 akan mendeteksi suhu lingkungan kemudian mengubah nya dalam bentuk tegangan keluaran. Tegangan keluaran akan masuk ke arduino, karena sinyal keluaran dari LM35 berbentuk analog maka arduino akan mengubah nya kedalam bentuk sinyal digital. Kemudian nilai suhu yang dideteksi oleh LM35 akan ditampilkan di LCD melalui instruksi program arduino. Nilai dari suhu yang dideteksi oleh LM35 akan memengaruhi kecepatan motor, melalui instruksi pada program arduino. Sinyal digital yang telah diubah oleh arduino sebelumnya akan diubah lagi menjadi sinyal analog melalui teknik PWM (Pulse Width Modulation) sebelum dikirimkan oleh arduino kepada motor. Tegangan keluaran dari hasil modulasi tersebut yang akan menentukan kecepatan motor.


4. Listing Program [KEMBALI]

#include <LiquidCrystal.h>      //Deklarasi pin LCD
#define LM35 A0                 //Deklarasi pin A0
LiquidCrystal lcd(2, 3, 4, 5, 6, 7); //Deklarasi pin 2-7 untuk LCD
int nilaiSuhu, motor;
int output, nilai;
void setup()                    //semua kode dalam fungsi ini dieksekusi
{
  motor = 9;
  pinMode (A0, INPUT);          //Deklarasi pin A0 sebagai input
  pinMode (motor, OUTPUT);      //Motor sebagai output
  lcd.begin(16, 2);             //Dimensi LCD digunakan
}

void loop()                     // Semua kode dalam fungsi ini dieksekusi berulang
{
  nilaiSuhu = ((5 * analogRead (LM35) * 100.00) / 1024); //Mencari nilai suhu
  lcd.clear();                                          //Menghapus layar LCD
  lcd.print("LM35 Sensor Suhu");
  lcd.setCursor(0, 1);                                  //Menentukan posisi kursor pada awal penulisan
  lcd.print(nilaiSuhu);                                 //Menampilkan text pada LCD
  delay(100);                                           //Waktu Delay 100ms

  if (nilaiSuhu >= 50 && nilaiSuhu <= 55)
  {
    analogWrite(motor, 125);
  }
  else if (nilaiSuhu >= 60 && nilaiSuhu <= 65)
  {
    analogWrite(motor, 255);
  }
  else
  {
    nilai = 0;
    analogWrite(motor, output);
  }
}




Rangkaian Simulasi        Download
Video Simulasi                Download
Listing Program              Download
Flowchart                        Download
File HTML                      Download 




Tidak ada komentar:

Posting Komentar