Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Physical computing with GPIO Zero
Search
Ben Nuttall
October 15, 2015
Education
1
380
Physical computing with GPIO Zero
Short talk in my new GPIO Python library for Raspberry Pi, given at Coding Evening in London
Ben Nuttall
October 15, 2015
Tweet
Share
More Decks by Ben Nuttall
See All by Ben Nuttall
Numeronyms are obnoxious
bennuttall
0
420
Live Highlights in BBC iPlayer
bennuttall
0
120
Rapid prototyping in BBC News with Python and AWS
bennuttall
0
180
Rapid prototyping in BBC News with Python and AWS
bennuttall
0
130
Running a Python Package Index for Raspberry Pi
bennuttall
0
160
From Acorns to Raspberries
bennuttall
0
140
Innovation in the newsroom
bennuttall
0
180
Innovation in the newsroom - MOS Running Order Manager
bennuttall
0
200
How to market your open source project
bennuttall
0
250
Other Decks in Education
See All in Education
附属科学技術高等学校の概要|Science Tokyo(東京科学大学)
sciencetokyo
PRO
0
2.9k
Web 2.0 Patterns and Technologies - Lecture 8 - Web Technologies (1019888BNR)
signer
PRO
0
3k
NUTMEG紹介スライド
mugiiicha
0
380
HCI Research Methods - Lecture 7 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
1.2k
Design Guidelines and Models - Lecture 5 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
1.2k
焦りと不安を、技術力に変える方法 - 新卒iOSエンジニアの失敗談と成長のフレームワーク
hypebeans
1
600
The Next Big Step Toward Nuclear Disarmament
hide2kano
0
160
Портфолио - Шынар Ауелбекова
shynar
0
140
Node-REDで広がるプログラミング教育の可能性
ueponx
1
210
20250910_エンジニアの成長は自覚するところから_サポーターズ勉強会
ippei0923
0
350
あなたの言葉に力を与える、演繹的なアプローチ
logica0419
1
240
今の私を形作る4つの要素と偶然の出会い(セレンディピティ)
mamohacy
2
130
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
330
39k
The Cost Of JavaScript in 2023
addyosmani
55
9.4k
Practical Orchestrator
shlominoach
190
11k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.5k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.3k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
970
A designer walks into a library…
pauljervisheath
210
24k
Designing for humans not robots
tammielis
254
26k
Designing Experiences People Love
moore
143
24k
Building an army of robots
kneath
306
46k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Scaling GitHub
holman
464
140k
Transcript
Physical computing with GPIO Zero Ben Nuttall Raspberry Pi Foundation
UK Charity 1129409
Ben Nuttall • Education Developer Advocate at the Raspberry Pi
Foundation – Software & project development – Learning resources & teacher training – Outreach • Hobbyist turned employee • Based in Cambridge • @ben_nuttall on Twitter
Python – RPi.GPIO import RPi.GPIO as GPIO from time import
sleep GPIO.setmode(GPIO.BCM) GPIO.setwarnings(False) led = 17 GPIO.setup(led, GPIO.OUT) while True: GPIO.output(led, True) sleep(1) GPIO.output(led, False) sleep(1)
Python – GPIO Zero from gpiozero import LED from time
import sleep led = LED(17) while True: led.on() sleep(1) led.off() sleep(1)
LED from gpiozero import LED from time import sleep led
= LED(17) led.on() # on led.off() # off led.toggle() # on>off or off>on led.blink() # flash on/off continuously
LED + Button from gpiozero import LED, Button led =
LED(17) button = Button(3) button.when_pressed = led.on button.when_released = led.off
Motion sensor from gpiozero import LED, MotionSensor led = LED(2)
sensor = MotionSensor(3) sensor.when_motion = led.on sensor.when_no_motion = led.off
Traffic Lights from gpiozero import TrafficLights lights = TrafficLights(9, 10,
11) lights.on() # all on lights.off() # all off lights.red.on() # red on lights.toggle() # swap state of all lights
Traffic Lights sequence lights.green.on() lights.amber.off() lights.red.off() while True: sleep(10) lights.green.off()
lights.amber.on() sleep(1) lights.amber.off() lights.red.on() sleep(10) lights.amber.on() sleep(1) lights.green.on() lights.amber.off() lights.red.off()
Full colour LED from gpiozero import RGBLED led = RGBLED(2,
3, 4) led.red.on() # full red led.color = (255, 0, 255) # purple led.blue = 100 # dim the blue value to 100 # now (255, 0, 100)
Motor from gpiozero import Motor from time import sleep motor
= Motor(forward=17, back=18) while True: motor.forward() sleep(5) motor.backward() sleep(5)
Robot from gpiozero import Robot from time import sleep robot
= Robot(left=(17, 18), right=(22, 23)) while True: robot.forward() sleep(10) robot.left() sleep(1)
Button controlled Robot from gpiozero import RyanteckRobot, Button robot =
RyanteckRobot() left = Button(26) right = Button(16) fw = Button(21) bw = Button(20) fw.when_pressed = robot.forward fw.when_released = robot.stop left.when_pressed = robot.left left.when_released = robot.stop right.when_pressed = robot.right right.when_released = robot.stop bw.when_pressed = robot.backward bw.when_released = robot.stop
Analogue - potentiometers from gpiozero import RGBLED, MCP3008 led =
RGBLED(2, 3, 4) pot = MCP3008() while True: red = pot.value led.color = (red, 0, 0) # set brightness of red
GPIO Zero - beta • www.pythonhosted.org/gpiozero – Installation instructions –
Documentation – Examples • Google Doc (linked from documentation) – Suggestions – Feedback • Contact me –
[email protected]
– @ben_nuttall on Twitter • #gpiozero on Twitter
CamJam EduKit • £5 starter kit (kit 1) • £7
sensors kit (kit 2) • £17 robotics kit (kit 3) • Free worksheets • Very reusable
Physical computing with GPIO Zero Ben Nuttall Raspberry Pi Foundation
UK Charity 1129409