Kamis, 11 Februari 2016

Percobaan Arduino UNO 1 - Sensor Suhu

Pada postingan kali ini, saya akan menjelaskan tentang percobaan pertama kelompok saya menggunakan Arduino seri UNO, yaitu menerima dan menampilkan input sensor suhu.

Alat-alat yang dibutuhkan meliputi:
  • Arduino UNO (1 set)
  • BreadBoard (1 buah)
  • Seven-segment (2 buah)
  • LM35/Sensor suhu (1 buah) 
  • Resistor 220 ohm (1 buah)
  • Kabel jumper secukupnya
 Berikut adalah langkah-langkah pengerjaannya:

1. Susun rangkaian berikut kabel jumpernya seperti gambar di bawah ini:

 Gambar 1 : Skematik dari Rangkaian


 Gambar 2 : Ilustrasi dari Implementasi Rangkaian

Keterangan:
Dengan menggunakan jumper, sambungkan LM35 ke pin Analog 0, Ground, dan 5 pada Arduino. Sambungkan pula Seven-segment ke pin digital pada Arduino.

2. Sambungkan Arduino pada PC.

3. Masukkan source code berikut ini:
 ---
 #include "SevSeg.h"
SevSeg sevseg;
int val;
int tempUnits;
int refreshTime = 2000;
unsigned long timer;
float celsius = 0, k = 0;
void setup()
{
  sevseg.Begin(0,2,3,4,5,6,7,8,9,10,11,12,13);
  Serial.begin(9600);
}
void loop()
{
  sevseg.PrintOutput();
  val = analogRead(0);
  k = ( val/1024.0)*5000;
  celsius = k/10;
  tempUnits = celsius;
  unsigned long mils=millis();
  if (mils-timer>=refreshTime) {
    timer=mils;
    //Print teperature to the displays
  sevseg.NewNum(tempUnits,(byte) 2);
  }
  Serial.print("Temperature : ");
  Serial.println(tempUnits);
}

---
Keterangan:
Update terlebih dahulu library sevseg nya ke versi terbaru untuk menjalankan kode ini.

4. Compile dan run code. Maka kedua buah Seven-segment akan menampilkan keluaran sesuai dengan suhu yang dibaca oleh sensor suhu.

Untuk lebih jelasnya, berikut adalah video hasil pengerjaan kami:
---

---
Untuk kendala yang kami alami, kami sempat bingung mengapa kode diatas tidak dapat jalan. Ternyata memang kodenya tidak kompatibel dengan library sevseg versi lama dan harus diperbaharui terlebih dahulu untuk digunakan. Selain itu, sempat kami temukan kesalahan pada output seven segmentnya diakibatkan kesalahan dalam menyusun rangkaian.

Sekian untuk postingan kali ini~

Fikriansyah Adzaka
18213001