Laporan Akhir 2

 

Modul II PWM dan ADC



1. Hardware [Daftar]

        a. Arduino Uno
 

        b. LED

        c. Resistor

        d. Sensor Suhu LM35




        e. LCD


2. Gambar Rangkaian [Daftar]




   Pada percobaan 2 ini, ketika suhu yang terukur kurang dari 70 derajat, amak LED 1 akan menyala, dan ketika nilai suhu besar sama 70 derajat, maka LED 2 yang akan menyala, dan pada kedua kondisi, si LCD akan menampilkan suhu yang terukur, dan kondisi aman atau bahaya disitiap kondisinya. Komponen yang digunakan berupa arduino, sensor suhu Lm35, LCD, LED, resistor. Sensor LM35 akan di hubungkan pada pin A0, sementara untuk LED akan dihubungkan pada pin A1 dan A2. Sementara itu LCD akan di hubungkan pada pin 2, 3, 4, 5, 6, 7 arduino. 
   Pada coding program, dimulai dengan mendeklarasikan library LCD dan pin-pin yang digunakan. Kemudian ditetapkan bahwa pin A0 pada LM35 sebagai input,  sednagkan pin A1 dan A2 pada LED sebagai output. kemudian pada perulangan di tetapkan rumus dari suhunya yaitu nilaiSuhu = (5 * analogRead(LM35) * 100.00) / 1024; 
   Selanjutnya pada kondisi pertama, ketika suhu dibawah 70 derajat, akan di atur untuk LED 1 menyalan dan LED 2 mati lalu menampilkan suhu yang terbaca dan status aman.. Selanjutnya pada kondisi kedua, ketika suhu besar sama dengan 70 derajat, di setting LED 1 mati dan LED 2 menyala, dan menampilkan suhu yang terbaca dan status bahayanya.


#include <LiquidCrystal.h>
#define LM35 A0
#define led1 A1
#define led2 A2


LiquidCrystal LCD(2, 3, 4, 5, 6, 7);
int nilaiSuhu;

void setup() {
// put your setup code here, to run once:

pinMode(A0, INPUT);
pinMode(A1, OUTPUT);
pinMode(A2, OUTPUT);
LCD.begin(16, 2);
}

void loop() {
// put your main code here, to run repeatedly:
nilaiSuhu = (5 * analogRead(LM35) * 100.00) / 1024;

if (nilaiSuhu<70)
 
{
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
LCD.clear();
LCD.setCursor(0, 0);
LCD.print("Sensor Suhu LM35");
LCD.setCursor(0, 1);
LCD.print(nilaiSuhu);
LCD.setCursor(5, 1);
LCD.print("AMAN!!!");
delay(1000);
}

if (nilaiSuhu > 69) {
digitalWrite(led2, HIGH);
digitalWrite(led1, LOW);
LCD.clear();
LCD.setCursor(0, 0);
LCD.print("Sensor Suhu LM35");
LCD.setCursor(0, 1);
LCD.print(nilaiSuhu);
LCD.setCursor(5, 1);
LCD.print("BAHAYA!!!");
delay(1000);
}

}

5. Video Simulasi [Daftar]


6. Analisa [Daftar]

    1. Jelaskan Proses nilai suhu pada LM35 bisa tampil pada LCD [Proses ADC, Rumus, dll?
jawab:
  Sensor LM35 akan mendeteksi/mengukur suhu yang merupakan besaran analog. Jadi ketika data pengukuran sehu masuk ke arduino yang masih berupa analog. Kemudian Pada arduino, di pin-pin analog tersebut lah dilakukan proses ADC, yamg akan merubah data analog tadi menjadi digital. Proses-proses pada ADC tersebut berupa sampling, quantizing, dan encoding. 
  Selanjutnya, agar LCD dapat menampilkan suhu yang diukur tersebut, maka dilakukan proses konversi, yang mana konversinya menggunakan rumus [nilaiSuhu = (5 * analogRead(LM35) * 100.00) / 1024;], yang aman setiap kenaikan 1 derajat suhu, akan menghasilkan 10 mV. Setelah didapatkan suhu yang terukur, barulah dapat ditampilkan pada LCD.

    2. Berapa nilai Maks dan Min pembacaan suhu pada LM35? Analisalah apakah rumus yang dipakai pada listing program bisa menampilkan rentang suhu tsb?
jawab:
  Batas dari pembacaan LM35 adalah dari -55 s.d. 150 derajat celcius. Maka berdasarkan rumus pada listing program, nilaiSuhu = (5 * analogRead(LM35) * 100.00) / 1024; karena LM35 akan menghasilkan 10 mV setiap kenaikan 1 derajat, dan yang dihitung pada rumus berdasarkan kenaikan tegangan, maka pada tampilan LCD tidak akan dapat menampilkan untuk nilai suhu yang terbaca dibawah 0 derajat (suhu minus). Dapat dibuktikan ketika kita setting suhu di bawah 0 derajat pada LM35 di proteus, pada LCD akan tetap menampilkan suhu senilai 0 derajat.

7. Link Download [Daftar]

Materi HTML 



Tidak ada komentar:

Posting Komentar

Home