Dec 28 2014

Tutup Botol Macet

Published by under tutup botol,Uneg-uneg

Pernah menemukan tutup botol yang sulit dibuka alias macet? Seorang kawan Anda, A, mungkin menawarkan bantuan membukanya. Dia gunakan ujung kaosnya untuk membungkus tutup supaya tidak licin. Gagal. Seorang kawan yang lain, B, mencoba menggunakan cara yang lain. Tetap gagal. Merasa tertantang, seorang kawan Anda yang lainnya lagi, C, mengerahkan kekuatannya untuk membuka, dengan teknik yang lain. Berhasil!

Apa yang dikatakan C? Dia merasa satu-satunya yang berjasa dalam membuka tutup botol macet tersebut. Betulkah kenyataannya demikian? Tidak. C lupa bahwa A dan B juga mempunyai andil dalam membuka tutup botol macet tersebut. Bisa jadi setelah A dan B putar, tutup botol sedikit longgar namun tidak cukup untuk menjadikannya terbuka. C adalah yang memungkasinya, dengan assist dari dua yang lain, mirip ketika Neymar memberikan umpan matang ke depan gawang kepada Messi. Dalam kasus jelas, bahwa C “berhutang” kepada A dan B.

Bagaimana kalau memang yang dilakukan A dan B benar-benar tidak melonggarkan tutup botol barang sedikitpun? Apakah C berhak mengklaim semua keberhasilannya? Tetap tidak. C dapat membuka tutup botol dengan tekniknya karena tahu bahwa teknik yang digunakan A dan B tidak berhasil. C belajar dari kegagalan. Inilah yang disebut dengan path-dependence, ketika sebuah keputusan yang diambil dipengaruhi oleh keputusan-keputusan sebelumnya, meskipun keputusan-keputusan ini sudah dianggap tidak relevan.

Apa moral cerita dari tutup botol macet ini? Pertama, jangan mudah melupakan atau menafikan kontribusi yang diberikan pendahulu kita. Belajarlah menghargai mereka meskipun kadang tidak mudah. Kedua, jika kita gagal, jangan malu menceritakannya kepada orang lain. Hal ini penting supaya mereka tidak mengulangi kesalahan kita. Terlalu banyak cerita kesuksesan yang diumbar banyak orang, tetapi sangat sedikit yang sebaliknya. Cerita sukses memberikan inspirasi. Cerita gagal memberikan peringatan. Ketiga, ketika berhasil jangan besar kepala. Kita sangat mungkin berhutan banyak kepada orang lain, baik secara langsung maupun tidak langsung.

Timoho, 28 Desember 2014

*Catatan kecil di tengah gerimis ketika ingat mereka yang tanpa sadar melupakan jejak-jejak pendahulu.


Comments Off on Tutup Botol Macet

Dec 19 2014

My December

Published by under My Writtings

Comments Off on My December

Dec 11 2014

Memprogram Arduino Melalui Bluetooth

Published by under Arduino,Mikrokontroler

Pengguna Arduino tentunya sudah sangat familier dengan pemrograman Arduino yang dapat dilakukan dengan mudah. Cukup dengan menancapkan kabel ke port USB masing-masing pada PC dan board Arduino maka kita sudah dapat mengunggah program ke Arduino. Meski secara fisik menggunakan kabel USB, namun sebetulnya komunikasi antara komputer dan Arduino dilakukan menggunakan komunikasi serial. Seperti terlihat pada gambar di bawah ini.

Bluetooth adalah standar komunikasi untuk bertukar data tanpa perantara kabel (wireless) pada jarak yang tidak terlalu jauh. Bluetooth biasanya digunakan untuk komunikasi dua perangkat berpasangan (paired) menggunakan perantara sinyal gelombang radio UHF dengan frekuensi 2.4 – 2.485 MHz. Pada dasarnya komunikasi bluetooth adalah komunikasi serial hanya dilakukan tanpa perantara kabel. Karena sama-sama berbasis komunikasi serial tentu kita mengira-ngira apakah pemrograman Arduino juga dapat dilakukan tanpa menggunakan kabel melalui bluetooth. Jawabannya adalah ya, Arduino dapat diprogram melalui bluetooth. Pertanyaan berikutnya bagaimana caranya?

Sebenarnya saat ini ada beberapa produk yang memungkinkan Arduino dapat diprogram langsung melalui bluetooth contohnya adalah Arduino Wireless Programmer shield serta beberapa perangkat Arduino berbasis standar bluetooth terbaru yaitu Bluetooth 4 (BLE), antara lain Bluno dan BLE Shield. Meski demikian mungkin ada di antara kita yang saat ini telah memiliki modul bluetooth seperti Bluetooth shield ataupun modul HC-05 yang ingin dapat memprogram Arduino melalui bluetooth. Tulisan ini membahas tentang langkah-langkah yang perlu dilakukan untuk memprogram Arduino via bluetooth menggunakan modul Bluetooth Shield (Master/Slave) v2.2 dari Itead Studio yang berbasis HC-05.

