Tutorial Monitoring Suhu dengan LM 35 Lewat Komputer

blognitbot.com

PENGUKURAN SUHU MENGGUNAKAN LM35 DENGAN GUI


A.    TUJUAN
1.      Mempelajari tentang rancang rangkaian pengukuran suhu menggunakan LM35.
2.      Mempelajari tentang rancang sistem antarmuka menggunakan Visual Studio C#.

B.     DASAR TEORI
a.       Suhu
Pengertian suhu adalah suatu besaran untuk menyatakan ukuran derajat panas atau dinginnya suatu benda.Sebagai gambaran tentang suhu adalah saat mandi menggunakan air hangat. Untuk mendapatkan air hangat tersebut kita mencampur air dingin dengan air panas. Ketika tangan kita menyentuh air yang dingin, maka kita mengatakan suhu air tersebut dingin. Ketika tangan kita menyentuh air yang panas maka kita katakan suhu air tersebut panas. Ukuran derajat panas dan dingin suatu benda tersebut dinyatakan dengan besaran suhu.

b.      Instrumentasi
Instrumentasi adalah alat-alat dan piranti (device) yang dipakai untuk pengukuran dan pengendaliandalam suatu sistem yang lebih besar dan lebih kompleks. Instrumentasi bisaberarti alat untuk menghasilkan efek suara, seperti pada instrumen musik misalnya, namun secara umum instrumentasi mempunyai 3 fungsi utama:
1)      sebagai alat pengukuran
2)      sebagai alat analisis, dan
3)      sebagai alat kendali.
Instrumentasi sebagai alat pengukuran meliputi instrumentasi survey/ statistik, instrumentasi pengukuran suhu, dll. Contoh dari instrumentasi sebagai alat analisis banyak dijumpai di bidang kimia dan kedokteran, misalnya, sementara contoh instrumentasi sebagai alat kendali banyak ditemukan dalam bidang elektronika, industri dan pabrik-pabrik. Sistem pengukuran, analisis dan kendali dalam instrumentasi ini bisa dilakukan secara manual (hasilnya dibaca dan ditulis tangan), tetapi bisa juga dilakukan secara otomatis dengan menggunakan komputer (sirkuit elektronik). Untuk jenis yang kedua ini, instrumentasi tidak bisa dipisahkan dengan bidang elektronika dan instrumentasi itu sendiri.
Instrumentasi sebagai alat pengukur sering kali merupakan bagian depan/ awal dari bagian-bagian selanjutnya (bagian kendalinya), dan bisa berupa pengukur dari semua jenis besaran fisis, kimia, mekanis, maupun besaran listrik. Beberapa contoh di antaranya adalah pengukur: massa, waktu, panjang, luas, sudut, suhu, kelembaban, tekanan, aliran, pH (keasaman), level, radiasi, suara, cahaya, kecepatan, torque, sifat listrik (arus listrik, tegangan listrik, tahanan listrik), viskositas, density,dll.

c.       Komponen LM35
LM335 dan LM35 merupakan pilihan pengukuran suhu pada daerah pengukuran suhu rendah (kurang dari 150°C) dengan harga yang lebih murah. Namun IC ini hanya digunakan pada keperluan yang tidak menginginkan ketelitian yang baik. IC LM335 dan LM35 merupakan sensor suhu yang terkemas dalam bentuk Integrated Circuit (IC). Sensor ini memiliki koefisien sebesar 10mV/°C yang berarti bahwa setiap kenaikan suhu 1°C maka akan terjadi kenaikan tegangan sebesar 10mV. IC LM335 dan LM35 memiliki perbedaan pada satuan suhu yang terukur. LM335 memberikan data suhu pada satuan Kelvin (koefisien: 10mV/°K) sedangkan LM35 memberikan data suhu pada satuan Celcius (koefisien: 10mV/°K). IC LM35 memiliki beberapa pilihan range kerja suhu tertentu jika dilihat dari kode (marking) pada kemasannya sebagai berikut:
a.       LM35, -55°C- 150°C LM35A
b.      LM35C, -40°C - 110°C LM35CA
c.       LM35D  -0°C - 100°C

C. PERALATAN
1. Arduino UNO
2. Kabel USB
3. Komponen: LM35, LM358, Resistor 1k, Variabel Resistor, Pin Header
4. Personal Computer
5. Kabel penghubung (male-to-male)

Gambar Fitur dan karakteristik sensor suhu LM35

D.     PROSEDUR
1.      Buat rangkaian untuk sensor suhu menggunakan LM35 yang diberi
penguatan sebesar 5 kali. Seperti dibawah ini:
a.      Skema
b.     Board
 
