Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
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
250
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
48
Live Highlights in BBC iPlayer
bennuttall
0
21
Rapid prototyping in BBC News with Python and AWS
bennuttall
0
89
Rapid prototyping in BBC News with Python and AWS
bennuttall
0
44
Running a Python Package Index for Raspberry Pi
bennuttall
0
56
From Acorns to Raspberries
bennuttall
0
36
Innovation in the newsroom
bennuttall
0
51
Innovation in the newsroom - MOS Running Order Manager
bennuttall
0
100
How to market your open source project
bennuttall
0
140
Other Decks in Education
See All in Education
Родина моя Беларусь в лицах
programmer_sch2np
0
160
week3@tcue2024
nonxxxizm
0
440
Pen-based Interaction - Lecture 4 - Next Generation User Interfaces (4018166FNR)
signer
PRO
0
1.2k
Copilotとして理解する生成AI利用の基本
gmoriki
0
130
保育とふりかえりをコネクト! / connect childcare and retrospectives!
psj59129
1
150
Introduction - Lecture 1 - Information Visualisation (4019538FNR)
signer
PRO
0
3.5k
phygital__le_magasin_augmenté.pdf
martine
0
2.6k
Earthquake and Disaster Prevention Information for UTokyo International Students
utokyoissr2360
0
630
「小・中・高等学校における情報教育の体系的な学習を目指したカリキュラムモデル基本方針」
codeforeveryone
0
1.4k
Sähköiset kyselyt, kokeet ja arviointi
matleenalaakso
1
16k
Часто задаваемые вопросы
pnuslide
0
22k
6 занятие. Четыре тактики метода "8 кубиков"бизнес-модели #ideaNN 1.03.2024.
karlov
0
150
Featured
See All Featured
Creatively Recalculating Your Daily Design Routine
revolveconf
210
11k
RailsConf 2023
tenderlove
4
540
Building Your Own Lightsaber
phodgson
99
5.7k
Facilitating Awesome Meetings
lara
42
5.6k
The MySQL Ecosystem @ GitHub 2015
samlambert
243
12k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
6
1.5k
Clear Off the Table
cherdarchuk
84
310k
What's new in Ruby 2.0
geeforr
337
31k
Fantastic passwords and where to find them - at NoRuKo
philnash
37
2.5k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
Practical Orchestrator
shlominoach
182
9.7k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
7
1k
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