Kamis, 24 Maret 2016

Berkirim Data dengan ESP8266

Hai… seperti biasa saya hadir untuk menulis progress proyek arduino untuk mata kuliah Interaksi Manusia dan Komputer. Tugas kali ini adalah mengirim data menggunakan ESP8266. Kelompok kami memutuskan untuk mencoba membuat proyek monitoring suhu melalui internet. Menurut kelompok kami, proyek ini sederhana karena hanya menggunakan sensor suhu yang sebelumnya sudah pernah dipakai. Rencananya pembacaan suhu dari LM35 akan ditampilkan dalam bentuk grafik pada web memanfaatkan esp8266 sebagai media berkirim data.

Komponen

Komponen-komponen yang kami gunakan adalah
  • Arduino Uno
  • ESP8266
  • LM35
  • Breadboard
  • Jumper

Rangkaian

Gambar rangkaian (diambil dari website boarduino pada referensi)


Hasil

Kami mendapat referensi dari website boarduino. Proyek pada website ini paling sederhana dibandingkan dari website lain. Awalnya kami membuat blog pada website thingspeak. Pada blog ini kami membuat channel terlebih dahulu yang nantinya akan menampilkan grafik dari data pembacaan suhu oleh LM35 melalui koneksi wi-fi dengan esp8266. Namun, setelah kami melakukan langkah-langkah sesuai pada referensi, hasilnya tidak terjadi apapun. Baik pada monitor maupun channel, suhu tidak dapat terbaca.

Kami sudah mengecek seluruh komponen mulai dari ragkaian yang sudah benar sesuai gambar, source code sudah disesuaikan (api key sudah diganti sesuai channel thingspeak), esp8266 sudah dikonfigurasi agar dapat digunakan, LM35 sudah diganti dua kali (takutnya LM35 nya rusak), wi-fi juga berfungsi. Namun tetap saja pada layar monitor yang seharusnya menampilkan list suhu (seperti proyek sebelumnya) tidak menampilkan apapun, begitu pula pada web. Setelah berjam-jam mencoba hasilnya tetap nihil.

Sekian progress dari kelompok kami. Terima Kasih. 


Referensi



Kamis, 17 Maret 2016

Ide Proyek IMKA

Tugas IMKA ini akhirnya mulai menuju ke titik inti, dimana kami harus menentukan topik atau ide untuk proyek akhir mata kuliah ini. Tentu saja masih menggunakan perangkat kesayangan kita bersama yaitu arduino uno, hanya saja kali ini mengintegrasikan lebih banyak komponen dan sedikit lebih kompleks dari biasanya.

Pemilihan Ide

Nah ketika brainstorming ide, ada 3 ide yang kami dapatkan yaitu Get Bus, Pet Feeder 2.0, Printer Braille. Ide Get Bus didapat dari proyek mata kuliah lain yang menurut kami juga dapat diimplementasikan ke dalam proyek IMKA ini menggunakan bantuan RFID. Sementara Pet Feeder 2.0 merupakan lanjutan proyek mata kuliah SisDigMik semester sebelumnya yang dibuat lebih kompleks. Dan yang terakhir, Printer Braille adalah ide salah satu anggota kami yang sudah cukup kompleks. Kemudian kami membuat feasibility matriks untuk menentukan ide mana yang paling efisien dan sedikit resiko. Berikut gambarnya.

Feasibility Matriks Get Bus, Pet Feeder 2.0, Printer Braille


Dari feasibility matriks, akhirnya kami menentukan bahwa ide proyek IMKA yang akan kami ambil adalah Pet Feeder 2.0. Yeay.


Pet Feeder 2.0

Latar Belakang

Ide Pet Feeder ini muncul dari pemelihara kucing yang khawatir dengan kucingnya ketika dia harus keluar rumah dalam waktu yang lama. Bagaimana kalau dia kelaparan? Siapa yang akan memberinya makan? Apa mungkin dia bisa mengambil makananannya sendiri? Tentu akan sulit bagi kucing melakukan pekerjaan manusia dalam menyiapkan makanan. Meskipun pemiliknya sudah menyiapkan makanan akan muncul kekhawatiran lain. Bagaimana jika kucingnya terlalu banyak makan atau makanannya malah tercecer.
Sebenarnya hewan pun memiliki pola makan sendiri yang harus diperhatikan oleh pemilik. Pola makan ini harus diatur secara teratur agar hewan peliharaan tidak jatuh sakit seperti layaknya manusia. Selain itu,  ada komposisi makanan yang harus terpenuhi agar kesehatannya terjaga. Hal-hal seperti dapat dilaksanakan selama pemiliknya ada di rumah untuk mengawasi hewan peliharannya. Namun terkadang ada aktivitas yang mengharuskan pemiliknya untuk meninggalkan hewan peliharaannya di dalam rumah.
Salah satu cara menangani kondisi ini adalah dengan automatisasi. Pemilik membutuhkan alat yang secara otomatis mampu mengatur pola makan hewan peliharaannya sekaligus menentukan takaran dan komposisi yang tepat dari makanan yang disajikan.