Sebelum masuk ke penjelasan tentang langkah pemrograman, perlu kita ketahui beberapa hal berikut :

  • Selama ini perangkat lunak Arduino (versi xx ataupun 1.0.x) kurang mendukung untuk penggunaan bluetooth. Saya kira sebagian pembaca pernah merasakan masalah betapa lambatnya loading perangkat Arduino pada saat fitur bluetooth di komputer kita dinyalakan. Begitu pula saat akan meng-klik menu Tools – Serial Ports pada saat akan memilih port serial berapa yang akan digunakan. Hal ini disebabkan karena kekurangan bagian komunikasi serial perangkat lunak Arduino saat harus mengenali lebih dari 1 port serial yang aktif. Hal ini dapat diatasi dengan mengganti file rxtxserial.dll dengan yang telah dimodifikasi (tautan berikut) atau dengan cara yang lebih mudah, yaitu menggunakan perangkat lunak Arduino versi 1.5.x (saat tulisan ini ditulis versi terbaru adalah 1.5.8) pada tautan berikut.
  • Saat menjalani komunikasi serial kedua perangkat yang sedang berkomunikasi haruslah memiliki parameter protokol komunikasi yang sama. Jika tidak sama maka ibarat dua orang yang berkomunikasi dalam bahasa yang berbeda maka keduanya tidak akan saling memahami maksud lawan bicaranya. Parameter komunikasi serial yang paling penting adalah baudrate (kecepatan komunikasi), jumlah bit karakter, jumlah bit stop, dan jumlah bit parity. Pada pemrograman Arduino parameter komunikasi serial yang digunakan untuk jumlah bit karakter, jumlah bit stop, dan jumlah bit parity adalah sama, yaitu masing-masing 8 bit karakter, 1 bit stop, dan tanpa bit parity. Meski demikian terdapat perbedaan pada baudrate yang digunakan, misalnya Arduino Uno menggunakan baudrate 115200, Arduino Duemilanova/Diecimila baudrate 57600, serta Arduino Nano, dan Arduino NG dengan ATMega8 baudrate 19200 (sumber : boards.txt). Modul bluetooth berbasis HC-05 memiliki dua mode yaitu mode CMD untuk setting pada baudrate tetap 38400 (tidak dapat diatur) dan mode DAT untuk komunikasi yang dapat diatur baudrate-nya dengan default 9600 (sumber).
  • Pada saat proses pemrograman Arduino sebelum program diunggah ke mikrokontroler terdapat proses reset untuk mengaktifkan program bootloader. Pada modul bluetooth standar kita tidak dapat me-reset board Arduino secara otomatis untuk itu perlu ditambahkan rangkaian yang menghubungkan modul bluetooth dengan pin reset pada Arduino.

Berikut adalah langkah-langkahnya :

  1. Unduhlah perangkat lunak Arduino versi 1.5.x dari tautan berikut. Persiapkan ruang harddisk karena ukurannya cukup besar (ukuran zip lebih dari 170 MB setelah diekstrak lebih dari 550 MB). Kebutuhan yang tidak kalah penting adalah jaringan internet yang handal karena unduhan dari tautan resmi Arduino tersebut nampaknya tidak memiliki fasilitas resume, sehingga jika terputus di tengah jalan tidak dapat dilanjutkan dan harus memulai dari awal.
  2. Tambahkan rangkaian berupa kapasitor 1 uF yang menghubungkan antara pin 32 dari modul HC-05 dengan pin RESET Arduino (Informasi dari tautan berikut). Karena saya tidak menemukan kapasitor 1uF di toko elektronik dekat rumah maka saya gunakan rangkaian pada tautan lain yang terdiri dari 1 kapasitor keramik 100 nF, 1 resistor 10 K ohm, dan 1 resistor 15 k Ohm seperti pada gambar berikut.

  1. Berikutnya adalah langkah persiapan pengesetan modul bluetooth. Set saklar mode operasi menjadi CMD serta set jumper seperti terdapat pada gambar berikut. Pada langkah pengesetan modul bluetooth dilakukan melalui modul UART yang terdapat board Arduino, itulah sebabnya maka Tx modul dihubungkan dengan Tx Arduino dan Rx modul dengan Rx Arduino. Pasangkan modul bluetooth shield pada board Arduino. Perhatian untuk mengecek isi program Arduino apakah menggunakan komunikasi serial. Jika terdapat komunikasi serial upload program terlebih dahulu yang tidak menggunakan komunikasi serial (misal Blink). Proses ini tidak harus menggunakan board Arduino, tapi dapat juga menggunakan konverter USB – serial TTL, jangan lupa dengan koneksi Rx – Rx dan Tx – Tx.
  2. Lakukan pengesetan modul bluetooth shield dengan menyambungkan kabel Arduino ke port USB komputer serta menggunakan perangkat lunak terminal serial. Pada aktifitas ini digunakan Serial Monitor dari Arduino dengan setting baudrate 38400 (karena sedang pada mode CMD) dan line ending “Both NL and CR” (karena AT command harus diakhiri dengan karakter NL dan CR). Untuk mengetes komunikasi ketik AT kemudian diikuti dengan menekan ENTER pada keyboard (atau dapat juga dengan menekan tombol “Send” pada Serial Monitor). Jika komunikasi berjalan baik maka modul bluetooth akan menjawab OK. Pada modul yang saya gunakan jika pertama kali mengirim perintah AT, modul selalu menjawab ERROR. Modul baru akan menjawab OK untuk perintah AT kedua. Sejauh ini hal ini tidak mengganggu, hanya harus mengirim perintah AT 2 kali di awal komunikasi.
  3. Berikutnya ketikkanlah perintah berikut pada Serial Monitor (sumber)
