Anda di halaman 1dari 15

PRAKTIKUM INTERFACE DAN MIKROKONTROLER

PERCOBAAN 9
APLIKASI MIKROKONTROLLER ARDUINO UNO
SEBAGAI PENDETEKSI SUHU SENSOR LM 35

Disusun oleh:
Mukhamad Alfian Nurdiansyah (1941220010)

PRODI D-IV TEKNIK OTOMOTIF


ELEKTRONIK TEKNIK MESIN
POLITEKNIK NEGERI
MALANG TAHUN AJARAN
2021/2022

PRAKTIKUM INTERFACE DAN MIKROKONTROLER


PERCOBAAN 9
APLIKASI MIKROKONTROLLER ARDUINO UNO SEBAGAI
PENDETEKSI SUHU SENSOR LM 35

A. TUJUAN
Setelah melakukan percobaan ini, mahasiswa dapat:
1. Dapat menjalankan simulasi pendeteksi suhu pada Proteus.
2. Membuat program pendeteksi suhu menggunakan sensor LM35 dengan
pemrograman Arduino. 3. Mengubah data analog sensor LM35 menjadi data digital
pada Arduino.

B. DASAR TEORI
Sensor adalah alat yang mengubah suatu besaran menjadi energi listrik. LM35 adalah
sensor temperatur yang paling banyak digunakan untuk praktik, karena selain harganya cukup
murah, linearitasnya lumayan bagus. LM35 tidak membutuhkan kalibrasi eksternal yang
menyediakan akurasi ±1⁄4°C pada temperatur ruangan dan ±3⁄4°C pada kisaran -55° C sampai
150° C. LM35 dimaksudkan untuk beroperasi pada -55° C sampai 150° C, sedangkan LM35C -
40° C hingga 110°C, dan LM35D pada kisaran 0 – 100°C. LM35D juga tersedia pada paket 8
kaki dan paket TO-220. Sensor LM35 umumnya akan naik sebesar 10 mV setiap kenaikan 1° C
(300 mV pada 30° C).

Gambar 1. Sensor suhu LM 35

Sensor suhu (temperatur) LM35 ini dapat memberikan output 8-bit data yang
menyatakan kondisi perubahan dari suhu maka akan terjadi perubahan data output yang
dihasilkan, dimana perubahan tersebut berupa perbedaan tegangan yang dihasilkan. LM35
sebagai alat deteksi temperatur memiliki karateristik sebagai berikut:
1. Bekerja pada rating tegangan 4 V s/d 20 V.
2. Pembacaan temperatur berkisar antara -55° C s/d 150° C.
3. Dengan kenaikan temperatur 1° C maka tegangan output akan naik sebesar 10 mV.
4. Memiliki arus drain kurang dari 60 µA.
Mendeteksi suhu 0 – 100° Celcius dengan karakteristik 10 mV pada output mewakili 1 derajat
Celcius. Tegangan output 300 mV = 30 derajat Celcius. Tegangan output 230 mV = 23
derajat Celcius.
Menghitung nilai temperatur:
Cara 1: Suhu = input analog x 0.488
Cara 2: Suhu = (5.0 * analogRead(tempPin) * 100.0 / 1024);
Cara 3: 1° C = 10 mV / 4.88 mV = 2.0491 maka
Suhu = input analog / 2.0491

C. HARDWARE / PERALATAN / KOMPONEN


1. Arduino Uno
2. 1 buah Breadboard
3. 1 buah LM35
4. Kabel Jumper
5. 1 buah LED hijau
6. 1 buah LED kuning
7. 1 buah LED merah
8. 3 buah resistor 220 Ohm

D. RANGKAIAN

Gambar 2. Rangkaian Arduino, LED, dan LM35

Gambar 3. Rangkaian simulasi Arduino UNO dengan LM35


