Professional Documents
Culture Documents
Multiple Sensor Suhu
Multiple Sensor Suhu
com --- */
#include <OneWire.h>
#include <DallasTemperature.h>
#include <Wire.h>
#include <LiquidCrystal_PCF8574.h>
LiquidCrystal_PCF8574 lcd(0x38);
// dapat dicek menggunakan i2c finder
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
int jumlah_perangkat; // Var. untuk menyimpan Jumlah Sensor yg ditemukan
DeviceAddress tempDeviceAddress; // Var. untuk menyimpan Sensor Address sementara
void setup(void)
{
lcd.begin(16, 2); //prosedur pemanggilan LCD
lcd.setBacklight(255);
lcd.clear(); //menghapus data sebelumnya
lcd.setCursor(00, 01); //set pada baris 1 dan kolom 1
lcd.print("Multiple sensor"); //menuliskan "Hello World"
lcd.setCursor(00, 1); //set pada baris 2 dan kolom 1
lcd.print("*nyebarilmu.com*"); //menuliskan "nyebarilmu.com"
delay(2000);
sensors.begin();
}
delay(500);
lcd.setCursor(0,1); lcd.print(F(" "));
delay(500);
}
delay (1000); lcd.clear();
}
void loop(void)
{
lcd.setCursor(0,0);
// Mengambil data pada setiap sensor secara bergantian
lcd.print(F("Mengambil data..")); delay (100);
sensors.requestTemperatures(); //Mengirim perintah pengambilan data sensor
lcd.setCursor(0,0);
lcd.print(F("Selesai.... ")); delay (500);
for(int i=0; i<jumlah_perangkat; i++)
{
if(sensors.getAddress(tempDeviceAddress, i))
{
lcd.setCursor(0,0);
lcd.print("Temp. Sensor: ");
lcd.print(i+1,DEC); // +1 -> mempermudah hitungan sensor dari 1
printTemperature(tempDeviceAddress);
delay (1500);
lcd.clear();
}
}
}