2.      Buat skematik dan routing boardnya setelah itu lakukan proses etching PCB.
3.      Pasang komponen sesuai dengan desain rangkaian yang telah dibuat.
4.      Buat program pada Arduino UNO menggunakan software Arduino IDE.
Tuliskan program dibawah ini:
int InputLM = A0;
int analogLM;
float suhu,data;
void setup()
{
   pinMode (InputLM, INPUT);  //inisialisasi pin ADC
   Serial.begin(9600);  //setting baudrate (baudrate= kecepatan transfer data)
}
void loop()
{
   analogLM = analogRead(InputLM);  //mengambil data dari pin ADC
   delay(1000);
   data = analogLM/1023.0;  Konversi data ADC
   suhu= data/0.01;
   Serial.println(suhu); //kirim data serial ke PC
   delay(300);
}

5.      Berikut adalah desain dari tampilan GUI menggunakan Visual Studio C#:


6.      Tuliskan program untuk GUI sebagai berikut: 
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;
using System.IO.Ports;
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        private SerialPort myport;
        private string ambildata;
        int data1;
        public Form1()
        {
            InitializeComponent();
        }
        privatevoid start_btn_Click(objectsender, EventArgs e)
        {
            myport = new SerialPort();
            myport.BaudRate = 9600;
            myport.PortName = port_name.Text;
            myport.DataReceived +=myport_DataReceived;
            stop_btn.Enabled = false;
            try
            {
                myport.Open();
                start_btn.Enabled = false;
                stop_btn.Enabled = true;
                data_tb.Text = "";
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message,"ERROR");
            }
        }
        void myport_DataReceived(object sender, SerialDataReceivedEventArgs e)
        {
            this.Invoke(new EventHandler(displaydata_event));
            ambildata = myport.ReadLine();   
        }
        private void displaydata_event(object sender, EventArgs e)
        {
            data_tb.Text = ambildata;
        }
        private void stop_btn_Click(object sender, EventArgs e)
        {
            start_btn.Enabled = true;
            try
            {
                myport.Close();
            }
            catch(Exception ex2)
            {
                MessageBox.Show(ex2.Message, "ERROR");
            }
        }
    }
}

7.      Untuk percobaannya maka Arduino UNO harus sudah terhubung
dengan PC dan diketahui tersambung pada COM.
8.      Ketika GUI dirunning perlu tuliskan terhubung pada COM berapa,
pada textbox COM.
9.      Klik tombol Start untuk memulai pembacaan suhu.
10.  Klik tombol Stop untuk memberhentikan pembacaan suhu.
September 21, 2016
Posted by Firmansyah AdiNugroho

Tutorial Monitoring Suhu Menggunakan LM35 dan Arduino dg Interface Menggunakan C#

blognitbot.com
hmmm .. kali ini saya akan memberikan sebuah video tutorial mengenai
bagaimana membuat sebuah alat sederhana, yang bisa di gunakan untuk
mengetahui berapa temperatur suhu ruangan, project ini menggunakan
LM35 dan juga Arduino dengan interface menggunakan C#. Berhubung 
saya rasa alat ini sangat simple, semua orang pasti bisa membuat alat ini.

video

oke, sekian dari saya, saya harap bisa bermanfaat
Wassalamualaikum
September 17, 2016
Posted by addin al hakim

Memprogram Intel Galileo Gen 2

blognitbot.com


Catatan ini saya tulis karena saya yang pelupa dan sudah lama tidak bermain dengan intel galileo. Harapannya supaya saya tidak perlu mengingat lebih keras bagamana ribetnya memprogram intel galileo. Saya sangat menyukai pemrograman intel galileo dengan kombinasi arduino dan python, walaupun di situs resmi intel menggunakan pemrograman node.js. Node.js memiliki kelebihan disisi program yang dieksekusi secara asinkron/tidak berurutan (silahkan cari referensi mengenai node.js), tetapi dukungan library yang masih minim. Beda dengan Node.js, meskipun arduino dan python mengeksekusi program dengan berurutan, tetapi ketersediaan library di internet cukup banyak, sehingga cukup memudahkan dan tidak menguras waktu.

May 15, 2016
Posted by Niam Tamami

Perbedaan Inline dan External Javascript

