Home » Blog » Tutorial Arduino Sensor Suhu LM35 – Bahasa Indonesia

Tutorial Arduino Sensor Suhu LM35 – Bahasa Indonesia

Sensor suhu LM35 merupakan salah satu sensor yang sering digunakan. Sensor ini memiliki beberapa keistimewaan, diantaranya adalah kemampuan untuk langsung merubah nilai voltase berdasarkan nilai suhu, suhu dari sensor tersebut sangat rendah, dan mudah digunakan. Video tutorial ini menjelaskan secara detil mengenai LM35, bagaimana menyambungkan ke Arduino dan membuat kode programnya.

Skema

Kode Program

// Protus Tanuhandaru
// www.progresstech.co.id
// www.karyaone.co.id

#include <LiquidCrystal_I2C.h> // Memanggil library LCD
int nilaiAnalog; // Variabel untuk menyimpan hasil pembacaan analog
int pinSensor = A0; // Variabel untuk PIN analog yang disambungkan ke sensor
float volts; // Variabel untuk menyimpan hasil dalam satuan Volts
float suhuCelsius; // Variabel untuk menyimpan nilai suhu dalam satuan Celsius
float suhuFahrenheit; // Variabel untuk menyimpan nilai suhu dalam satuan Fahrenheit
float suhuKelvin; // Variabel untuk menyimpan nilai suhu dalam satuan Kelvin
LiquidCrystal_I2C lcd(0x27, 16, 2); // Mengatur alamat LCD dan dimensi LCD, yaitu 16 kolom dan 2 baris


void setup()
{
  Serial.begin(9600); //Komunikasi serial dengan baud 9600

  // Memulai LCD
  lcd.begin();
  lcd.backlight();
  lcd.setCursor(0,0);
  lcd.print("ProgressTech");
  lcd.setCursor(0,1);
  lcd.print("Protus");
  delay(2000);
  lcd.clear();
}

void loop()
{
  nilaiAnalog = analogRead(pinSensor); // Membaca nilai analog dari PIN sensor
  volts = nilaiAnalog/1024.0*5000; // Merubah nilai analog menjadi skala 10 Bit ADC

  // Membagi angka voltase yang telah dirubah menjadi mili volts dengan angka 10 
  suhuCelsius = volts/10; 
  suhuFahrenheit = (suhuCelsius*9)/5 + 32; // Rumus untuk merubah nilai Celsius menjadi Fahrenheit
  suhuKelvin = suhuCelsius + 273.15; //Rumus untuk merubah nilai Celsius menjadi Kelvin

  // Hasil pembacaan disajikan melalui Serial Monitor
  Serial.print("Suhu Celsius : ");
  Serial.print(suhuCelsius);
  Serial.print("°C | ");
  Serial.print("Suhu Fahrenheit: ");
  Serial.print(suhuFahrenheit);
  Serial.print("°F | ");
  Serial.print("Suhu Kelvin : ");
  Serial.print(suhuKelvin);
  Serial.print("°K");
  Serial.println();

  // Hasil pembacaan disajikan melalui LCD 16x2 I2C
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("Suhu : ");
  lcd.setCursor(7,0);
  lcd.print(suhuCelsius);
  lcd.setCursor(12,0);
  lcd.print((char)223);
  lcd.setCursor(13,0);
  lcd.print("C");
  delay(1000);
}

Leave a Reply

Your email address will not be published. Required fields are marked *