Teach, Learn and Make with Raspberry Pi - Estonia seminar

A1995c9abe48450ce2f82d93ca0b863f?s=47 Ben Nuttall
September 08, 2015

Teach, Learn and Make with Raspberry Pi - Estonia seminar

Exploring teaching computing and informatics through physical computing with the Raspberry Pi

A1995c9abe48450ce2f82d93ca0b863f?s=128

Ben Nuttall

September 08, 2015
Tweet

Transcript

  1. 2.

    Raspberry Pi Foundation • Registered UK charity 1129409 • Founded

    in 2009 to aid computing education • On general sale since 2012, available to all worldwide – Sold to education, industry and hobbyists – Sold 6 million to date • Free learning resources for makers and educators • Free teacher training - Picademy (currently UK, soon USA)
  2. 3.

    Ben Nuttall • Education Developer Advocate at the Raspberry Pi

    Foundation – Software & project development – Learning resources & teacher training – Outreach • Hobbyist turned employee • Based in Cambridge, UK • @ben_nuttall on Twitter
  3. 4.

    Raspberry Pi • Sonic Pi • Python • Physical computing

    • Minecraft: Pi Edition • Picamera • Astro Pi
  4. 5.

    Sonic Pi • Sound synthesiser for creating music • Audible

    computing • Uses simple syntax text-based programming language Ruby • Used for compositions and live coding performances • Introduce computing concepts through music • Created especially for education
  5. 6.

    Python • Powerful extensible programming language • Easy to read

    and write • Make software, games, GUIs, websites, robots and more • Ideal for physical computing • Extensive library of additional modules for Raspberry Pi hardware • Recommended for education
  6. 7.

    Physical computing • Flashy lights • Motors & robots •

    Photo & video • Sensors • Internet of Things • Engaging and empowering
  7. 10.

    Flash LED with Python from RPi import GPIO from time

    import sleep GPIO.setmode(GPIO.BCM) led = 2 GPIO.setup(led, GPIO.OUT) while True: GPIO.output(led, True) sleep(1) GPIO.output(led, False) sleep(1)
  8. 11.

    Traffic Lights from RPi import GPIO from time import sleep

    GPIO.setmode(GPIO.BCM) red = 9 yellow = 10 green = 11 leds = [red, yellow, green] for led in leds: GPIO.setup(led, GPIO.OUT) GPIO.output(green, True) GPIO.output(yellow, False) GPIO.output(red, False)
  9. 12.

    Traffic Lights while True: sleep(10) GPIO.output(green, False) GPIO.output(yellow, True) sleep(1)

    GPIO.output(yellow, False) GPIO.output(red, True) sleep(10) GPIO.output(yellow, True) sleep(1) GPIO.output(green, True) GPIO.output(yellow, False) GPIO.output(red, False)
  10. 13.

    An alternative approach class LED(object): def __init__(self, pin): self.pin =

    pin GPIO.setup(pin, GPIO.OUT) def on(self): GPIO.output(self.pin, True) def off(self): GPIO.output(self.pin, False) red = LED(9) yellow = LED(10) green = LED(11)
  11. 14.

    An alternative approach green.on() yellow.off() red.off() while True: sleep(10) green.off()

    yellow.on() sleep(1) yellow.off() red.on() sleep(10) yellow.on() sleep(1) green.on() yellow.off() red.off()
  12. 20.

    Minecraft: Pi Edition • Free version of Minecraft on Raspberry

    Pi • Python programming interface • Learn Python by building things and making games in Minecraft • Creative computing
  13. 21.

    Flowers from mcpi.minecraft import Minecraft from time import sleep mc

    = Minecraft.create() flower = 38 while True: x, y, z = mc.player.getPos() mc.setBlock(x, y, z, flower) sleep(0.1)
  14. 22.

    Planting flowers grass = 2 flower = 38 while True:

    x, y, z = mc.player.getPos() # player position (x, y, z) block_beneath = mc.getBlock(x, y­1, z) # block ID if block_beneath == grass: mc.setBlock(x, y, z, flower) else: mc.setBlock(x, y­1, z, grass) sleep(0.1)
  15. 23.

    Picamera • Official Raspberry Pi camera module • Command line

    interface for basic use • Python programming interface for projects • Still pictures, video, time- lapse
  16. 25.

    Python – take a selfie from picamera import PiCamera from

    time import sleep with picamera.PiCamera() as camera: camera.start_preview() sleep(5) camera.capture('/home/pi/image.jpg') camera.stop_preview()
  17. 26.

    Python – stop motion with picamera.PiCamera() as camera: camera.start_preview() frame

    = 1 while True: next = input('Press Enter to continue...') camera.capture('/home/pi/animation/frame%03d.jpg' % frame) frame += 1
  18. 27.
  19. 28.

    Sense HAT • 8x8 RGB LED matrix • Mini joystick

    • Gyroscope • Accelerometer • Magnetometer • Temperature sensor • Barometric pressure sensor • Humidity sensor
  20. 29.

    Sense HAT - Python from sense_hat import SenseHat sense =

    SenseHat() sense.show_message('Hello world!')