Saya adalah programmer pemula dalam penggunaan javascript. Ketertarikan saya mengenai javascript dimulai ketika saya harus membuat interface untuk perangkat internet of things. Javascript cukup menarik perhatian saya karena bisa di eksekusi oleh perangkat komputer maupun mobile. Yang kedua adalah script ini di eksekusi di sisi klien, jadi sangat praktis. Terakhir adalah pemrograman ini lebih mudah dibandingkan android, gampang debuggingnya, jika error tidak sampai menyebabkan force close, hehe. Kali ini akan kita bahas mengenai penggunaan javascript secara inline dan external javascript.

menurut sumber dari "http://trikmudahseo.blogspot.com/2012/11/perbedaan-inline-dan-external-javascript.html" bahwa, 

Perbedaan Inline dan External Javascript tentu saja terletak pada cara penempatannya. Inline javascript itu adalah kode yang diletakkan di antara tag <script> dan </script> dan ditaruh pada kode template. Lazimnya kode seperti ini biasanya bisa kita temukan tepat di atas </head> dan kode ini dibuat untuk menghasilkan efek yang cenderung lebih atraktif dari css biasa.

Berbeda dengan Inline, .... External javascript adalah kode yang sama dengan kode yang diletakkan di antara tag tadi. Bedanya, kode ini disimpan dalam file berekstensi .js dan dihost pada sebuah server berbeda. Kode ini kemudian "dimuat" dengan menggunakan kode <script type="text/javascript" src="URL extenal javascript"> </script>

Mana yang lebih baik? Jawabnya, tergantung blog anda seperti apa....

Kalau scriptnya pendek, sepertinya masih lebih baik jika script tersebut dibuat secara inline di dalam kode template anda. Berbeda jika kodenya cukup panjang, itu akan lebih baik jika dibuat sebagai eksternal java script.

Kenapa script yang panjang lebih baik digunakan sebagai external javascript? Karena kalau kodenya dipisah akan lebih mudah untuk dicache oleh browser pengunjung blog anda. Artinya jika pengunjung membuka blog anda berkali-kali, maka tidak perlu lagi dibebani dengan pemuatan script ini.

Jadi kalau blog anda memang dipenuhi dengan script yang cukup berat, ada baiknya anda memastikan script tersebut adalah external javascript. Seandainya script tersebut adalah inline javascript dan ternyata cukup panjang ada baiknya anda menjadikannya external. Bagaimana cara mengubahnya menjadi external javascript?

Mudah saja, copy semua kode di antara <script> dan </script> dalam inline javascript tadi. Paste ke dalam notepad dan simpan notepad dengan nama file berakhiran .js. Misalnya: mymenuscript.js. Setelah itu host file javascript ini pada sebuah server dan ambil URL nya. Pastikan anda menggunakan host yang handal dalam kecepatan.

Panggil URL javascript yang tadi sudah anda dapatkan dengan menggunakan kode external javascript. Kodenya seperti ini:
<script type="text/javascript" src="URL extenal javascript"> </script>

Letakkan kode baru ini sebagai pengganti kode <script>.......</script> tadi. Artinya anda harus menghapus kode sebelumnya dan dengan begini inline javascript sudah berubah menjadi external.

Cukup sekian catatan nitbot, semoga berguna :).

May 13, 2016
Posted by Niam Tamami
Tag :

Komunikasi Banyak digi XBee dengan PC Komputer | Part 1

blognitbot.com
Komunikasi wireless seringkali dibutuhkan dalam bidang keilmuan elektronika. Contohnya saja disaat kita ingin membuat sistem pembacaan sensor suhu secara wireless yang ditampilkan lewat komputer, android atau keperluan lain. Kali ini yang dibahas adalah komunikasi dengan menggunakan XBee. Kenapa menggunakan XBee? Karena modul ini dapat di interface cukup mudah, bisa digunakan komunikasi point to point maupun multipoint.
Sebagai bahan percobaan, kali ini dibuat sistem monitoring suhu trafo. Jumlah trafo yang dimonitoring berjumlah 5. Alat monitoring suhu trafo ini menggunakan sistem wireless dengan 5 XBee yang dilengkapi dengan sensor temperature (yang selanjutnya disebut "XBee client") dan 1 XBee sebagai pengepul data yang ditampilkan ke PC (yang selanjutnya disebut "XBee server"). Xbee client bertugas mengirimkan data pembacaan suhu ke XBee server yang selanjutnya di tampilkan di PC. Berikut ini adalah gambar perancangan dari sistem yang dibuat,

