Raspberry Pi 2 GPIO Ultrasonic Range Sensor

Kemarin beli juga ultrasonic range HC-SR04 seharga Rp47.500, harga yang sepadan dibandingkan dengan akurasinya. Mengkomunikasikan sensor ini dengan Raspberry Pi 2 ternyata tidak sukar.

HC-SR04

HC-SR04

Terdapat 4 pin pada sensor ini.

  1. VCC, untuk sumber tegangan 5V.
  2. TRIG, trigger pulse input, berfungsi mengirim perintah untuk mentrigger sensor untuk mengirim ultrasonic pulse (dan menyimpan waktu pengiriman) yang akan menabrak obyek terdekat. Kembalian dari gelombang tersebut akan ditangkap oleh sensor (mengingat waktunya), kemudian sensor menghitung waktu yang dibutuhkan antara pengiriman gelombang dan kembalinya. Sensor kemudian mengirim sinyal HIGH (5V) pada ECHO.
  3. ECHO, durasi HIGH pada pin ini sama dengan durasi antara waktu kirim dan kembali gelombang (ultrasonic pulse). Kode kita menghitung durasi tersebut untuk mendapatkan nilai jarak.
  4. GND, sepertinya tidak perlu penjelasan untuk pin Ground (GND).

Sensor ini menggunakan input 5V dan output yang dikirimkan pada pin ECHO juga 5V. Hal tersebut tidak sehat untuk GPIO pin pada Raspberry yang hanya membolehkan input 3,3V. Karena itu kita membutuhkan Voltage Divider menggunakan 2 resistor pada koneksi pin ECHO dan GPIO 24.

Peralatan yang digunakan selain Raspi dan ultrasonic sensor adalah kabel jumper, transistor 1KΩ dan 2KΩ, juga breadboard.

Diagram Rangkaian.

Diagram Rangkaian

Diagram Rangkaian

Wiring saya.

Wiring

Wiring

Wiring

Wiring

Kode distance.py.

Hasilnya.

Salam.

Lebih lanjut:

http://www.modmypi.com/blog/hc-sr04-ultrasonic-range-sensor-on-the-raspberry-pi

https://www.sparkfun.com/quiz/46

http://komponenelektronika.biz/sensor-ultrasonik.html

Raspberry Pi 2 GPIO Servo

Pindah dari LED ke Servo kali ini saya ingin menjajal bagaimana mengontrol servo dengan Raspberry Pi 2. Nantinya bisa diaplikasikan untuk membuat RC Car, kaki robot atau yang lain.

Perlengkapan yang diperlukan, selain raspi:

  • Servo, pakai GWS S03N STD seharga Rp154ribu.
Servo

Servo

Servo memiliki 3 kabel, dalam kasus GWS S03N STD berwarna cokelat, merah dan merah lebih terang, menurut keterangan di sini, begini aturannya:

  1. Kabel gelap (cokelat, hitam) negatif.
  2. Kabel terang (merah), yang di tengah, selalu positif.
  3. Kabel lebih terang (merah terang atau putih) untuk sinyal.

Servo yang digunakan adalah servo yang umum ditemukan, bergerak 180°. Cara mengendalikannya adalah dengan mengirim Pulse-width Modulation (PWM) melalui kabel sinyal. Sudut putaran (0°, 90°, 180°) motor ditentukan oleh  lebar pulsa yang diterima.

  1. Lebar 1ms (miliseconds) atau < 1,5ms akan memutar servo ke sudut (ke kiri).
  2. Lebar 1,5ms menghasilkan sudut 90°.
  3. Lebar 2ms atau > 1,5ms menjadikan posisi servo ke 180° (ke kanan).
Servo PWM

Servo PWM

Untuk mempertahankan posisinya, servo membutuhkan sinyal diulang tiap 20ms. Jika terdapat sinyal HIGH selama 1ms maka posisi servo akan berada di sudut , demikian seterusnya untuk 1,5ms dan 2ms. Python script kita akan menggunakan frekuensi 50Hz, alternatif lain yang biasa digunakan adalah 100Hz.

Dengan frekuensi (f) 50Hz maka periode (T) yang dihasilkan adalah:

Period

Period

Sehingga periode (T) = 1/50 = 0,02seconds atau 20ms, tepat sesuai dengan kebutuhan servo. Pada raspi kita tidak menggunakan pulse width tapi Duty-Cycle dengan rumusan.

