Bagaimana Cara Mengontrol Lampu LED Menggunakan Raspberry Pi dan REBOL


Mengontrol lampu LED menggunakan GPIO Raspberry Pi sangatlah mudah. GPIO dapat diakses seperti layaknya mengakses file. Dan memanglah setahu saya segala sesuatu yang namanya IO pada sistem operasi linux dapat diakses secara file. Pada postingan kali ini saya akan berikan contoh bagaimana cara mengontrol lampu LED menggunakan Raspberry Pi dan REBOL.

Mengakses GPIO Raspi Dengan Shell

GPIO Raspberry Pi dapat kita akses secara langsung melalui shell menggunakan perintah-perintah Shell seperti echo (write) dan cat (read). Sebelum dapat mengakses GPIO, maka perlu dilakukan export terlebih dahulu. Export akan menciptakan folder baru untuk pin yang di-export dan sekaligus menciptakan file-file fungsi kontrol untuk mengontrol fungsi pin yang di-export. Fungsi kontrol tersebut antara lain:

  • active_low
  • direction
  • edge
  • power
  • subsystem
  • uevent
  • value

File-file fungsi kontrol tersebut dapat dibaca oleh non-root (user) akan tetapi untuk menuliskan data hanya dapat dilakukan oleh root sebagai pemilik. Oleh karenanya diperlukan sudo.

Berikut adalah contoh menyalakan lampu LED pada GPIO-5 (pin-29) menggunakan shell.

  1. Buka terminal
  2. Rangkai LED seperti foto di atas (LED aktif LOW)
  3. Aktifkan akses root dengan perintah:
    $ sudo -i
  4. Konfigurasi GPIO-5 sebagai OUTPUT dan LED=OFF dengan perintah:
    $ echo "5" > /sys/class/gpio/export
    $ echo "out" > /sys/class/gpio/gpio5/direction
    $ echo "1" > /sys/class/gpio/gpio5/value
  5. Menyalakan LED dengan mengeset GPIO-5 = LOW (“0″)
    $ echo "0" > /sys/class/gpio/gpio5/value
  6. Mematikan LED dengan mengeset GPIO-5 = HIGH (“1″)
    $ echo "0" > /sys/class/gpio/gpio5/value
  7. Kembalikan GPIO-5 ke kondisi semula setelah digunakan
    $ echo "5" > /sys/class/gpio/unexport
  8. Dan kita kembalikan kembali ke akses user
    $ exit

Guampang, bukan? Nah, sekarang kita akan melakukan hal yang sama dengan REBOL3.

Mengakses GPIO Raspi Dengan REBOL3

  1. Masih dengan rangkaian LED yang sama, kita buka terminal
  2. Jalankan REBOL3 dengan perintah:
    $ sudo ./r3
  3. Konfigurasi GPIO-5 sebagai output dan LED=OFF dengan perintah:
    >> write %/sys/class/gpio/export "5"
    >> write %/sys/class/gpio/gpio5/direction "out"
    >> write %/sys/class/gpio/gpio5/value "1"
  4. Menyalakan LED dengan mengeset GPIO-5 = LOW (“0″)
    >> write %/sys/class/gpio/gpio5/value "0"
  5. Mematikan LED dengan mengeset GPIO-5 = HIGH (“1″)
    >> write %/sys/class/gpio/gpio5/value "1"
  6. Membuat Blinking LED dengan perulangan 10 kali – delay 500ms
    >> gpio5: %/sys/class/gpio/gpio5/value
    >> loop 10 [write gpio5 "0" wait .5 write gpio5 "1" wait .5]
  7. LED pada GPIO-5 pun berkedip sebanyak 10 kali dengan durasi-on/off 500 milidetik.

raspi_gpio_rebol

Contoh Program Flip-Flop

Setelah sukses mengontrol sebuah lampu LED pada GPIO-5 (pin-29), sekarang kita akan mengontrol dua lampu LED dengan membuat aplikasi Flip-Flop. LED1 terhubung ke GPIO-5 dan LED2 terhubung ke GPIO-6. Berikut adalah kode program REBOL-nya.

Listing Program flipflop56.r3

REBOL [
  filename: %flipflop56.r3
  title: "Flip-Flop LED Raspi GPIO-5 dan GPIO-6"
  programmer: "Chandra MDE"
  blog: "Raspberry Pi Notes"
  website: http://raspi.teknikelektrolinks.com
]

jumlah-loop: 1000 ; default = seribu kedip
		  ; jumlah-kedip bisa diatur menggunakan parameter
		  ; contoh: ./r3 flipflop56.r3 10 ===> 10 kali