Pada gambar di atas, gambar garis tidak terputus merupakan koneksi dengan kabel, sedangkan garis putus merupakan koneksi wireless. Sensor suhu terkoneksi pada analog input XBee, sedangkan XBee ke komputer menggunakan RS 232 serial TTL.
Konfigurasi pin yang digunakan pada XBee client adalah sebagai berikut,
Vcc 5 Volt | XBee pin nomor 1
Ground     | XBee pin nomor 10
VRef       | XBee pin nomor 14
ADC1       | XBee pin nomor 19

Sementara ini dulu, nanti diteruskan di tutorial part 2 dan 3

by Safik Dwi Nova, edited by Ni'am Tamami
February 13, 2016
Posted by Niam Tamami

Reload div pada HTML menggunakan Javascript

blognitbot.com

Reload halaman web html seringkali kita butuhkan untuk mengupdate informasi pada yang ada pada halaman web. Hal ini sangat merepotkan jika halaman web yang kita reload cukup berat, sedangkan ada bagian pada html yang harus di update isinya. Ada cara yang gampang untuk reload pada bagian tertentu pada halaman web. Berikut ini adalah cara untuk reload div pada html menggunakan javascript dengan mengeksekusi kode program javascript tiap 3000ms.

$(document).ready(function() {
setInterval(function() {
     $('#show').text('niamtamami ganteng');
 }, 3000);
});
berikut ini adalah kode html yang dirubah isinya

<div id="show" align="center">niamtamami</div>

sedangkan '#show' mengacu id dari div yang diupdate datanya (id="show"). Jika program ini di eksekusi di halaman html, maka pada awalnya tulisan bertulis "niamtamami", setelah 3 detik tulisan menjadi "niamtamami ganteng"
February 10, 2016
Posted by Niam Tamami

Hardware Abstraction Layer | nitbot-iot

perangkat nitbot-iot yang kita buat adalah open source. Lalu bagaimana agar komunitas opensource nitbot-iot, tidak membutuhkan penyesuaian yang banyak ketika perangkat/hardware yang kita gunakan ganti?Jawabannya adalah HAL (Hardware Abstraction Layer), atau dengan kata lain kita membuatkan program untuk hardware level bawah (misal akses ADC, I2C, SPI, UART) atau yang kita disebut HAL, dan kita buat juga platform nitbot-iot di level atas (misal algoritma on off untuk perangkatnya). 

Jadi, kurang lebih contohnya begini, coba lihat komputer yang kita gunakan, hardwarenya dengan berbeda-beda misal vga nya ada yang intel, nvidia,amd dll. Tapi pertanyaanya, mengapa OS tetap bisa dijalankan di komputer yang hardwarenya berbeda-beda?Karena ada HAL (Hardware Abstraction Layer), contoh yang paling gampang adalah software driver yang kita gunakan di komputer. Kalau tiap kali hardware kita ganti, kemudian kita harus memprogram dari awal lagi, tentunya sangat ribet, nah itulah kelebihan HAL ini.

Hardware Abstraction Layer menyediakan interface untuk perangkat keras, seperti yang saya jelaskan di paragraf sebelumnya, misal akses ADC, I2C, SPI, UART. Karena yang kita tahu, pemrograman hardware cukup rumit. Dengan adanya program HAL ini maka kita tidak perlu tahu menggunakan hardware jenis apa, misalkan atmel seri AT Mega, STM32, PIC yang memiliki akses pemrograman hardware yang berbeda.

Pada umumnya, HAL digunakan pada OS modern, atau biasanya HAL digunakan sebagai basic driver pada chipset motherboard yang menyediakan basic interface antara kernel dan hardware komputer, termasuk prosessor. Keren, karena kernel mampu mengakses apapun jenis hardwarenya.

Berikut ini adalah contohnya,





December 29, 2015
Posted by Niam Tamami

Menginstall Wiring-x86 pada Intel Galileo

blognitbot.com



Wiring-x86 adalah modul python yang mengizinkan pengguna intel Galileo mengakses io nya seperti cara mengakses Arduino. Beberapa fitur yang telah ditawarkan oleh API (Aplication Programming Interface) dari intel Galileo mencangkup beberapa fitur di bawah ini.
Writing to a GPIO pin configured as output.
  • Reading from a GPIO pin configured as high impedance input.
  • Reading from a GPIO pin configured as pullup input.
  • Reading from a GPIO pin configured as pulldown input.
  • Reading from a GPIO pin configured as analog input (ADC).
  • Writing to a GPIO pin configured as analog output (PWM).


Berikut ini adalah cara menginstall library python Wiring-x86 pada intel Galileo.

Installing Wiring-x86

The first step is to install the Wiring-x86 module. There are several ways to do this.

Installing from a tarball

