WorkshopRaspberry Pi GPIO 101Indonesia Creative Open Source SoftwareHotel Bumi, Surabaya, 2014
IntroductionPeenTar Team - Laboratorium Komputasi Pervasif, Fakultas Ilmu Komputer, Universitas Indonesia● Bob Hardian , PhD ([email protected])
○ Chief of Lab.● Tonny Adhi Sabastian, M. Kom
○ Researcher, Gembala Kambing.UI.AC.ID○ Netadmin dan Sysadmin UI
● Muhammad Mufid Afif○ Final Year Students, Researcher
What We Will Learn Today ?● Introduksi RaspberryPi dan Dunia Internet Of Things● Konektivitas RaspberryPi dengan Perangkat IoT via GPIO● Peta GPIO RaspberryPi
● Koneksi dan Programming GPIO Dengan Python● Koneksi dan Programming GPIO Dengan Scratch● Demo Kontrol Sederhana dengan Scratch
Raspberry Pi & IoT
Raspberry Pi GPIO
Setup Cepat RPi
Peta GPIO RPiGPIO (General Purpose Input Output) adalah sekumpulan Pin pada sebuah chip yang dapat diset menjadi input, output atau pengontrolan fungsi.System on A Chip (SoC) Broadcom BCM2835 di Raspberry Pi memiliki 26 Pin GPIO terpasang pada board.Pin - Pin tersebut terdiri atas :● CLK Pin● SPI Pin● UART Pin● I2C● PWM● General GPIO
Raspberry Pi GPIO Cheat Sheet : https://www.modmypi.com/blog/raspberry-pi-gpio-cheat-sheet
Programming GPiO
PersiapanBeberapa persiapan yang perlu dilakukan :● Membuat Koneksi GPIO dengan Rangkaian Listrik
Sederhana● Update Raspbian via Repository Lokal● Memasang Pustaka Python GPIO● Memasang Pustaka Scratch GPIO● Melakukan Latihan Uji Coba Pemrograman dengan
Python dan Scratch
Rangkaian Uji CobaKomponen Rangkaian :● 2 Buah Momentary Push Switch● 3 Buah LED● 2 Buah Resistor 1 KiloOhm (Coklat, Hitam, Merah)● 3 Buah Resistor 220 Ohm ( Merah, Merah, Coklat)● 6 Buah Kabel Jumper Male to Female
Pemrograman GPIO dengan Python (Persiapan)Update Raspbian dengan menggunakan repository lokal :
sudo nano /etc/apt/sources.list
Tambahkan / edit baris berikut
deb http://$IP_LOKAL/raspbian wheezy main contrib non-free
Pemrograman GPIO dengan Python (Persiapan)Lakukan update dan upgrade:
$sudo apt-get update$sudo apt-get upgrade
Instalasi editor favorit :
$sudo apt-get install vim
Pemrograman GPIO dengan Python (Persiapan)Instalasi pustaka python-rpi-gpio:
$wget \ http://$LOCAL_IP/deps/python-rpi.gpio_0.5.3a-1_armhf.deb
$sudo dpkg -i \ python-rpi.gpio_0.5.3a-1_armhf.deb
LED BerkedipCoba kode di bawah ini :$vim blinkLED.pyimport RPi.GPIO as GPIO import time
# blinking function def blink(pin): GPIO.output(pin,GPIO.HIGH)
...
LED Berkedipdef blinkoff(pin): GPIO.output(pin,GPIO.LOW)
# to use Raspberry Pi board pin numbers GPIO.setmode(GPIO.BOARD) # set up GPIO output channel GPIO.setup(11, GPIO.OUT)...
LED Berkedip# blink GPIO17 50 times for i in range(0,50): blink(11)
time.sleep(1) blinkoff(11) time.sleep(1)GPIO.cleanup()
Dapatkah Anda membuat semua LED berkedip ?Dapatkah Anda mengontrol LED dengan tombol ?
Pemrograman GPIO dengan Scratch (Persiapan)Unduh dan instalasi modul Scratch GPIO:
$wget http://$IP_LOKAL/deps/scratch_gpio.sh$chmod +x scratch_gpio.sh$./scratch_gpio.sh
Unduh program contoh :$wget http://$IP_LOKAL/deps/gpiogame.sb
Pemrograman GPIO dengan Scratch (Persiapan)Jalankan XWindows:$startx
Setelah Anda berhasil menjalankan XWindows, Anda dapat menjalankan Scratch GPIO via ikon GPIOScractch4 di Desktop Anda.
Muat berkas contoh program gpiogame.sb pada Scratch Anda.
GPIOGame
Rutin Handler LED Rutin Handler Tombol
ReferensiPython RPi GPIOhttp://sourceforge.net/projects/raspberry-gpio-python/
Scratch GPIOhttps://github.com/cymplecy/scratch_gpio
Kode Sumber Contohhttp://computers.tutsplus.com/tutorials/learn-how-to-use-raspberry-pi-gpio-pins-with-scratch--mac-59941
MagPi Magazine : http://www.themagpi.com
Good Books For Reading
Programming the Raspberry Pi: Getting Started with Python, By Simon Monk
Raspberry Pi Hacks, By Ruth Suehle
Raspberry Pi Home Automation with Arduino, By Andrew K. Dennis
Raspberry Pi for Secret Agents, By Stefan Sjogelid