(Silahkan Anda lanjutkan dengan men-screenshot gambar rangkaian percobaan simulasi pada
Proteus menggunakan LED dan LM35 yang Anda buat sendiri)
……………………………………………………………………………………………………
……………………………………………………………………………………………………
E. LANGKAH PERCOBAAN
1. Buka dan buat project di Proteus.
2. Rangkailah project simulasi Arduino dengan LM35.
3. Buka Visual Studio Code / Arduino IDE.
4. Buat programnya dan jalankan, pastikan tidak ada error.

5. Copy as path file “firmware.hex” pada board Arduino UNO di Proteus

6. Jalankan simulasi rangkaian, Run the Simulation.

F. PROGRAM
1. Membaca temperatur ruangan dalam satuan Celsius dengan rumus perhitungan:
DataInputLM35 * 0.488. Temperatur ditampilkan pada serial monitor dengan delay 500 ms.
(Ganti screenshot program ini dengan program yang Anda buat)
2. Membaca temperatur ruangan dalam satuan Celcius dengan rumus perhitungan
(DataInputLM35/1024.0) * 5000. Temperatur ditampilkan pada serial monitor dengan delay
1000 ms.
(Ganti screenshot program ini dengan program yang Anda buat)

3. Membaca temperatur ruangan dalam satuan Celcius dengan rumus perhitungan


DataInputLM35 * 0.488. Dengan tambahan apabila temperatur ruangan yang dibaca oleh
LM35 lebih besar dari 28 derajat Celsius maka LED akan menyala. Temperatur ditampilkan
pada serial monitor dengan delay 1000 ms.
(Ganti screenshot program ini dengan program yang Anda buat)
4. Program sensor DHT 11. Membaca temperatur dan kelembaban ruangan dengan memakai
sensor DHT 11.
Latihan!
5. Buatlah program, “Jika nilai LM35 <=25, maka LED warna hijau menyala. Jika nilai LM35
<=30, maka LED warna kuning menyala. Dan jika nilai LM35 >30, maka LED warna merah
menyala.

6. Buatlah program untuk membaca data input analog dan mengkonversikan ke derajat Celcius
menggunakan rumus cara ke-3. Kemudian tampilkan data input analog dan hasil
konversinya pada serial monitor.
G. ANALISA
1. Membaca temperatur ruangan dalam satuan
Celsiusdenganrumus perhitungan: DataInputLM35 * 0.488. temperatur ditampilkan pada
serial monitor dengan delay 500 ms.

#include <Arduino.h>

int LM35 = A1; //variabel LM35 untuk pin A1 Arduino


int nilaiLM35 = 0; // variabel nilai LM35 = menyimpan sensot

void setup() { Serial.begin(9600);


}

void loop() {
nilaiLM35 = analogRead(LM35); // simpan nilai LM35 ke nilai LM35
nilaiLM35 = nilaiLM35 * 0.488; // koversi nilai dari LM35 = 0 Celcius
Serial.println(nilaiLM35); delay(500);

}
2. Membaca temperatur ruangan dalam satuan Celcius dengan rumus perhitungan
(DataInputLM35/1024.0) * 5000. Temperatur ditampilkan pada serial monitor dengan delay
1000 ms.

#include <Arduino.h>

int val; int


tempPin = 1;

