Jumat, 21 Februari 2014

Mengukur Suhu dengan Menggunakan Arduino dan Sensor Suhu LM35

Setelah memahami mengenai Pulse Width Modulation (PWM), kali ini saya akan membahas mengenai cara mengukur suhu dengan menggunakan Arduino dan bantuan Sensor LM35.

Apa itu Sensor LM35?
Sensor suhu LM35 seperti namanya digunakan untuk mengukur suhu. LM35 dapat beroperasi direntang suhu -55⁰C hingga 150⁰C. LM35 mengukur suhu dalam satuan celsius, pengukuran dilakukan secara linear dengan output 10.0mV/⁰C. Tingkat akurasinya sebesar 0.5⁰C. LM35 dapat beroperasi dalam rentang tegangan 4 - 30 V. Arus yang dibutuhkan LM35 untuk beroperasi kurang dari 60µA.

Percobaan
Setelah mengetahui apa itu sensor suhu LM35, maka sekarang saatnya melakukan percobaan. Sensor suhu yang saya gunakan adalah LM35DZ, gambar strukturnya dapat dilihat pada gambar 1. Alat-alat yang digunakan pada percobaan kali ini adalah:
  1. board Arduino x1
  2. kabel USB untuk power Arduino x1
  3. LM35 x1
  4. breadboard x1
  5. kabel (untuk jumper) secukupnya
Gambar 1 - struktur LM35DZ

Setelah melihat struktur LM35DZ dan alat-alat sudah siap, saatnya membuat rangkaian, rangkaian dibuat seperti pada gambar 2.

Gambar 2 - skema rangkaian percobaan

Setelah membuat rangkaian seperti pada gambar 2, dengan menggunakan alat dan komponen yang sudah disebutkan sebelumnya, maka saatnya untuk membuat kode program dan diunggah ke board Arduino Uno.
Kode program yang saya gunakan adalah


Setelah membuat rangkaian berdasarkan skema, serta menghubungkan Arduino dan mengunggah kode program ke Arduino, maka akan didapatkan hasil seperti pada video berikut

Penjelasan
Pada kode program terdapat baris yang berisi
float millivolts = (value / 1024.0) * 5000;

Kode ini didapat karena analog input ke Pin A0 berkisar antara 0-1023 (10bit), angka 5000 didapat dari nilai tegangan yang di-supply oleh board Arduino.

Untuk lebih jelasnya, lihat gambar 3.
Gambar 3 - hasil yang terbaca pada serial monitor dan tegangan output yang terukur

Pada gambar 3, tegangan output dari LM35 yang terbaca sebesar 303.1mV, jika melihat datasheet LM35, maka 303.1mV bisa diartikan sebagai 30.3⁰C, nilai ini bisa berbeda dari nilai yang terbaca pada serial monitor disebabkan karena besarnya input tegangan yang masuk ke sensor LM35 tidak tepat 5V, selain itu juga karena adanya pembulatan dalam perhitungan pada board Arduino.

Demikian posting saya kali ini, semoga bermanfaat dan selamat mencoba!

Selasa, 11 Februari 2014

Menggunakan Pin Digital PWM(Pulse Width Modulation) untuk menghidupkan/ mematikan LED

Setelah berhasil menyalakan LED dengan menggunakan Push Button, postingan kali ini akan membahas tentang penggunaan Pin PWM(Pulse Width Modulation) pada Arduino beserta dengan percobaannya. Langsung saja ya...

Apasih PWM itu? 
PWM merupakan singkatan dari Pulse Width Modulation. PWM merupakan teknik untuk membuat output sinyal digital seolah-olah menghasilkan sinyal analog. Sinyal digital merupakan sinyal nilainya 0 atau 1 saja. PWM dilakukan dengan memanipulasi durasi sinyal bernilai 1 dalam periode waktu tertentu.

PWM pada board Arduino Uno R3 seperti apa?
Arduino Uno R3 menggunakan ATMega328P-PU(datasheet) sebagai mikrokontrollernya. Pada mikrokontroller seri ATMega328P ini terdapat 3 buah Timer/ Counter yang dapat digunakan untuk melakukan PWM, yaitu timer-0(8-bit), timer-1(16-bit), timer-2(8-bit). 
  • timer-0 terhubung dengan pin 5, 6
  • timer-1 terhubung dengan pin 9, 10
  • timer-2 terhubung dengan pin 3, 11
Penggunaan PWM pada Arduino dapat dilakukan dengan memanggil fungsi analogWrite(pin, value), dimana pin nya merupakan pin yang secara default mensupport PWM (Pin 3, 5, 6, 9, 10, 11) dilambangkan dengan tanda "~" disebelah angka pin. Kita juga dapat melakukan manipulasi di program untuk membuat pin lainnya di Arduino menjadi pin PWM. Valuenya sendiri bernilai antara 0-255 karena timer yang ada hanya 8-bit.