Duty-Cycle = Pulse width/Period

Period = 1/frequency

Duty-Cycle = Pulse width * frequency

Jika pulse width sebesar 1ms dengan frekuensi 50 Hz  maka Duty-Cycle yang dibutuhkan adalah:

Duty-Cycle = o,001 * 50 = 0,05 = 5%

Ilustrasi perhitungan selengkapnya untuk sudut , 90° dan 180° sebagai berikut.

Sudut Pulse Width frequency Duty-Cycle
0,001 50 5%
90° 0,0015 50 7,5%
180° 0,002 50 10%
  • Resistor, 1KΩ untuk mengamankan raspi.
Resistor

Resistor

  • Baterai AA, 4 buah biar kuat gerakin servo yang membutuhkan tenaga 5V 1A.
Baterai AA

Baterai AA

Jika ingin lebih rapi, 4 baterai AA dapat dikemas dalam boks, seharga Rp12ribuan.

Boks Baterai

Boks Baterai

Jumper wire

Jumper wire

  • Dan tentu saja tak ketinggalan, breadboard. Agar tak payah menyolder.
Breadboard

Breadboard

Diagram Rangkaian:

Diagram Rangkaian

Diagram Rangkaian

Arus positif dari baterai AA dialirkan ke servo (kabel tengah), dari servo kabel cokelat (negatif) dialirkan ke pin GND dan baterai AA. Sedang kabel terang (sinyal) servo dihubungkan ke resistor kemudian ke pin no 7 pada raspi.

Python script:

Hasilnya.

Seperti biasa, tak terlalu sukar karena memang hanya fungsi dasar yang saya kerjakan. Hahahaha.

Salam.

Lebih lanjut:

http://www.rcpowers.com/community/threads/help-needed-with-servo-wire-polarity.12494/

http://digiwarestore.com/en/servo/gws-servo-s03n-std-f-713084.html

http://www.toptechboy.com/raspberry-pi/raspberry-pi-lesson-28-controlling-a-servo-on-raspberry-pi-with-python/

https://www.rhydolabz.com/wiki/?p=8271

http://razzpisampler.oreilly.com/ch05.html

http://trikueni-desain-sistem.blogspot.co.id/2014/03/Pengertian-Motor-Servo.html

http://www.geyosoft.com/2014/pwm-pulse-width-modulation

Raspberry Pi 2 DSLR Remote Shutter Release

Sesuai janji saat baru mendapatkan Raspberry Pi 2, saya akan cerita bagaimana membuat remote shutter release menggunakan raspi ini. DSLR yang digunakan adalah Nikon D90, menggunakan kamera lain mungkin saja tidak berhasil, sila periksa model apa saja yang kemungkinan besar berhasil.

Kenapa shutter release? Dengan shutter release fotografer dapat beberapa manfaat, seperti bisa swafoto dan menghindari goncangan pada kamera, yang umumnya terjadi saat kamera dipegang (oleh manusia) dan shutter speed diset pada nilai rendah.

Shutter release sendiri ada 3 jenis:

  • Dengan kabel, kekurangannya adalah ‘siapa yang butuh kabel saat ini? semua harus wireless! wireless!’
  • Infrared, sayangnya tidak semua kamera mendukung infrared, selain karena jarak maksimal hanya sekitar 5 meter.
  • Wireless, ini istilah yang aneh juga, toh infrared juga wireless. Di era sebelum ini, kamera harus dipasang receiver untuk dapat menggunakan wireless shutter speed dan mahal set perangkatnya, inilah yang disasar disubstitusikan oleh apa yang kita bahas sekarang. Ternyata rerata kamera (DSLR) sekarang sudah melengkapi perangkatnya dengan fitur ini, tinggal aktifkan di kamera, connect dengan gawai, lalu shutter dapat diakses nirkabel, persis yang dilakukan oleh kamera aksi.

Wireless shutter release dengan raspi ini dimainkan di lapangan raspbian dan gol indah tercipta melalui umpan lambung akurat gphoto2 yang kemudian dilanjutkan dengan tendangan voli oleh php. Siapa manager di balik permainan indah ini? Adalah Blaize, yang meramu taktik menawan yang dapat memadukan dua pemain kunci ini menjadi padan. Jangan lupakan agen bernama Gonzalo Cao Cabeza de Vaca yang membawa gphoto2 dapat berlaga di raspbian.