void setup() { Serial.begin(9600);

void loop() {
val = analogRead(tempPin); float mv = (val/1024.0)*5000; float cel = mv/10; float
fahr = (cel*9)/5 * 32;

Serial.print("TEMPERATURE = "); Serial.print(cel);


Serial.println(" C"); Serial.println(); delay(500);
Serial.print("TEMPERATURE = "); Serial.print(fahr);
Serial.println(" F"); Serial.println(); delay(500);
}
3. Membaca temperatur ruangan dalam satuan Celcius dengan rumus perhitungan
DataInputLM35 * 0.488. Dengan tambahan apabila temperatur ruangan yang dibaca oleh
LM35 sama dengan 28 derajat Celsius maka LED akan menyala. Temperatur ditampilkan
pada serial monitor dengan delay 1000 ms.

#include <Arduino.h>

int LM35 = A1;


int nilaiLM35; int LED1 = 11; int LED2 = 12; int LED3 = 13;

void setup() { Serial.begin(9600); pinMode(LED1, OUTPUT);


pinMode(LED2, OUTPUT); pinMode(LED3, OUTPUT);
}
void loop() {
nilaiLM35 = analogRead(LM35);
nilaiLM35 = nilaiLM35*0.488;
Serial.println(nilaiLM35); delay(200); if (nilaiLM35
>= 28) // jika nilai LM35 = 28
{
digitalWrite(LED1, HIGH);
digitalWrite(LED2, HIGH);
digitalWrite(LED3, HIGH);
} else {
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
digitalWrite(LED3, LOW);
}
}
4. Program sensor DHT 11. Membaca temperatur dan kelembaban ruangan dengan memakai
sensor DHT 11.

#include <DHT.h> //Library DHT

#define DHTPIN A2 // Pin yg terhubung pada pinout DHT11


#define DHTTYPE DHT11// tipe pin DHT=> DHT11
DHT dht(DHTPIN, DHTTYPE); // konfigurasi DHT11

int t; // var suhu


int h; // var kelembapan

void setup() {
Serial.begin(9600); //memulai koneksi Serial antara Arduino dengan PC
dht.begin(); //memulai koneksi antara arduino dg DHT11 }

void loop() {
t = dht.readTemperature(); //membaca data suhu h =
dht.readHumidity(); //membaca kelembapan delay(500);
delay(1000); //delay 2 detik (pembacaan dilakukan setiap 2 detik sekali

//menampilkan ke dalam Serial Monitor


Serial.print("Suhu = ");
Serial.print(t);
Serial.print("*C");
Serial.print(" ");
Serial.print(" Kelembaman = ");
Serial.print(h);
Serial.println("%");
}

5. Buatlah program, “Jika nilai LM35 <=25, maka LED warna hijau
menyala. Jika nilai LM35<=30, maka LED warna kuning menyala. Dan
jika nilai LM35 >30, maka LED warna merah menyala.

#include <Arduino.h>

int LM35 = A1;


int nilaiLM35;
int LED1 = 11;
int LED2 = 12;
int LED3 = 13;

void setup() { Serial.begin(9600);


pinMode(LED1, OUTPUT);
pinMode(LED2,OUTPUT);
pinMode(LED3, OUTPUT);
}
void loop() {
nilaiLM35 = analogRead(LM35);
nilaiLM35 = nilaiLM35*0.488;
Serial.println(nilaiLM35); delay(500); if (nilaiLM35
<= 25)
{
digitalWrite(LED1, HIGH);
}else{
digitalWrite(LED1, LOW);
}
if (nilaiLM35 <=30 && nilaiLM35 > 25)
{
digitalWrite(LED2, HIGH);
}else {
digitalWrite(LED2, LOW);
}
if (nilaiLM35 > 30)
{
digitalWrite(LED3, HIGH);
}else{
digitalWrite(LED3, LOW);
}
}
6. Buatlah program untuk membaca data input analog dan mengkonversikan ke derajat Celcius
menggunakan rumus cara ke-3. Kemudian tampilkan data input analog dan hasil konversinya
pada serial monitor.

#include <Arduino.h>

int LM35 = A1;


int nilaiLM35;
int temp;

void setup() {
Serial.begin(9600);

void loop() {
nilaiLM35 = analogRead(LM35);
temp = nilaiLM35*0.488;
Serial.print("Data Input = ");
Serial.print(nilaiLM35);
Serial.print(" ke Celcius = ");
Serial.print(temp);
Serial.print(" C");
Serial.println();
delay(200);

}
H. KESIMPULAN
Pada saat melakukan percobaan di atas saya mempelajari rangkaian arduino untuk mendeteksi
suhu dan saya dapat menjalankan simulasi pendeteksi suhu pada Proteus, membuat program
pendeteksi suhu menggunakan sensor LM35 dengan pemrograman Arduino dan mengubah data analog
sensor LM35 menjadi data digital pada Arduino. Hal ini mepurakan hal baru untuk percobaan ini dan
sedikit memeliki kesulitan saat pengerjaan.

Anda mungkin juga menyukai