Deskripsi Proyek

Pet Feeder 2.0 akan membutuhkan database untuk menyimpan jadwal makan hewan dan jenis makanannya. Database tersebut akan disimpan di dalam web untuk memudahkan user dalam mengedit jadwal makan. Pemilik memasukkan informasi yang diinginkannya ke dalam database yang nantinya akan dibaca oleh arduino. Ada 2 tabung yang dipasang sebagai penampung makanan jenis 1 dan jenis 2. Dalam masing-masing tabung tersebut akan dipasangi pintu sebagai jalan keluarnya makanan ke wadah berikutnya. Wadah berikutnya merupakan wadah untuk menampung makanan yang dicampur (misal makanan yang mengandung protein dan vitamin hewan). Kemudian dari wadah tersebut ada pintu lagi sebagai keluarnya makanan ke takaran sebelum akhirnya keluar ke tempat makan hewan. Pada masing-masing pintu kan dipasang motor sebagai penggerak. Motor ini yang akan bergerak sesuai data yang disimpan dalam database untuk memastikan makanan siap disajikan pada waktu tertentu.

Berikut desain kasar proyek Pet Feeder 2.0

Desain proyek Pet Feeder 2.0


Kemampuan :
  1. Mampu mengatur jadwal makan hewan sesuai masukan dari user. Pemilik akan memasukkan waktu makan dan frekuensinya dalam sehari ke dalam database. Alat ini akan beroperasi sesuai database yang dibuat. Database ini akan disimpan di dalam web sehingga mudah diubah.
  2. Mampu mengkomposisikan jenis makanan hewan yang sesuai keinginan pemilik. Pemilik dapat menginputkan beberapa jenis makanan yang sesuai dengan hewan peliharaannya pada waktu tertentu.
  3.  Menentukan takaran umum (kuantitas) makanan dalam satu waktu atau sekali makan.
  4. Menyesuaikan kuantitas makanan dengan suhu saat itu.

Komponen (sementara) :
  • 2 tabung makanan
  • 1 wadah penampung
  • 3 motor
  • 1 toples
  • 1 Arduino
  • Kabel Jumper
  • 1 LED
  • 1 Buzzer
  • 1 Sensor Suhu
  • 1 Kamera (opsional)



 Flow Diagram :


Flow diagram secara garis besar proyek Pet Feeder 2.0

Input-Proses-Output :

Dari flow diagram, input ke dalam Pet Feeder 2.0 adalah (input) database dari user. Prosesnya adalah ketika arduino membaca kapan waktu yang tepat untuk membuka pintu makanan dan menentukan pintu mana yang harus terbuka saat itu. Kemudian pintu 3 akan menunggu beberapa detik sebelum terbuka untuk mengeluarkan makanan ke tempat makanan terakhir. Arduino juga akan menentukan lama waktu masing-masing pintu terbuka sebelum secara otomatis akan menutup ketika waktu habis. Sementara output dari proyek ini adalah makanan yang keluar sesuai spesifikasi dari user dalam database.




Semoga Proyek Pet Feeder 2.0 ini berhasil ya. Amin ^^

Terima Kasih.

Kamis, 03 Maret 2016

Bermain dengan Arduino (Chapter 3.1)


Helo helo, melanjutkan postingan yang kemarin nih.

Masalah

Jadi kami coba terus merangkai rangkaiannya karena penasaran kenapa gagal terus. Seperti yang saya bilang sebelumnya, tidak jarang code yang kami upload mengalami error. Terkadang error yang terjadi memang karena kami lupa mengisi library yang digunakan (liquidcrystal.h untuk lcd, keypad.h untuk keypad), atau karena pemasangan port-nya tidak cocok. Namun, di beberapa percobaan terakhir yang kami lakukan, kode yang diupload selalu menunjukkan pesan error yang sama yang mengatakan 'no sync', pesan error ini kadang muncul kadang tidak (lebih sering munculnya sih). Nah, pernah sekali, ketika kodenya tiba-tiba tidak menunjukkan pesan error ketika diupload, LCD mulai menunjukkan kotak-kotak hitam full (disini kami cukup senang minimal ada kemajuan walau sedikit). Ketika keypad ditekan-tekan angka yang keluar tidak sesuai (lagi). Angka 1 tidak memunculkan apapun, angka 2 memunculkan huruf 'o', angka 4 memunculkan '/', angka 5 memunculkan '_' , yang terus di looping.

