Project Arduino Sensor Suhu 3 Channel

Project Arduino Sensor Suhu 3 Channel Pada project kali ini projekita akan berbagi cara untuk membuat sensor suhu menggunakan 3 jenis sensor. Sensor yang digunakan diantaranya, DS1820/22, LM35 dan Thermocouple.

DS1820 merupakan sensor suhu digital produksi Maxim IC, sensor ini mampu membaca data suhu dengan ketelitian 9-bit sampai dengan 12-bit. Sensor DS1820 dapat membaca suhu antara -55°C sampai dengan 125°C, dengan ketelitian (+/-0.5°C).

LM35 merupakan sensor suhu yang memiliki akurasi kalibrasi 0.5°C pada suhu 25°C dan bekerja pada tegangan 4 sampai dengan 30 volt. Sensor LM35 dapat membaca suhu antara -55°C sampai dengan 150°C.

Thermocouple mendeteksi atau mengukur suhu dengan memanfaatkan dua jenis logam berbeda yang digabung pada ujungnya, sehingga menghasilkan efek “Thermo-electric”. Sensor Thermocouple dapat membaca suhu antara-200°C sampai dengan 2000°C. Sensor ini terbilang dapat mengukur suhu dengan cepat dan memiliki kemampuan pembacaan suhu dengan rentang yang luas. Selain itu, sensor ini juga tahan terhadap goncangan atau getaran dan tergolong mudah untuk digunakan.

3 CH sensor suhu DS1820, LM35 & Thermocouple

Sensor suhu 3 channel ini menggunakan Arduino UNO untuk membaca nilai temperatur ruangan atau lingkungan dengan 3 buah sensor suhu jenis DS1820/22, LM35 dan Thermocouple. Data yang dihasilkan dari sensor tersebut akan ditampilkan menggunakan serial monitor.

Hardware yang perlu dipersiapkan

  1. Arduino UNO Board
  2. Modul Sensor DS1820/22
  3. Modul sensor LM35
  4. Modul sensor Thermocouple dengan driver MAX6675
  5. Power supply 7v-9v dc

Schematics

Koneksi Arduino dengan sensor DS1820/22

Pin ArduinoSensor DS1820/22
5v5v (red)
GNDGND (grey)
11Data (yellow)

Koneksi Arduino dengan sensor LM35

Pin ArduinoSensor LM35
5v5v
GNDGND
A0Analog Sensor Out

Koneksi Arduino dengan sensor Thermocouple (Driver MAX6675)

Pin ArduinoMAX6675
5vVCC
GNDGND
8S0
9CS
10SCK

Source Code

/************************************* * Program : Project 2 3 Ch Sensor Suhu DS1820 LM35 TC * Input : Sensor LM35 di pin A0 * Sensor DS1820 * Sensor Thermocouple (MAX6675) * SO --&gt; PIN 8 * SCK --&gt; PIN 10 * CS --&gt; PIN 9 * Output : Serial Monitor * www.projekita.com * ***********************************/ #include <onewire.h> #include <wire.h> #include "max6675.h" OneWire ds(11); // on pin 11 --DS1820 int thermoDO = 8; int thermoCS = 9; int thermoCLK = 10; unsigned int adc,tempDS,tempLM,tempTC; MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO); //============================================ void setup(void) { Serial.begin(9600); Serial.println("Monitoring 3 Sensor Suhu : DS1820, Thermocouple, LM35"); } //=========================================== 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 chips witch (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; //==================== celsius=thermocouple.readCelsius(); tempTC=celsius; Serial.print("Temp DS1820="); Serial.print(tempDS); Serial.println(" Celcius"); Serial.print("Temp Thermocouple="); Serial.print(tempTC); Serial.println(" Celcius"); Serial.print("Temp LM35="); Serial.print(tempLM); Serial.println(" Celcius"); delay(1000); } </wire.h></onewire.h>

Uji coba alat pengukur suhu 3CH

Jalankan serial monitor, pilih menu “Tool – Serial Monitor” kemudian set baud rate dengan nilai 9600 bps. Pada serial monitor akan ditampilkan data dari hasil pengukuran suhu yang dilakukan oleh 3 janis sensor. Informasi suhu yang ditampilkan pada serial monitor akan terus berubah mengikuti suhu ruangan atau lingkungan.

3CH Sensor Suhu – Hasil uji coba alat pengukur suhu 3 channel

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:
>
Project Arduino 2CH Sensor suhu DS1820 & LM35
> Aplikasi Distro Sederhana Berbasis Web

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