Professional Documents
Culture Documents
Dasar Teori
LM35 merupakan salah satu dari sekian banyak sensor analog untuk
mengukur suhu. Perubahan suhu disekitar sensor menyebabkan terjadinya
perubahan nilai tahanan pada sensor, sehingga turut menyebabkan
perubahan nilai tegangan output dari sensor. Perubahan nilai tegangan
inilah yang dimanfaatkan oleh komponen Analog to Digital Converter
(ADC) pada mikrokontroler untuk menyediakan data digital berupa data
suhu yang kemudian bisa dibaca oleh mikrokontroler.
Data digital yang telah diterima oleh mikrokontroler dalam hal ini masih
berupa sampel data (data mentah) sehingga perlu dilakukan kalibrasi.
Kalibrasi dilakukan dengan cara memasukan sampel data tersebut ke
sebuah fungsi yang didapat dari hasil perhitungan dengan kondisi suhu
pada pengukuran sebenarnya (perbandingan antara hasil terukur dan
aktual). Setelah data suhu sebenarnya diketahui, data suhu tersebut dikirim
ke komputer menggunakan komunikasi serial untuk ditampilkan pada
interface.
o 1 Arduino Uno R3 x 1
o 2 Kabel USB A to B x 1
o 3 Kabel Jumper x 3
o 4 Sensor Suhu LM35 x 1
b. Perangkat Lunak
3. Ranah Kerja
Proses pengerjaannya akan dibagi menjadi tiga bagian, yaitu :
suhu_lm35_arduino_breadboard.png
3.2 Program Pada Arduino
/** Workshop Dasar Mikrokontroler 2014
RADE - Robotics AnD Embedded Systems STMIK STIKOM Bali
**/
//Pin wiper pada sensor LM32 (terminal tengah) tersambung ke Anal
og //Pin 3
//Yang disamping tersambung ke 5V dan Ground
int analogPin = 3;
void setup() {
//Setup serial dengan baud 9600
Serial.begin(9600);
}
void loop() {
//Baca pin input
suhu = analogRead(analogPin);
//Lakukan kalibrasi
suhu = suhu * 0.48828125;
//Kirim ke komputer melalui serial
Serial.println(suhu);
//Delay sebelum melakukan pembacaan selanjutnya
delay(50);
}
aplikasi_monitoring_suhu_dengan_c_tab_monitor.png
aplikasi_monitoring_dan_pencatat_suhu_dengan_csharp_tab_
logger.png
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
//namespace untuk zedGrpah
using ZedGraph;
//namespace untuk class serial
using System.IO.Ports;
//namespace untuk melihat setting global komputer
using System.Globalization;
//Namespace untuk databse MSSQL
using System.Data.SqlClient;
namespace Monitor_Suhu
{
public partial class Form_utama : Form
{
/**Inisialisaisi arduino
* Setup port serial dengan nama port COM65,
* dan baud rate sebesar 9600.
* Baud rate disini dengan di arduino harus sama
* **/
SerialPort arduino = new SerialPort("COM65",9600);
/**Inisialisasi databse
* setup string koneksi
* **/
SqlConnection cs = new SqlConnection("Data Source=localho
st;Initial Catalog=DB_SUHU;Integrated Security=True");
SqlDataAdapter da = new SqlDataAdapter();
//konstruktor
public Form_utama()
{
InitializeComponent();
}
//nyalakan detak
Detak.Enabled = true;
//mulai detak
Detak.Start();
}
catch (Exception gagal)
{
//Error handling
//MessageBox.Show(gagal.ToString());
}
}
//get PointPairList
IPointListEdit listSuhu = kurvaSuhu.Points as IPo
intListEdit;
// Redraw paksa
zedGraphSuhu.Invalidate();
/**
* Mencatat suhu ke database
* **/
//reset pencacah
counter = 0;
}
}
catch (Exception gagal)
{
//error handling
//tutup komunikasi dengan arduino jika masih terh
ubung
if (arduino.IsOpen)
{
arduino.Close();
}
//MessageBox.Show(gagal.ToString());
}
//Inisialisasi ZedGraph
GraphPane grafikSuhu = zedGraphSuhu.GraphPane;
grafikSuhu.Title.Text = "Grafik Suhu";
grafikSuhu.XAxis.Title.Text = "Waktu (Detik)";
grafikSuhu.YAxis.Title.Text = "Suhu (Celcius)";
//Inisialisasi kurva
LineItem kurvaSuhu = grafikSuhu.AddCurve("Suhu",
listSuhu, Color.Red, SymbolType.None);
}
catch (Exception gagal)
{
//error handling
//MessageBox.Show(gagal.ToString());
}
}
//event ketika tombol lihat diklik
private void btn_lihat_Click(object sender, EventArgs e)
{
try
{
//dari tanggal
DateTime dari = Convert.ToDateTime(dtPicker_dari.
Text);
//hingga tanggal
DateTime hingga = Convert.ToDateTime(dtPicker_hin
gga.Text);
}
}
Lakukan pengujian dengan menghubungkan Arduino ke komputer. Periksa
nama port COM yang digunakan oleh Arduino dari Device Manager,
kemudian pastikan tidak ada program lain yang menggunakan port
tersebut termasuk Arduino IDE agar tidak bentrok. Kemudian cocokan
nama port serialnya dengan yang tertulis di program. Run program untuk
memulai debugging.
aplikasi_monitoring_suhu_dengan_c_0_debugging_monitor.p
ng
aplikasi_monitoring_dan_pencatat_suhu_dengan_csharp_0_d
ebugging_tab_logger.png