AT Command Respon Keterangan
AT+ORGL OK Mengembalikan ke keadaan default
AT+ROLE=0 OK Mengeset modul sebagai slave
AT+POLAR=1,0 OK PIO 8 high drive LED; PIO 9 low drive LED.

Maksudnya adalah pada saat setiap awal komunikasi PIO 9 (pin 32) yang disambungkan dengan pin RESET diset logika low sehingga mereset Arduino (sumber)

AT+UART=115200,0,0 OK Set baudrate 115200, 1 bit stop dan tanpa bit parity. Catatan untuk Duemilanova baudrate 57600.
AT+INIT OK Inisialisasi modul

 

  1. Setelah selesai lepaskan kabel USB dari Arduino, set saklar operasi ke DAT, dan atur jumper seperti pada gambar berikut (Tx modul dengan Rx Arduino dan sebaliknya). Sambungkan lagi kabel USB, kali ini hanya sebagai catu daya.
  2. Klik kanan icon Bluetooth Device pada Notification Area pada Desktop komputer anda, klik Add Device. Maka akan ditampilkan media bluetooth yang akan disambungkan. Pilih modul bluetooth shield yang dapat memiliki nama yang berbeda-beda. 2 modul yang saya miliki (tipe sama) memiliki nama HC-05 dan H-C-2010-06-01. Setelah diklik maka akan ada menu pilihan Pairing Option, pilih “Enter the Device’s Pairing Code” dan isikan “1234”.
  3. Untuk mengecek port yang digunakan maka kembali klik kanan icon Bluetooth Device pada Notification area desktop, pilih Show Bluetooth Device kemudian klik icon modul bluetooth yang digunakan, kemudian klik tab Hardware. Jika belum ada klik tab Services dan klik tanda centang Serial port (SPP) “Dev B”.

  1. Buka perangkat lunak Arduino pilih Tools – Serial Port – Comxx (sesuai yang digunakan oleh modul bluetooth).
  2. Arduino siap diprogram melalui bluetooth J. Serial monitor juga berfungsi normal, hanya dalam program baudrate-nya disesuaikan menjadi 115200.

 

 

Semoga bermanfaat.

 

Referensi :

http://wiki.iteadstudio.com/BT_Shield_%28Master_Slave%29

http://blog.iteadstudio.com/upload-program-to-arduino-with-bt-shield/

http://blog.iteadstudio.com/warless-program-your-iteaduino-bt-2/

http://makezine.com/projects/diy-arduino-bluetooth-programming-shield/

http://forum.arduino.cc/index.php?topic=217884.0

http://forum.arduino.cc/index.php?topic=218049.0

http://www.rcscomponents.kiev.ua/datasheets/hc_hc-05-user-instructions-bluetooth.pdf

 

 

 

 

 

 

 

 

Comments Off on Memprogram Arduino Melalui Bluetooth

Dec 05 2014

November Rain

Published by under My Writtings

Comments Off on November Rain

Dec 03 2014

Intel Galileo Gen 2 Development Boards

Published by under Mekatronika dan Robotika

Kemarin kami mendapatkan kejutan menyenangkan. Kampus kami menerima paket kiriman yang berisi sejumlah Galileo yang merupakan hibah dalam rangka Galileo for Universities yang diselenggarakan oleh Intel (informasi pada tautan berikut). Tujuan dari program ini adalah selain memperkenalkan Galileo kepada pengajar dan mahasiswa, juga memberikan kesempatan kepada para akademisi dalam pengembangan teknologi di bidang embeded system untuk menghasilkan produk berbasis Galileo.

