Raspberry Pi GPIO 101

Post on 25-Jun-2015

1.400 views 7 download

Tags:

description

Introduksi Penggunaan GPIO pada Raspberry Pi dalam Indonesia Creative Open Source Software 2014, Surabaya April 2014 Bersama Bapak Bob Hardian, PhD

Transcript of Raspberry Pi GPIO 101

WorkshopRaspberry Pi GPIO 101Indonesia Creative Open Source SoftwareHotel Bumi, Surabaya, 2014

IntroductionPeenTar 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

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

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