Professional Documents
Culture Documents
Disusun Oleh :
1. Vincentius Alexander Christian (19718)
2. Muhammad Alfath Rizky (19796)
Kelas : CRM 2
A. Deskripsi Kasus :
Menggunakan program arduino untuk melakukan sesnsor temperatur menggunakan
LM35 dan DS18B20 dengan kendali remote PC + LCD dan Push Button. Sensor suhu
LM35 belum dikalibrasikan sehingga output suhu yang akan terbaca akan kurang
akurat sedangkan sensor suhu DS18B20 sudah dikalibrasikan sehingga output suhu
yang akan terbaca akan lebih akurat.
B. Kode Program :
// Create a new instance of the oneWire class to communicate with any OneWire
device:
OneWire oneWire(ONE_WIRE_BUS);
Serial.print(tempC);
//Serial.print(" \xC2\xB0"); // shows degree symbol
//Serial.print("C | ");
Serial.print(",");
lcd.setCursor(0,1);
lcd.print(tempC+String(" C |")+String(tempF)+String(" F"));
// tunggu 1 detik:
delay(1000);
}
void LM35(){
int analog_value = analogRead(vIn);
t_celcius = (analog_value /1024.0)*500;
lcd.setCursor(0, 1);
lcd.print("Temp. = ");
lcd.print(t_celcius);
lcd.print(" C");
Serial.print("Temp. = ");
Serial.print(t_celcius);
Serial.println(" C");
delay(500);
}
void setup() {
pinMode(vIn, INPUT);
pinMode(btnLM, INPUT_PULLUP);
pinMode(btnDS, INPUT_PULLUP);
// Begin serial communication at a baud rate of 9600:
Serial.begin(9600);
lcd.begin(16,2); // initialize the lcd for 16 chars 2 lines, turn on backlight
// Wait and then tell user they can start the Serial Monitor and type in characters to
// Display. (Set Serial Monitor option to "No Line Ending")
lcd.clear();
void loop(){
{
if (Serial.available()) {
// read the most recent byte
kode = Serial.read();
if(kode=='1')
{
Serial.println("Sensor Suhu LM35");
kode1=1;
}
if(kode=='2')
{
Serial.println("Sensor Suhu DS18B20");
kode1=2;
}
}
}
{
if(digitalRead(btnLM)==LOW)
{
Serial.println("Sensor Suhu LM35");
kode1=1;
}
if(digitalRead(btnDS)==LOW)
{
Serial.println("Sensor Suhu DS18B20");
kode1=2;
}
}
if(kode1==1)
LM35();
if(kode1==2)
DS18B20();
}
C. Penjelasan :
Kode program diatas merupakan sebuah inialisasi atau deklarasi program pada
nomor kaki arduino yang akan dihubungkan input sensor LM35, DS18B20, dan
push button.
Kode program diatas digunakan untuk menjalankan sensor menggunakan
DS18B20 yang akan menghasilkan output temperatur yang akan ditampilkan pada
lcd dan serial monitor
Program diatas merupakan sebuah setup untuk mengatur tampilan LCD pada saat
pertama kali dijalankan.
Memulai fungsi library – library yang digunakan serta mengatur tampilan menu
pada lcd dan serial monitor.
Program void loop merupakan program utama yang dibuat untuk mengeluarkan sebuah
output yang berupa sensor temperatur dari perintah void setup yang telah dibuat
sebelumnya yang dapat dikendalikan melalui serial monitor dan push button.
Tampilan pada serial monitor, jika diinput angka 1 maka akan menampilkan hasil sensor
temperatur menggunakan LM35 sedangkan jika diinput angka 2 maka akan menampilkan
sensor temperatur menggunakan DS18B20
Tampilan pada lcd, jika push button ditekan 1 maka akan menampilkan hasil sensor
temperatur menggunakan LM35 sedangkan jika push button 2 ditekan maka akan
menampilkan sensor temperatur menggunakan DS18B20.