When using the original YOCTO Linux distribution provided with the board this is the easiest method to get the module installed. A tarball of the latest code can be downloaded from GitHub as follows:

$ curl -O -L http://github.com/emutex/wiring-x86/archive/master.tar.gz
 
Install it as follows:

$ tar zxvf master.tar.gz
$ cd wiring-x86-master/
$ sudo python setup.py install 
 
yang di warnai warna merah adalah bagian yang paling penting. Berikut ini adalah contoh dari penggunaan library Wiring-x86.

# Import the time module enable sleeps between turning the led on and off.
import time

# Import the GPIOGalileoGen2 class from the wiringx86 module.
from wiringx86 import GPIOGalileoGen2 as GPIO

# Create a new instance of the GPIOGalileoGen2 class.
# Setting debug=True gives information about the interaction with sysfs.
gpio = GPIO(debug=False)
pin = 13
state = gpio.HIGH

# Set pin 13 to be used as an output GPIO pin.
print 'Setting up pin %d' % pin
gpio.pinMode(pin, gpio.OUTPUT)


print 'Blinking pin %d now...' % pin
try:
    while(True):
        # Write a state to the pin. ON or OFF.
        gpio.digitalWrite(pin, state)

        # Toggle the state.
        state = gpio.LOW if state == gpio.HIGH else gpio.HIGH

        # Sleep for a while.
        time.sleep(0.5)

# When you get tired of seeing the led blinking kill the loop with Ctrl-C.
except KeyboardInterrupt:
    # Leave the led turned off.
    print '\nCleaning up...'
    gpio.digitalWrite(pin, gpio.LOW)

    # Do a general cleanup. Calling this function is not mandatory.
    gpio.cleanup()

December 22, 2015
Posted by Niam Tamami

Tutorial pengembangan nitbot-iot

blognitbot.com


Berikut ini adalah tutorial pengembangan nitbotIoT, an opensource smarthome platform, silahkan cek iot.nitbot.com.


1. Silahkan buat account di github.com
2. Jika account github.com sudah di buat,  konfirmasi ke tim iot.nitbot.com dengan mengirimkan pesan lewat aplikasi Telegram Android ke nomor +6285733316323 bahwa account telah dibuat.
3. Tunggu hingga admin menautkan account github.com mu dengan repository iot.nitbot.com
4. Download aplikasi github.com untuk Windows, atau bisa juga menggunakan Linux jika sudah advanced
5. Clone repository (duplikasi repository di komputer sendiri) iot.nitbot.com lewat aplikasi github.com, lalu coba tambahkan kode program yang kurang, penting : sertakan komentar untuk penjelasan program, agar program bisa lebih mudah difahami oleh pengembang yang lain.
6. Commit ke repository iot.nitbot.com lewat aplikasi github.com (setelah melakukan perbaikan program, upload program yang telah diperbaiki dengan aplikasi github.com).


Beberapa tools yang bisa kita pakai untuk mengembangkan nitbot-iot dengan lebih mudah, tanpa harus banyak memprogram,
1. http://www.layoutit.com/ (digunakan untuk membangun template web dengan cara menarik-narik objek saja, contoh hasilnya bisa di lihat seperti webnya iot.nitbot.com).
2. DO Button by IFTTT , kita bisa menggunakan button ini untuk mengontrol perangkat IoT kita dengan memanfaatkan channel "maker" untuk request http.




3. https://www.hurl.it/ , untuk tes http request
4. Jika ingin mengembangkan aplikasi android dengan gampang, kita bisa menggunakan http://ai2.appinventor.mit.edu/ (menggunakan pemrograman grafis) tanpa harus sulit sulit memprogram dengan android studio.
5. Jika ingin membangun web sendiri dan domain bisa menggunakan Web Hosting untuk versi web gratis, dan masterweb.com untuk yang berbayar dengan kualitas terpercaya dan murah
6. Jika ingin membangun server, berikut ini ada link VPS gratis dari koding.com.
7. Jika ingin membuat API untuk server web kita sendiri, kita bisa menggunakan https://apiary.io/ untuk membuat API sendiri, contohnya seperti API milik geeknesia.com

"tutorial ini akan dikembangkan secara berkala di http://www.blognitbot.com/2015/12/tutorial-pengembangan-nitbot-iot.html.

Cek perkembangan nitbot-iot di iot.nitbot.com ".
December 08, 2015
Posted by Niam Tamami

Entri Populer

tweet

- Copyright © 2013 blog.nitbot.com -Metrominimalist- Powered by Blogger - Designed by Johanes Djogan -