Dalam sistem ini, kalau boleh dikatakan sebagai sistem, Raspberry Pi 2 bertugas untuk:

  • Menjadi Access Point, agar gawai dapat melakukan koneksi nirkabel. Salah satu petunjuk agar raspi menjadi AP ada di sini.
  • Menyajikan antarmuka web, yang diakses melalui gawai.
  • Mengirim perintah pada kamera untuk memicu shutter.

Diagram dan flowchart sebagai berikut.

Diagram Sistem

Diagram Sistem

Flowchart

Flowchart

Cukup bualannya, mari dimulai meramu wireless shutter release a la raspi.

  1. Instalasi gphoto2, di raspi paling mudah menggunakan bantuan mas Gonzalo.

  1. Instalasi PHP5.

  1. PHP Script sebagai antarmuka sistem.

  1. Masuk ke direktori berisi PHP script yang akan jadi antarmuka.

  1. Eksekusi PHP script, menjadikan raspi sebagai peladen.

Setelah instalasi, selanjutnya cukup menjalankan langkah 4 dan 5 untuk menggaktifkan sistem.

Melalui gawai, atau komputer, arahkan peramban ke alamat 0.0.0.0:8000. Angka 0.0.0.0 dapat diganti dengan ip raspi, misal 192.168.0.106. Begini hasilnya jika tampil pada gawai. (Foto dari postingan agan Blaize, sang kreator).

Antarmuka

Antarmuka

Hasilnya seperti ini.

Tidak sulit amat, hanya agak kecewa karena ternyata DSLR sekarang sudah dilengkapi dengan fitur ini. Mwahahaha.

Salam.

Lebih lanjut:

https://www.maketecheasier.com/set-up-raspberry-pi-as-wireless-access-point/

http://techlife.blaize.net/2014/04/20/gphoto-webui-a-php-web-ui-for-gphoto2/

https://github.com/gonzalo/gphoto2-updater

Raspberry Pi 2 GPIO LED (Bagian 3 – Selesai)

Setelah berhasil:

  1. Menyalakan LED
  2. Membuat LED berkedip

Sekarang saatnya menambahkan switch alias tactile pada rangkaian.

Tactile

Tactile

Switch 2 pin (kaki), gambar di atas 4 pin – abaikan, ditebus dengan harga Rp500 sebuah.

Diagram rangkaian yang baru seperti ini.

Diagram Rangkaian

Diagam Rangkaian

Flowchart rangkaian:

Flowchart Rangkaian

Flowchart Rangkaian

Intinya sih program ‘mendengar’ apakah GPIO 26 bernilai True (jika tactile ditekan), jika benar maka kirim sinyal HIGH ke GPIO 4 (pin 7).

Kode switch.py.

tinggal panggil switch.py lalu selesai.

Seperti biasa, modifikasi script python dapat menghasilkan tampilan yang lebih menghibur.

Ternyata mudah membuat rangkaian seperti ini (ga tau kalau pake microcontroller, sepertinya prinsipnya sama saja).

Salam.

Lebih lanjut:

http://raspberry.io/projects/view/reading-and-writing-from-gpio-ports-from-python/

http://razzpisampler.oreilly.com/ch07.html

Raspberry Pi 2 GPIO LED (Bagian 1)

Internet of Things (IoT) adalah tren kekinian dari teknologi komunikasi. Melalui IoT, internet dapat kita rasakan (dalam artian sesungguhnya). Karenanya terutama dari sisi pengguna, kita butuh perangkat keras, yang dapat kita rasakan, sebagai elemen utama IoT.

Single Board Computer (SBC) seperti Raspberry Pi dengan ukuran yang mungil tapi berkemampuan komputer, sepertinya cocok untuk dijadikan perangkat pendukung IoT. Di internet sudah mulai marak artikel bertemakan IoT dengan Raspberry Pi.

Raspi untuk dapat berkomunikasi dengan hardware lain, salah satunya adalah dengan GPIO.

