Project Arduino 2CH Sensor Suhu DS1820 & LM35

Project Arduino 2CH Sensor Suhu DS1820 & LM35 merupakan project yang dibuat untuk membaca nilai temperatur suhu ruangan dengan menggunakan dua buah sensor. Sensor yang digunakan adalah LM35 dan DS1820/22, dimana sensor ini memiliki ketahanan terhadap air (waterproof). Sehingga dapat menghasilkan data pengukuran suhu yang lebih akurat dan relevan. Kemudian data hasil pengukuran suhu tersebut ditampilkan menggunakan LCD berukuran 2×16.

Hardware yang perlu dipersiapkan

  1. Arduino UNO Board
  2. Modul sensor suhu / temperatur DS1820/22
  3. Modul sensor LM35
  4. Modul LCD 2×16
  5. Power supply 7-9 volt

Diagram block

Schematics

Koneksi arduino UNO dengan LCD

Pin ArduinoLCD
2RS
3RN
4D4
5D5
6D6
7D7

Koneksi sensor DS180/22

Pin SensorPin Arduino
1 (GND)GND
2 (DQ)Pin 10
3 (VCC)+5v

Koneksi sensor LM35

Pin SensorPin Arduino
1 (VCC)+5v
2 (GND)Pin A0
3 (Output)GND

Source Code

/************************************* * Program : Project 1 2 CH SENSOR SUHU DS1820 &amp; LM35 * Input : LM35 di A0 * DS1820 di 10 * Output : LCD 2x16 * ***********************************/ #include <onewire.h> #include <wire.h> #include <liquidcrystal.h> LiquidCrystal lcd(2, 3, 4, 5, 6, 7); OneWire ds(10); // on pin 10 --DS1820 unsigned int adc,tempDS,tempLM; //============================================ void setup(void) { lcd.begin(16, 2); lcd.print("2Ch Sensor Suhu"); lcd.setCursor(0,1); delay(1000); } //=========================================== void loop(void) { byte i; byte present = 0; byte type_s; byte data[12]; byte addr[8]; float celsius, fahrenheit; //=================================== if ( !ds.search(addr)) { ds.reset_search(); delay(250); return; } // the first ROM byte indicates which chip switch (addr[0]) { case 0x10: // Chip = DS18S20 or old DS1820 type_s = 1; break; case 0x28: // Chip = DS18B20 type_s = 0; break; case 0x22: // Chip = DS1822 type_s = 0; break; default: //Device is not a DS18x20 family device. return; } ds.reset(); ds.select(addr); ds.write(0x44, 1); // start conversion, with parasite power on at the end delay(1000); // maybe 750ms is enough, maybe not // we might do a ds.depower() here, but the reset will take care of it. present = ds.reset(); ds.select(addr); ds.write(0xBE); // Read Scratchpad for ( i = 0; i &lt; 9; i++) { // we need 9 bytes data[i] = ds.read(); } int16_t raw = (data[1] &lt;&lt; 8) | data[0]; if (type_s) { raw = raw &lt;&lt; 3; // 9 bit resolution default if (data[7] == 0x10) { raw = (raw &amp; 0xFFF0) + 12 - data[6]; } } else { byte cfg = (data[4] &amp; 0x60); if (cfg == 0x00) raw = raw &amp; ~7; // 9 bit resolution, 93.75 ms else if (cfg == 0x20) raw = raw &amp; ~3; // 10 bit res, 187.5 ms else if (cfg == 0x40) raw = raw &amp; ~1; // 11 bit res, 375 ms } celsius = (float)raw / 16.0; fahrenheit = celsius * 1.8 + 32.0; tempDS=celsius; //==================== adc = analogRead(0); tempLM=(adc*5)/10; lcd.setCursor(0,1); lcd.print("T1:"); lcd.print(tempDS); lcd.write(0xDF); lcd.print("C, T2:"); lcd.print(tempLM); lcd.write(0xDF); lcd.print("C"); } </liquidcrystal.h></wire.h></onewire.h>

Cara kerja alat pengukur suhu / temperatur

Sensor DS1820 dan LM35 akan melakukan pembacaan suhu atau temperatur, kemudian data suhu tersebut ditampilkan ke LCD. Hasil pembacaan suhu dari sensor DS1820 akan ditampilkan pada LCD dengan kode T1 sedangkan hasil pembacaan suhu dari sensor LM35 akan ditampilkan pada LCD dengan kode T2. Informasi suhu pada LCD akan terus berubah sesuai dengan hasil pembacaan suhu yang dilakukan oleh kedua sensor.

Jika sobat tertarik dan ingin mencoba dan mengembangkan project ini, sobat bisa mengunduhnya disini. Untuk melihat project dan source code lainnya bisa mengunjungi halaman Source Code.

Baca Juga:
>
 Aplikasi Distro Sederhana Berbasis Web
Pembuatan Aplikasi GYM Sederhana dengan Codeigniter

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

AKUN MEDIA SOSIAL

25,982FansLike
27,530FollowersFollow
23,591SubscribersSubscribe

Artikel Terbaru