6 Channel Sensor Suhu dan Arduino UNO

Aplikasi Arduino yang akan kita buat ini merupakan pengembangan dari proyek Arduino yang dulu pernah kita buat, yaitu tentang monitoring suhu dengan Arduino dan sensor suhu LM35. Kali ini kita tambah sensornya menjadi 6 sensor suhu LM35. Apakah bisa ? Arduino UNO mempunyai 6 chanel analog input yang dapat kita manfaatkan untuk membaca sensor analog seperti LM35. Analog input A0, A1 sampai A5.

Masing – masing chanel analog input (ADC) mempunyai resolusi 10 bit, artinya nilai tegangan input terkecil yang dapat dikonversi adalah 5V/1023 = 4,88 mV. Sensor suhu LM35 mempunyai output linear terhadap perubahan suhu sebesar 10 mV/0C, artinya ADC mampu membaca perubahan suhu yang diterima sensor suhu LM35.

Sekarang kita siapkan komponen untuk membuat 6 channel sensor suhu LM35 dengan Arduino :

  • Arduino UNO (1)
  • LM35 (6)
  • Breadboard (1)
  • Kabel konektor male – male (seperlunya)

Selanjutnya kita buat rangkaiannya. Masih ingat kan susunan pin sensor suhu LM35 ? betul.. kaki nomor 1 Vcc (5V) kaki nomor 2 atau tengah adalah pin output yang terhubung ke analoh input Arduino dan kaki nomor 3 terhubung ke ground.

Ok kalau rangkaian Arduino dengan 6 sensor suhu sudah selesai kita lanjutkan membuat program Arduino-nya. Ohya, nantinya hasil pembacaan 6 sensor suhu LM35 ini ditampilkan ke dalam Serial Monitor sehingga kita tidak perlu tambahan komponen seperti LCD.

#include <LiquidCrystal.h>
int adc; 
float volt,s1,s2,s3,s4,s5,s6;  
void setup()
{  
  Serial.begin(9600);      
}
void loop()
{
  adc = analogRead(0); 
  volt = adc * (5000 / 1023.0); 
  s1=volt/10;
  delay(20);  
  adc = analogRead(1); 
  volt = adc * (5000 / 1023.0); 
  s2=volt/10;
  delay(20);
  adc = analogRead(2); 
  volt = adc * (5000 / 1023.0); 
  s3=volt/10;
  delay(20); 
  adc = analogRead(3); 
  volt = adc * (5000 / 1023.0); 
  s4=volt/10;
  delay(20);
  adc = analogRead(4); 
  volt = adc * (5000 / 1023.0); 
  s5=volt/10;
  delay(20);
  adc = analogRead(5); 
  volt = adc * (5000 / 1023.0); 
  s6=volt/10;
  delay(20);             
  Serial.print("S1="); 
  Serial.println(s1);  
  Serial.print("S2="); 
  Serial.println(s2);
  Serial.print("S3="); 
  Serial.println(s3);
  Serial.print("S4="); 
  Serial.println(s4);
  Serial.print("S5="); 
  Serial.println(s5);
  Serial.print("S6="); 
  Serial.println(s6);  
  delay(1000);
}

Buat programnya di Arduino IDE kemudian simpan (Save) dan Upload, pastikan program tidak ada error. Jika masih ketemu error silahkan program diperbaiki terlebih dahulu. Hasilnya kita lihat di Serial Monitor.  Buka Serial Monitor di Arduino IDE, dari menu Tools – Serial Monitor. Seting baudrate pada 9600 bps. Sekarang kita lihat hasilnya.

Hasil pembacaan ke-6 sensor suhu LM35 tampak pada Serial Monitor, nilainya rata – rata hampir sama karena memang lingkungan yang diukur suhunya sama. Jika ingin mencoba respon dari sensor suhu, silakan berikan perubahan misalnya dengan mendekatkan ujung solder ke salah satu sensor LM35.

Pada bagian awal program merupakan library LCD dan juga deklarasi variabel yang akan digunakan untuk membaca dan menghitung nilai suhu/temperatur. Untuk sensor 1 nama variabel s1, sensor 2 s2 dan seterusnya. Tipe data kita pakai float karena pada perhitungan ada bilangan pecahan.

#include <LiquidCrystal.h>
int adc; 
float volt,s1,s2,s3,s4,s5,s6;

Selanjutnya pada bagian fungsi Setup hanya ada 1 perintah yaitu seting nilai baudrate sebesar 9600. Nilai ini bebas yang penting sama dengan baurate pada Serial Monitor.

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

Pada program utama (loop) perintah pertama membaca nilai output sensor suhu LM35 yang terhubung dengan pin analog A0 Arduino UNO.

void loop() { 
   adc = analogRead(0); 
   volt = adc * (5000 / 1023.0);
   s1=volt/10;

Nilai ADC dikonversi terlebih dahulu ke tegangan dengan rumus = adc*(5000/1023). Angka 5000 satuannya mV (5V) merupakan tegangan referensi ADC sedangkan nilai 1023 adalah resolusi ADC 10 bit. Perhitungan terakhir adalah konversi ke suhu dengan rumus =tegangan output/10mV.

Perhitungan ADC ke nilai suhu tersebut juga sama untuk sensor 2 sampai sensor 6. Sensor suhu LM35 ke-2 terhubung ke pin A1 dan seterusnya sampai sensor suhu ke-6 terhubung dengan pin A5 Arduino UNO.

adc = analogRead(1); 
volt = adc * (5000 / 1023.0); 
s2=volt/10; 
delay(20); 

adc = analogRead(2); 
volt = adc * (5000 / 1023.0); 
s3=volt/10; 
delay(20); 

adc = analogRead(3); 
volt = adc * (5000 / 1023.0); 
s4=volt/10; 
delay(20); 

adc = analogRead(4); 
volt = adc * (5000 / 1023.0); 
s5=volt/10; 
delay(20); 

adc = analogRead(5); 
volt = adc * (5000 / 1023.0); 
s6=volt/10; delay(20);

Perintah terakhir pada program Arduino mengirim data hasi pembacaan 6 sensor suhu LM35 ke Serial Monitor.

Serial.print("S1="); Serial.println(s1); Serial.print("S2="); Serial.println(s2); Serial.print("S3="); Serial.println(s3); Serial.print("S4="); Serial.println(s4); Serial.print("S5="); Serial.println(s5); Serial.print("S6="); Serial.println(s6);

Alhamdulillah selesai membuat aplikasi Arduino yaitu 6 channel sensor suhu LM35 dengan Arduino UNO, semoga bermanfaat.

6 thoughts on “6 Channel Sensor Suhu dan Arduino UNO

Leave a Reply

Your email address will not be published.