Rangkaian

Di bawah ini rangkaian yang paling sering kami coba, yang kadang berhasil kadang tidak.

Ini fritzing rangkaian yang kami pakai dan ambil dari blog www.vathsav.com

Tiba-Tiba


Lalu tiba-tiba tengah malam, Yuni ngechat di grup kelompok kalo rangkaiannya berhasil. Wow. Kata Yuni sih, kenapa berhasil? mungkin karena rangkaian kabel-kabelnya yang kemarin kurang pas. Soalnya ini percobaan pertamanya dan langsung berhasil muncul angka-angka yang semestinya (normal) pada layar LCD. Rangkaian sama kodenya juga sama seperti yang kami gunakan sebelumnya, tinggal diganti pinnya. Meskipun, katanya LCD-nya kadang mati kadang nyala. Padahal sebelumnya kami juga sudah menyesuaikan pin-pinnya. Bisa jadi, alasan percobaan sebelum-sebelumnya belum berhasil karena pengaturan pin yang kami lakukan memang kurang tepat antara rangkaian nyata dengan pengaturan pin pada kode.

layar LCD menunjukkan angka normal (akhirnya)



Referensi :

http://www.vathsav.com/post/arduino_calculator.html
http://raosanfikri.blogspot.co.id/2014/03/membuat-kalkulator-dengan-arduino.html
http://www.instructables.com/id/Arduino-Calculator/?ALLSTEPS



Rabu, 02 Maret 2016

Bermain dengan Arduino (Chapter 3)

Kalkulator Sederhana (Belum Berhasil)

Yup, seperti biasa ada tugas mingguan dari mata kuliah IMKA untuk bermain-main dengan arduino yang super canggih. Nah, tugas minggu ini adalah membuat kalkulator sederhana. Komponen yang kami gunakan adalah
- Arduino uno
- Keypad 4x4
- Potensiometer
- Jumper
- Board
- LCD 16x2

Kami memulai percobaan pada hari Selasa (23/2) dengan mencoba satu per satu komponen. Komponen yang pertama  kali kita coba sambungkan ke arduino adalah keypad 4x4. Kami cari referensi dari cookbook, kami pasang kabel sesuai gambar, lalu kami upload codenya. Hasilnya, ketika kami tekan angka 1 keluar angka 9, huh..gagal. Ternyata ketika dicoba lagi meski angka yang keluar tidak sesuai namun angka yang keluar berurutan. Kami pun menyadari bahwa kabel yang kami pasang ke arduino terbalik. setelah diperbaiki, hsasilnya memang benar. Komponen kedua yang kami coba adalah LCD. Sama seperti keypad, kami mencari referensi dari cookbook, kami pasang rangkaiannya kemudian kami upload ke arduino. LCD berhasil menampilkan kata 'hello, there' dan 'H7800, there' sesuai code yang dimasukkan meskipun cahayanya agak redup.

'H7800, there' pada layar LCD

'hello, there' pada layar LCD


Oke. Selanjutnya kami mulai menyusun rangkaian kalkulator sederhana. Sebelumnya kami mencari referensi dari google. Satu per satu project membuat kalkulator sederhana dari berbagai sumber sudah kami coba namun hasilnya nihil. Angka yang kami ketikkan pada keypad tidak mau muncul pada layar LCD. Padahal, pernah sekali LCD menunjukkan huruf aneh, namun setelah itu LCD sama sekali tidak mau memunculkan apapun, bahkan tidak bercahaya.

Huruf aneh muncul pada layar LCD

Kami sempat berpikir apakah masalahnya terletak pada LCD, karena tidak disolder? Kami berniat mensolder LCDnya namun tidak jadi. Ketika kami mencoba bongkar-pasang rangkaian, cahaya LCD berhasil menyala namun tetap saja tidak muncul apa-apa. Setiap jenis rangkaian yang kami coba mulai rangkaian dengan dan tanpa resistor atau potensiometer hingga meminjam LCD milik kelompok lain yang telah disolder ternyata tidak menunjukkan perubahan. Semua energi terkuras untuk mengerjakan tugas ini wkwkwk. Bahkan, beberapa kali code yang kami upload tidak jarang mengalami error. Kami benar-benar bingung, rangkaian sudah sama dan kodenya pun juga sama dengan referensi, namun rangkaian kami tidak berjalan semestinya.