Output PWM pada pin 5 dan 6 mempunyai duty-cycle lebih besar dari yang diharapkan, hal ini terjadi karea pin 5 dan 6 menggunakan timer-0 yang juga merupakan timer yang digunakan untuk menangani fungsi milis() dan delay().

 Gambar sinyal dengan PWM
sumber: http://arduino.cc/en/Tutorial/PWM

Penjelasan gambar:
  1. Garis hijau menggambarkan periode normal
  2. Pada saat fungsi analogWrite(64) dijalankan, maka sinyal digital yang terlihat bernilai 1 dengan durasi 25% periode normalnya, pada saat ini, bila pin tersebut terhubung dengan LED maka sebenarnya LED mati/hidup dalam waktu cepat, namun mata kita tidak dapat melihat perubahan itu, sehingga LED akan tampak redup, begitu pula yang terjadi pada analogWrite(127) dan analogWrite(191).
Setelah membaca teori yang panjang, saatnya melakukan percobaan.

Percobaan #1
Menyalakan LED dari Padam, Redup, Terang Sekali, Redup hingga Padam Kembali
Alat dan komponen yang dibutuhkan:
  1. Board Arduino x1
  2. Kabel USB untuk power Arduino x1
  3. Resistor 10k Ohm x1
  4. LED x1
  5. Breadboard x1
  6. Kabel(untuk jumper) secukupnya
Skema rangkaian dapat dilihat pada gambar 1.
gambar 1 : skema rangkaian percobaan #1

Setelah membuat rangkaian dengan menggunakan alat dan komponen yang sudah disebutkan sebelumnya, maka saatnya untuk membuat kode program untuk diunggah ke board Arduino Uno.
Kode program yang saya gunakan adalah

Setelah membuat rangkaian berdasarkan skema, serta menghubungkan Arduino dan mengunggah program ke Arduino, maka akan didapatkan hasil seperti pada video berikut.


Percobaan #2
Menyalakan LED dari Padam, Redup, Terang Sekali, Redup hingga Padam Kembali dengan Push Button Switch

Alat dan komponen yang dibutuhkan:
  1. Board Arduino x1
  2. Kabel USB untuk power Arduino x1
  3. Resistor 10k Ohm x2
  4. LED x1
  5. Breadboard x1
  6. Kabel(untuk jumper) secukupnya
  7. Push Button Switch
Skema rangkaian dapat dilihat pada gambar 2.

gambar 2 : skema percobaan #2.
Selanjutnya saya mengunggah program berikut ke Arduino Uno

Setelah dijalankan, hasilnya adalah seperti pada video berikut.

Demikian postingan saya kali ini, selamat mencoba dan semoga bermanfaat.

Minggu, 02 Februari 2014

Arduino : Menghidupkan/ Mematikan LED dengan Button Switch

Postingan kali ini saya akan membuat rangkaian yang menghubungkan Arduino Uno, LED, dan button switch. Button switch disini digunakan untuk menghidupkan dan mematikan LED. Diharapkan pembaca sudah mengerti dasar membuat rangkaian elektrik dengan menggunakan bantuan breadboard.

Alat dan komponen yang dibutuhkan:
  1. Board Arduino x1
  2. Kabel USB untuk power Arduino x1
  3. Resistor 10k Ohm x1
  4. LED x1
  5. Button Switch x1
  6. Breadboard x1
  7. Kabel(untuk jumper) secukupnya
Skema rangkaian dapat dilihat pada gambar 1.


gambar 1 : skema rangkaian

Pin #13 pada Arduino digunakan sebagai output untuk menyalakan LED. Pin #8 digunakan sebagai input. Pada rangkaian terdapat resistor dengan besar hambatan 10k, resistor ini berfungsi sebagai pull-down resistor, untuk membuat agar tegangan yang terbaca pada pin #8 benar-benar bernilai 0V. Hal ini diperlukan agar pin #8 dapat menentukan dengan pasti nilai LOW/ HIGH yang terbaca. Jika resistor dilepaskan maka yang akan terjadi adalah LED akan berkedip dalam waktu yang cepat karena pin #8 tidak dapat memastikan nilai apa yang terbaca, karena tidak ada rangkaian yang tertutup. Hal yang sama akan terjadi apabila kabel pada pin #8 dilepas.

Setelah melihat rangkaian, maka saatnya membuat kode program untuk di-upload ke Arduino Uno. Kode program yang saya upload sebagai berikut.

Setelah membuat rangkaian berdasarkan skema, serta menghubungkan Arduino dan meng-upload program ke Arduino, maka akan didapatkan hasil seperti pada video berikut.


Demikian posting saya kali ini, semoga bermanfaat dan selamat mencoba.