Workshop Raspberry Pi GPIO 101 memberikan pengenalan tentang Raspberry Pi dan Internet of Things (IoT). Peserta akan belajar mengkoneksikan perangkat IoT ke Raspberry Pi melalui pin GPIO, mempelajari peta pin GPIO Raspberry Pi, serta pemrograman pin GPIO menggunakan Python dan Scratch. Ada juga demo kontrol LED sederhana dengan tombol.
2. Introduction
PeenTar Team - Laboratorium Komputasi Pervasif,
Fakultas Ilmu Komputer, Universitas Indonesia
● Bob Hardian , PhD (hardian@cs.ui.ac.id)
○ 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
3. 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
11. Peta GPIO RPi
GPIO (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
14. Persiapan
Beberapa 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
15. Rangkaian Uji Coba
Komponen 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
16.
17. 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
18. 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
20. LED Berkedip
Coba kode di bawah ini :
$vim blinkLED.py
import RPi.GPIO as GPIO
import time
# blinking function
def blink(pin):
GPIO.output(pin,GPIO.HIGH)
...
22. 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 ?
23. 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
24. 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.
27. 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