Sensor suhu LM35 adalah sensor yang bersifat analog, artinya sinyal listrik yang dihasilkan bersifat kontinyu. Sensor ini mampu membaca suhu pada rentang -55oC sampai dengan +150oC. Tegangan output sensor ini naik 10mV tiap kenaikan 1oC. Sensor ini beroperasi pada tegangan 5V. karena sensor ini analog, maka sinyal outputnya dihubungkan ke pin ADC (analog to digital converter) Arduino Uno yaitu pin A0. Perhatikan diagram pin sensor suhu LM35 di bawah ini:
Gambar 1. Pinout sensor LM35 (sumber: tokpoedia.com)
Koneksi LM35 dengan Arduino Uno
Koneksi tiap pin antara sensor suhu LM35 dengan Arduino Uno dapat dilihat pada tabel berikut ini:
Supaya lebih jelas, berikut rangkaiannya:
Gambar 2. Koneksi Arduino Uno dengan sensor LM35
Menampilkan suhu pada Serial Monitor
1. Sensor LM35 tidak memiliki library, jadi langsung saja ketikkan kode di bawah ini pada IDE Arduino:
//Blog: pauzan.com //Youtube: Muhammad Pauzan const int sensor=A1; // pin A1 sebagai input dari LM35, diberi nama sensor. const di depan berarti read only float tempc; //variable bernama tempc bertipe data float, dalam Celcius float vout; //variabel vout untuk pembacaan input sensor void setup() { pinMode(sensor, INPUT); // pin sensor(A1) sebagai input Serial.begin(9600); } void loop() { vout=analogRead(sensor); vout=(vout*500)/1023; tempc=vout; // menyimpan nilai dalam Celcius Serial.print("Suhu= "); Serial.print(tempc, 2); //ambil dua angka di belakang koma Serial.println (" C"); delay(1000); //delay 1 detik }
2. Upload kode di atas pada board Arduino,
3. Lalu klik pojok kanan atas pada bagian serial monitor, maka ditampilkan suhu yang terbaca seperti pada gambar di bawah ini:
Gambar 3. Suhu ditampilkan pada Serial monitor
Menampilkan suhu menggunakan I2C LCD
1. Buat koneksi antara LM35, I2C LCD dan Arduino Uno seperti pada tabel berikut ini:
2. Supaya lebih jelas perhatikan rangkaian di bawah ini:
Gambar 4. Interface Sensor suhu LM35 dengan Arduino dan I2C LCD
3. Jangan lupa library I2C LCD sudah dimasukkan ke IDE Arduino, jika belum saya sudah jelaskan caranya di postingan “interface Arduino dengan I2C LCD”
4. Ketikkan sintaks di bawah ini:
//Blog: pauzan.com //Youtube: Muhammad Pauzan #include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27, 16, 2); //0x27 adalah alamat i2c const int sensor = A1; //pin A1 ke variable 'sensor' float tempc; //variable untuk menyimpan suhu dalam celcius float vout; //variabel vout untuk pembacaan input dari sensor void setup() { lcd.begin(); lcd.backlight(); //supaya lampu backlightnya nyala lcd.clear(); //layar lcd kosong lcd.setCursor(2,0); //2 berarti kolom ke-2 (ada 16 kolom), 0 berarti baris paling atas lcd.print("WELCOME TO"); lcd.setCursor (2,1); lcd.print("pauzan.com"); pinMode(sensor, INPUT); // pin A1 sebagai input delay(1000); lcd.clear(); } void loop() { vout=analogRead(sensor); vout=(vout*500)/1023; //kalibrasi dilakukan pada line ini jika pembacaan suhu tidak akurat tempc=vout; // menyimpan nilai suhu ke Celcius lcd.setCursor(0,0); lcd.print(" PENGUKUR SUHU"); lcd.setCursor(0,1); lcd.print("Celcius= "); lcd.print(tempc, 2); //2 berarti mengambil 2 angka di belakang koma delay(1000); //delay 1 detik }
5. Upload ke board Arduino, hasilnya dapat dilihat pada gambar di bawah ini:
Gambar 5. Pembacaan suhu ditampilkan pada LCD 16×2