Salah satu cara (sangat sederhana) untuk mempelajari GPIO pada SBC adalah dengan mengontrol LED. Saya sendiri meski senang membuat sesuatu yang dapat bekerja, tidak cukup sabar untuk melakukan pekerjaan a la insinyur elektro seperti menyolder. Pengalaman saya terakhir menyolder adalah tahun 2008, saat membuat usb extenders untuk wajanbolic, yang akhirnya gagal dan memilih membeli saja. Ihwal itu yang menyebabkan kegiatan merangkai LED dan Raspi dipilih, karena mudah, sesuai untuk saya yang tak tekun membuat rangkaian elektronik.

Pada bagian 1 ini, saya ingin membuat Raspberry Pi 2 dapat menyalakan LED.

bahan yang digunakan:

Breadboard

Breadboard

Jangan lupa patternnya breadboard.

Breadboard Pattern

Breadboard Pattern

 

Jumper Wire (Male)

Jumper Wire (Male)

  • LED, Rp400 sebuah
LED

LED

Salah satu kaki LED yang lebih panjang, namanya Anoda, disambungkan dengan arus positif.

LED Diagram

LED Diagram

 

  • Resistor, ditebus dengan 700 rupiah, dapat 10
Resistor

Resistor

Diagram rangkaian yang akan dibuat.

Diagram Rangkaian LED

Diagram Rangkaian LED

Anoda akan dihubungkan dengan pin 3,3 Volt dari GPIO Raspi, sedang katoda dengan Ground (GND). Diagram GPIO Raspi 2 sebagai panduan.

Raspberry Pi 2 GPIO

Raspberry Pi 2 GPIO

Pinjam gambar dari sini, begini layout rangkaian yang akan dibuat.

Layout Rangkaian

Layout Rangkaian

Ternyata mudah (evil grin). Dan beginilah hasilnya.

Raspberry Pi 2 + LED

Raspberry Pi 2 + LED

LED

Breadboard + LED

GPIO

Rangkaian pada GPIO

2 LED

Menggunakan 2 LED

Meski sederhana (siapa yang butuh SBC seharga 600ribu hanya untuk sekedar menyalakan 2 buah LED?) namun dari sini saya mempelajari tentang pin pada GPIO Raspi 2, juga kemudahan dari menggunakan breadboard.

Di bagian selanjutnya saya akan mempelajari bagaimana memanipulasi LED menggunakan script python.

Salam.

Lebih Lanjut:

  1. http://sourceforge.net/p/raspberry-gpio-python/wiki/install/
  2. https://projects.drogon.net/raspberry-pi/gpio-examples/tux-crossing/gpio-examples-1-a-single-led/
  3. https://www.raspberrypi.org/documentation/usage/gpio-plus-and-raspi2/
  4. https://en.wikipedia.org/wiki/Breadboard

Mainan Baru, Raspberry Pi 2

Setelah mendengar urban legend tentang raspberry sepertinya menarik, apalagi liat di yutup banyak hal menarik yang bisa dilakuin pake raspi. Karena males muter2 nyari di toko, nyarinya lewat layar aja, harganya di sekitar 590-600K.

Beli sepaket raspi 2 + adaptor + microSD 8 GB (sudah ada isi OS Rasbian) + Case = 849K. Plus 79.900 untuk wifi adapter.

raspi baru

paket + wifi adapter

Rasberry pi 2

raspi 2

raspberry pi 2

IMG_20151210_223400

raspi + case

Karena beli paketan, di dalam microSD sudah ada Raspbian, tinggal pasang power adaptor, sambungkan keyboard, mouse dan hubungkan dengan display.

raspi

Raspi

Linux? Ya. Meski katanya Raspi bisa dipasang windows 10 tapi saya pikir linux lebih menarik dan ringan (kayaknya).

Saat pertama menjalankan sistem, disarankan untuk memutakhirkan Raspbian dengan perintah di LXTerminal.
untuk update repository

upgrade sistem

Menurut di sini perintah itu sudah cukup, bahkan sudah termasuk upgrade firmware, tapi banyak di internet yang menyarankan menggunakan program buatan hexxeh untuk upgrade firmware raspi.
instalasi

update sistem

Oya, wifi adapter langsung dikenali sistem, jadi langsung bisa dipakai, bahkan bisa disetting jadi Access Point. Kesempatan selanjutnya saya tunjukkan bagaimana raspi jadi Shutter Release untuk DSLR.

Salam.