all [system/script/args jumlah-loop: to integer! system/script/args]

DLED1: %/sys/class/gpio/gpio5/direction
DLED2: %/sys/class/gpio/gpio6/direction
VLED1: %/sys/class/gpio/gpio5/value
VLED2: %/sys/class/gpio/gpio6/value

;inisialisasi GPIO-5 dan GPIO-6 sebagai OUTPUT
init-gpio: func [
][
	write %/sys/class/gpio/export "5"
	write DLED1 "out"
	write VLED1 "1"
	write %/sys/class/gpio/export "6"
	write DLED2 "out"
	write VLED2 "1"
]

;lampu kedip alias flipflop
flip-flop: func [
][
	write VLED1 "0" ;on
	wait .5
	write VLED1 "1" ;off
	write VLED2 "0" ;on
	wait .5
	write VLED2 "1" ;off
]

init-gpio
for n 1 jumlah-loop 1 [
        print ["Perulangan ke-" n]
	flip-flop
]
quit

Menjalankan Program Flip-Flop

Setelah kode program flipflop56.r3 selesai diketik, kita dapat langsung mencobanya dengan menjalankan perintah pada shell sebagai berikut:

$ sudo ./r3 flipflop56.r3

Pemanggilan tanpa argument (parameter) akan menyebabkan program menjalankan proses flip-flop sebanyak 1000 kali, yakni nilai default dari jumlah-loop. Untuk menjalankan proses flip-flop sebanyak 10 kali, gunakan perintah sebagai berikut:

$ sudo ./r3 flipflop56.r3 10

Screenshot Flip-Flop RASPI-REBOL

raspi_rebol_flipflop

Video Pengujian Flip-Flop REBOL

Anda dapat menyaksikan video pengujian program dan rangkaian di atas pada situs youtube melalui link berikut ini:

https://youtu.be/X_hM9Dj7Ao0

Sangat menarik, bukan? Pada postingan yang akan datang saya akan memberikan contoh bagaimana membaca masukan (input) dari GPIO Raspberry Pi menggunakan Shell dan REBOL. File aplikasi REBOL3 (r3) dan kode program flipflop56.r3 dapat Anda miliki secara GRATIS dengan MEMBERIKAN KOMENTAR di bawah postingan ini.

Silakan memberikan komentar beserta nama dan alamat email Anda dan saya akan mengirim file-file tersebut langsung ke email Anda.

Sekian Catatan Eksperimen Raspberry Pi kali ini. Semoga bermanfaat.

Selamat berkarya!

Iklan
Perihal

Cek situs kami di http://teknikelektrolinks.com. Blog Raspberry Pi: http://raspi.teknikelektrolinks.com

Tagged with: , , ,
Ditulis dalam Raspberry Pi, Uncategorized

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

Kategori

Bergabunglah dengan 2.497 pengikut lainnya

Display Counter 3-Digit Dengan Koneksi Wi-Fi
Display Nomor Antrian WiFi Android
Mengontrol Relay Via USB/Serial dan Wi-Fi
Blog Linux dan Raspberry Pi


USB Relay USB-2REL
USB Relay USB-4REL
Water Level Control WLC-02
Serial Relay SER-4REL
NEO STARDUINO SMS ALARM

Alarm SMS Berbasis NEO STARDUINO

1 PC – 6 Unit USB-2REL

Testing 6 USB-2REL Pada 1 Komputer

Standard Pengujian USB-2REL

Pengujian USB-2REL Sebelum Dikirim

LPT-4REL on Knoppix 7.0.5

Testing LPT-4REL on Knoppix Linux

T101 Inkubator Telur

T101 Inkubator Penetas Telur

KONTROL PERALATAN LISTRIK VIA PORT LPT KOMPUTER

Demo Kontrol Kontaktor via Port LPT

STARDUINO meets ANDROID

Demo Kontrol Bluetooth Relay Android

STARDUINO SMS RELAY

Kontrol Relay Via SMS Dengan Starduino

STARDUINO WEB RELAY

Demo Kontrol Relay Via Web/Internet

JustBASIC USB-2REL Control

Demo Kontrol USB-2REL + JustBASIC

STARDUINO + GPS + LCD

Demo Starduino GPS Dengan LCD

USB-2REL EXTREME TEST

Demo Kontrol On/Off Lampu USB-2REL

THERMOSTAT T101 IN ACTION

Demo Thermostat T101 Pada SV=37.5°C

WATER LEVEL CONTROL WLC-02

Demo Kontrol Level Air Tandon WLC-02

HUMIDITY CONTROLLER H103

Demo Kontrol Kelembaban H103 (DHT11)

%d blogger menyukai ini: