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 Scratch and Python
Search
Ben Nuttall
March 21, 2016
Education
0
230
Physical computing with Scratch and Python
Physical computing with Raspberry Pi using Scratch and Python with GPIO Zero
Ben Nuttall
March 21, 2016
Tweet
Share
More Decks by Ben Nuttall
See All by Ben Nuttall
Numeronyms are obnoxious
bennuttall
0
81
Live Highlights in BBC iPlayer
bennuttall
0
24
Rapid prototyping in BBC News with Python and AWS
bennuttall
0
98
Rapid prototyping in BBC News with Python and AWS
bennuttall
0
55
Running a Python Package Index for Raspberry Pi
bennuttall
0
66
From Acorns to Raspberries
bennuttall
0
45
Innovation in the newsroom
bennuttall
0
57
Innovation in the newsroom - MOS Running Order Manager
bennuttall
0
110
How to market your open source project
bennuttall
0
170
Other Decks in Education
See All in Education
2024年度春学期 統計学 第2回 統計資料の収集と読み方 (2024. 4. 18)
akiraasano
PRO
0
110
week15@tcue2024
nonxxxizm
0
380
Dashboards - Lecture 11 - Information Visualisation (4019538FNR)
signer
PRO
1
1.5k
Visualisation Techniques - Lecture 8 - Information Visualisation (4019538FNR)
signer
PRO
0
1.8k
Materiales para Marketing Digital
navarromorales
0
1.5k
week2@tcue2024
nonxxxizm
0
930
10分で日本史(試案)
hidekatsu_izuno
0
620
Case Studies and Course Review - Lecture 12 - Information Visualisation (4019538FNR)
signer
PRO
1
1.4k
【株式会社コノセル】会社説明資料
koheimiyamoto
0
2.7k
Matz に頼られたので張り切って2時間ほどドイツと日本の互いの Ruby 学習事情についてディスカッションした話
yasulab
1
320
Implicit and Cross-Device Interaction - Lecture 10 - Next Generation User Interfaces (4018166FNR)
signer
PRO
1
1.4k
3Dプリンターの使い方(Sovol 06 Plus)
404background
0
150
Featured
See All Featured
Fontdeck: Realign not Redesign
paulrobertlloyd
79
5.1k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
17
1.5k
Side Projects
sachag
451
42k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
90
47k
Stop Working from a Prison Cell
hatefulcrawdad
266
20k
4 Signs Your Business is Dying
shpigford
178
21k
Speed Design
sergeychernyshev
9
270
Bash Introduction
62gerente
607
210k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.3k
[RailsConf 2023] Rails as a piece of cake
palkan
35
4.4k
5 minutes of I Can Smell Your CMS
philhawksworth
200
19k
Art, The Web, and Tiny UX
lynnandtonic
291
20k
Transcript
Physical Computing with Scratch and Python
None
Boot the Pi and open Scratch
GPIO Server • GPIO Server On
Broadcast • configXout • gpioXon • gpioXoff • wait X
secs • forever Component GPIO pin Red LED 25 Amber LED 8 Green LED 7 Buzzer 15
Close Scratch and open Python 3
Open a new file • File > New File •
File > Save • Save as camjam.py
GPIO Zero LED from gpiozero import LED led = LED(25)
while True: led.on() sleep(1) led.off() sleep(1) Save and run: Ctrl + S F5
GPIO Zero LED from gpiozero import LED led = LED(25)
led.blink()
GPIO Zero Button + LED from gpiozero import Button, LED
button = Button(21) led = LED(25) while True: button.wait_for_press() led.on() button.wait_for_release() led.off()
GPIO Zero Button + LED from gpiozero import Button, LED
button = Button(21) led = LED(25) while True: led.on() button.wait_for_press() led.off() button.wait_for_release()
GPIO Zero Button + LED from gpiozero import Button, LED
button = Button(21) led = LED(25) while True: led.blink() button.wait_for_press() led.off() button.wait_for_release()
Traffic Lights from gpiozero import Button, TrafficLights button = Button(21)
lights = TrafficLights(25, 8, 7) while True: button.wait_for_press() lights.on() button.wait_for_release() lights.off()
Traffic Lights from gpiozero import Button, TrafficLights button = Button(21)
lights = TrafficLights(25, 8, 7) while True: lights.blink() button.wait_for_press() lights.on() button.wait_for_release()
Traffic Lights from gpiozero import Button, TrafficLights, Buzzer from time
import sleep button = Button(21) lights = TrafficLights(25, 8, 7) buzzer = Buzzer(15) while True: lights.on() buzzer.off() button.wait_for_press() lights.off() buzzer.on() button.wait_for_release()
Traffic Lights while True: lights.green.on() sleep(1) lights.amber.on() sleep(1) lights.red.on() sleep(1)
lights.off()
Traffic Lights while True: button.wait_for_press() lights.green.on() sleep(1) lights.amber.on() sleep(1) lights.red.on()
sleep(1) lights.off()
Traffic Lights Sequence • Can you make a full traffic
lights sequence? • Use the button for a pedestrian crossing • Use buzzer.beep() to indicate safe crossing
Documentation and help guides • raspberrypi.org/documentation/usage/scratch/gpio • gpiozero.readthedocs.org • raspberrypi.org/resources
• raspberrypi.org/education/downloads
Physical Computing with Scratch and Python