Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Physical computing with Scratch and Python

Physical computing with Scratch and Python

Physical computing with Raspberry Pi using Scratch and Python with GPIO Zero

Ben Nuttall

March 21, 2016
Tweet

More Decks by Ben Nuttall

Other Decks in Education

Transcript

  1. Broadcast • configXout • gpioXon • gpioXoff • wait X

    secs • forever Component GPIO pin Red LED 25 Amber LED 8 Green LED 7 Buzzer 15
  2. Open a new file • File > New File •

    File > Save • Save as camjam.py
  3. 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
  4. 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()
  5. 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()
  6. 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()
  7. 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()
  8. 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()
  9. 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()
  10. 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