Intel Galileo adalah papan pengembangan (development board) berbasis Intel pertama yang dirancang untuk diprogram dengan menggunakan perangkat lunak Arduino – IDE. Galileo memiliki pin yang compatible dengan Arduino Uno R3 sehingga dapat beroperasi dengan shield Arduino standar. Mikroprosesor yang digunakan pada Galileo adalah mikroprosesor Intel® Quark™ SoC X1000 application processor, yang merupakan mikroprosesor 32 bit dengan kecepatan operasi 400 MHz. Beberapa fitur yang terdapat pada Galileo :

  • Mendukung berbagai antarmuka I/O standar industri, seperti full-sized mini-PCI Express* slot, 100 Mb Ethernet port, microSD* slot, USB host port, dan USB client port.
  • Memiliki media penyimpanan berupa 256 MB DDR3, 512 kb embedded SRAM, 8 MB NOR Flash, dan 8 kb EEPROM standard on the board, serta dapat dipasang microSD card maksimal 32 GB.
  • Memiliki susunan pin standar Arduino (Digital, Analog, dan catu daya) sehingga compatible dengan sebagian besar shield Arduino.

Galileo dapat diprogram dengan 2 cara, yaitu :

  • Menggunakan Arduino IDE versi khusus yang dapat diunduh dari sini. Dengan menggunakan perangkat lunak ini Galileo dapat diprogram seperti kita memprogram Arduino pada umumnya, baik dari sisi tampilan perangkat lunak maupun bahasa pemrogramannya. Cara ini dilakukan dengan menghubungkan port mikro USB yang terdapat pada Galileo dengan port USB pada PC.
  • Menggunakan terminal Linux. Pada Galileo sebenarnya memiliki dua sisi, yaitu sisi Arduino dan sisi Linux. Kita dapat mengakses Galileo sisi Linux dengan menggunakan antarmuka terminal menggunakan perintah Linux standar. Cara ini dilakukan melalui komunikasi serial dengan menghubungkan PC dan Galileo menggunakan konverter USB ke TTL (3.3V). Galileo juga dapat diprogram menggunakan beberapa bahasa pemrograman populer, seperti Python dan OpenCV, dengan cara meng-upgrade Linux OS standar bawaannya dengan Linux OS pada SD Card.

Galileo yang kami terima adalah merupakan generasi 2, yang memiliki beberapa perbedaan dibandingkan generasi pertama, antara lain :

  • Header 6-pin 3.3V USB TTL UART menggantikan 3.5 mm jack RS-232 console port untuk akses menggunakan OS Linux.
  • Konektor standar 6 pin kabel konverter serial USB ke TTL 3.3V
  • Peningkatan kecepatan dan kemampuan 12 pin GPIOs.
  • PWM 12 bit untuk pengendalian gerakan yang lebih halus pada motor servo dan DC
  • UART 1 dapat diarahkan ke header Arduino sehingga menghilangkan kebutuhan serial software.
  • Memiliki kemampuan 12V power-over-Ethernet (PoE) capable
  • Catu daya dapat menerima tegangan maksimal 15V, dibandingkan 7V pada generasi 1.

Apa yang dapat dibuat menggunakan Galileo ini? Secara sederhana Galileo ini adalah peningkatan kapasitas dan kemampuan dari Arduino biasa, sehingga semua hal yang dapat dilakukan Arduino juga dapat dilakukan oleh Galileo. Dengan kelebihan yang dimiliki, Galileo dapat digunakan untuk melakukan komputasi yang rumit seperti memproses citra dari kamera, menganalisis suara, ataupun mengkombinasikan informasi dari beberapa sensor. Semoga Galileo yang diterima ini dapat bermanfaat bagi pengembangan pendidikan dan teknologi di bidang embeded system.

 

Informasi lebih lanjut :

Comments Off on Intel Galileo Gen 2 Development Boards

Oct 30 2014

Logika Proposisi

Published by under Logika Matematika

Alhamdulillah, buku pertama seri Logika Matematika akhirnya bisa saya selesaikan. Seri pertama ini membahas Logika Proposisi, materi dasar dalam Logika Matematika. Bagian argumentasi dan pembuktian validitasnya adalah bagian utama dalam buku ini, terutama pembuktian validitas argumentasi menggunakan deduksi alami. Soal latihan bagian ini juga cukup banyak, tanpa bermaksud mengesampingkan bagian yang lain, dan sebagian besar […]

Comments Off on Logika Proposisi

Sep 22 2014

Review Kuliah Sistem Mekatronika

Published by under Uncategorized

Berikut adalah beberapa materi review Kuliah Sistem Mikrokontroler Prodi Teknik Elektri UII semester 1 tahun 2014/2015 :

Sistem Bilangan

Logika

 

Comments Off on Review Kuliah Sistem Mekatronika

« Prev - Next »