Picademy Take 3 & 4

My picademy training was over two years ago now, but the experience remains one of the most inspiring two days of my life. As I’ve said so many times before, it literally changed my life. So, you can imagine my delight when I was invited to Glasgow Picademy, this time as a trainer.

I got to spend four days with two sets of trainees and see them go through the same life-changing experience I did.

So, the format for those of you who don’t already know – first of all attendees are talked through the benefit of Pi and then it’s straight to work learning some basics of physical computing. Unlike my picademy years ago, this time all of the cohort stayed in one room for their workshops.

I was really lucky that I got to run the first workshop as I love talking about the benefits of physical computing – I love demonstrating the power of Scratch and introducing some simple Python, especially to complete beginners.

Over the course of the day the attendees took part in workshops learning about Minecraft hacking, Sonic Pi, PiCamera and finishing up with a look at the fantastic Pimoroni Explorer Hat and some motors to make spiny things. The last challenge for the day was a mini hackathon challenge where they had 30 minutes to create something cool with their spiny motors and it was great fun seeing all that they had achieved.

As was normal, a few people felt a little overwhelmed and exhausted after the first day and it was our job to let them know that it was perfectly normal and that day 2 was their chance to become comfortable with their new skills. Just a note of reassurance here, we’ve all felt it, that feeling of never being able to understand or keep up. In fact, there were a few times that I felt it while helping out as a mentor. Don’t worry, we all feel like that!

The first day ended with a meal in a local restaurant for all attendees and mentors – just a chance to unwind and relax – the first week, we played a game of ‘learn everyone’s name’, but the second week I was determined to know them all by the end of the first session, much to everyone’s bewilderment.

So, day 2 – the challenge! Attendees are invited to work independently or in teams to make something using what they’ve learnt. Some people choose to develop their personal skills, while others are determined to come up with projects that can be used in their classrooms and both weeks I was overwhelmed by the super projects people came up with.

First, however, we were invited to talk to the attendees about something we were passionate about – in the case of James Robinson, this was Skycademy and HAB with pi, Marc Scott talked passionately about open source and Laura Sach talked about the importance of the Pi community. I was even given the chance to discuss my coding inititive, Coding Evening for teachers. It is always lovely to hear people talk about their passions and this is a lovely part of the training as it gives the attendees the opportunity to glean some insight into us as mentors and see another side of us.

Down to the projects. I’m afraid I can’t remember all of the projects, but I can say with absolute certainity that they were all superb and inspiring. In the first week, a whole table came together to create a giant group of mostly primary school teachers who were really keen to do some work with Scratch. They came up with an excellent ‘my Town’ activity that could be built in primary schools with KS2 pupils and then brought to younger pupils so that they could use the set up as a BeeBot or Sphero map. I particularly liked the way this team worked together to inspire and support each other.

Another project which stood out was a Minecraft music mat to help inspire children with learning difficulties to want to learn – I just loved that this project was so inclusive.

A pair of primary school teachers in the first week decided to independently use Python to create a Santa photo booth and what I liked about this was that they didn’t really know any Python before they started, but that didn’t stop them from giving it a go!

In the second week some teachers used Scratch to make a flood defense scheme to tie in with the Geography curriculum in Scotland which has a huge focus on environmental issues and projects and I was impressed with the cross curricular aspect of this.

Another impressive project was a back-to-basics Minecraft resources where pupils were given complete code to auto build a house in Minecraft and were then asked to identify where they could make changes in the code to alter the output. I loved this idea as I think really basic starting points for Python are few and far between and I would defintely like to see more from this project. Other Minecraft projects included a ‘yellow brick (gold block) road’ and a Hadouken Sense Hat control game.

Projects were really broad for the both groups and showed a lot of inspiration and excitement – from photographing twitter buttons to doorbells that check who is ringing them, all of the projects were well thought out and generally quite easy to apply to the classroom. I don’t think  anyone who has attended Picademy could deny the power of project based learning after spending time exploring Pi.

There were some hilarious moments over both sets of picademies, including some innuendo (mostly unintended), some incredible successes, some moments where, in spite of failure, we all had a good laugh and even some moments where I felt like I was able to contribute and help people with their code. I will add that, perhaps my favourite moment from the entire four days was when, at the end of the two days, I was asked by an attendee whether I would get an award “for being the most enthusiastic trainer” for the two days… I feel like I must have done *something* good to receive that response!

I really hope I get invited back to Picademy, as this was a fantastic experience and I can’t wait to see where they are going next in the country – fingers crossed there will be some more courses a bit further south in the future! Please keep an eye out for future Picademies and take the time to apply as this is an experience NOT to be missed!

Thanks, as always, to the Raspberry Pi Foundation for offering such amazing training and thank you too, to Google Garage for supporting them in bringing Picademy to locations they might otherwise not have been able to. Keep up the good work!

 

Advertisements

CAS Conference 2016 – workshop links

I will do a proper write up soon, but for those who were in my workshop, here is a downloadable version of the two worksheets, plus a link to the prezi and links to the resources that I showed you!
Scratch workshop – Python

Scratch workshop – pi-top

Prezi – Scratch-ing the Surface of GPIO

pi-top

Pi-Stop (traffic lights)

Pimoroni Flotilla

CamJam EduKit 1 (plus free worksheets)

CamJam EduKit 3 (robotics kit – plus free worksheets)

Astro-Pi Sense Hat Kit (as sent to the ISS)

I think that was all of the things that I shared with you, but please let me know if there was anything else you wanted further information about!

Cat

CamJam EduKit 3 – part 2

First of all I’d like to thank you all for the positive responses to my first blog about the CamJam EduKit 3 – loads of you commented, retweeted and even offered some really helpful advice. Yesterday, Louise came around and we embarked on phase two of the robot build.

On Wednesday I hosted a Coding Evening in Twickenham and quite a few attendees brought along their robots. Richard Hayler brought his CamJam robot which was controlled by a bluetooth keyboard – what impressed me most is that Richard had written his code and then set up the pi so that it automatically started running on boot up. I was also very impressed with the Crumble Bot kit that Nic Hughes brought along, controlled by an interface based on Scratch so very easy to use – I’d be interested in trying one out for myself as it looked like a great introduction to robot building for children.

The first thing I wanted to do was to make my code run on start up, so I quickly checked the code I’d written last weekend to make the bot move forward, turn left and right and backwards. I’d been sent a blog post from Raspberry Pi Spy, as I’d been warned by Alex Eames from RasPi.Tv that auto booting on Jessie could be a little complicated. I was rather proud of myself for figuring out that because my python file was in a folder called EduKitRobotics, I needed to include that in the code I was typing in, meaning that instead of the website of example of /home/pi/myscript.py, I needed to use /home/pi/EduKitRobotics/4-driving.py, however, what I failed to do was to use capital letters for any of the commands in square brackets in the config file. I also made one massive mistake in the terminal code that I was typing in meaning that nothing worked.

IMG_8477IMG_8478

You can imagine the fear when I saw the words ‘dead’ in the instructions, but luckily it was Alex to the rescue as he spotted that I’d made a typo in the ‘ExecStart’ command – my python filename was missed off – I’d obviously been in such a hurry to get it typed that instead of typing:

/EduKitRobotics/4-driving.py

I’d just written

EduKitRobotics.py

A simple, but silly error, which caused my code to fail. The next attempt to run everything, with the capital letters all in place and the correct file information typed up, we were ready to test whether our code launched on start up.Screen Shot 2016-03-27 at 17.59.37.png

We were quite excited when, after quite a wait, our robot set off wobbling across the carpet, as seen here, however, we couldn’t help but notice that the wheels were starting to come off the side of the box. Fortunately, it was Stuart to the rescue as he found a piece of wood, cut it to size and stuck it to the bottom to support the motors!

My next task was to attempt the code for following a line – at this point, I decided it was safest to just use the 4-driving.py saved code for all of my future work to save having to redo my boot up code, so I carefully copied and pasted the original code into a new file and began work on the next bit of Python.

I should probably point out that I got a fair bit of stick last week from both Stuart and Louise for the awkward position I was sat in to type my code and so this week I borrowed a monitor so that I could be a bit more comfortable. I also decided that to input my code I’d use my Pi 3 because it had enough USB slots to have a mouse and keyboard attached, and then I could simply pull out the memory card and put it in the A+ when we wanted to use it in the robot. This also meant that our cables could be permanently attached to the pi, without worrying about maneuvering them to attach the pi to a monitor (yes I still need to figure out how to VNC into the pi). IMG_9929So, with the line following code ready to go, we put our robot back onto the floor, plugged in the trusty Anker power supply and set it off. We were hugely disappointed when nothing happened, until I realised that the diagram for wiring the line sensor showed the sensor facing up, whereas we had installed it facing down and therefore the cables were the wrong way around!

With a slight fear that we’d damaged the sensors by having it back to front, we switched the cables and ran the code again – this time it worked, but we had a slight issue with the robot going backwards and so I had to go and tweak a tiny bit of code to get it sorted and then we were able to watch excitedly as our robot wiggled it’s way along a line. We did have one further problem, the bit of wood we’d added to help support the wheels had made our robot a little heavier and that meant it couldn’t manage to move on the big, fluffy carpet in the living room so we had to relocate to the tiled kitchen, with its black, granite tiles. Not an ideal location for testing for black lines, but as long as we kept the robot on bits of paper, it worked ok!

Our final bit of Python was the code to get the front sensors working so that our robot could detect distance. Using a bit of careful cutting and pasting from the previous code I had typed up, I was able to get the robot moving fairly quickly – you can see it bouncing around the kitchen here. I should note at this point that it took quite a long time from plugging in the battery to the code actually starting to run and we were often close to giving up when it started to run. I’d estimate it was between 30-60 seconds from battery in to code running, which can be a long time when you’re worried that it doesn’t work!

The next step of our build involved Louise spending a lot of time with spray paint and an entire tube of super glue to decorate the robot!

One slight issue with all the decoration is that it made the robot quite heavy, as you can see here, but it was so funny that we didn’t really mind!

Perhaps jealous of our achievement, Stuart got out his remote controlled car, and then started looking suspiciously at the sensors and muttering that he could attach them to the car and automate it… we decided it was safest to hide our robot from his tinkering hands, but watch this space to see if he does end up using a CamJam Kit with his car.

So, as you can see, we had a fantastic couple of days building our robots – considering neither of us is particularly techy, we were pleased with our achievements both in terms of the building and the coding. I still don’t think this is a class activity, but definitely one to do with a small group of enthusiastc children as it was so much fun.

CamJam EduKit 3 – Part 1

This weekend I decided it was time to try out the rather exciting CamJam EduKit 3 – Robotics

Screen Shot 2016-03-20 at 18.09.54

I admit that I’ve been avoiding having a go because I was terrified of everything going wrong, so this weekend I called my friend and we embarked on our first robot building exercise.

So…in the kit are all the parts you need to build a robot – once again, it looks very complex and scary, but it’s not that difficult once you get going. My friend and I decided to use the box as our chassis, as suggested in the instructions available here.

IMG_6807-1.jpeg

The first thing we needed to do (after setting up Python and running Hello World) was to attach the motors. We realised straight away that we need to put some holes into our box so that we could feed the cables through and so, being girlie girls, we got the drill out of the cupboard and started making holes in the case. It was at this point that I realised that this may not be a project for the primary school classroom, unless you want to pre-punch the holes or have children waving drills around…although, a strong leather punch may be a better option.

So, using the diagram below from the worksheet, we stuck our bits on with the provided double sided tape…and quickly realised that this led to a stunted angular robot because the front wheel was so much lower than the back one so we had to start again and rethink our motor position.

Screen Shot 2016-03-22 at 10.07.49Screen Shot 2016-03-22 at 10.23.12

After a bit more time with the drill, we’d repositioned the wheel motors on the side of the bot and carefully carved out some extra holes to fit the line sensor and ultrasonic sensor (Louise wanted to make sure it looked pretty).Take a look at the two pictures above and see if you can spot the difference between the photo and the diagram…at this point we were a little bit confused as the motors appear to be the other way around on the photo compared to the diagram and so we decided to follow the photo’s direction and worry about it later.

IMG_8407     IMG_8410

I put Louise in charge of following the wiring instructions, and as a complete novice, she found it fairly easy to put together following the sheet, we even learned how to tell the difference between the resistors by reading the bands (after a moment of panic about how we could tell which was which). The worksheets so far are really clear and easy to follow.

Screen Shot 2016-03-22 at 10.20.07

We hadn’t really done any coding yet, because we were so eager to get the build done, which meant that we didn’t really know if any of it worked!

IMG_3806IMG_4239-1IMG_3070IMG_4144-1

We had a bit of an issue when we started coding, because the instructions ask that you make sure you’re using the newest version of Raspbian and even tells you how to check, but in order for us to check we ended up running an update to the pi, and then installing a package from instructions I found online and THEN we could check whether we had Jessie or Wheezy (it turned out we had Wheezy installed so I had to find a memory card that already had Jessie).

So, I could finally start typing my code to check the motors were properly set up. The instructions talk you through the Python code, which requires no extra library installs, but did require a lot of typing lines and lines of code to set up which pins do what.

# CamJam EduKit 3 - Robotics
# Worksheet 3 - Motor Test Code
import RPi.GPIO as GPIO # Import the GPIO Library
import time # Import the Time library
# Set the GPIO modes
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
# Set the GPIO Pin mode
GPIO.setup(7, GPIO.OUT)
GPIO.setup(8, GPIO.OUT)
GPIO.setup(9, GPIO.OUT)
GPIO.setup(10, GPIO.OUT)
# Turn all motors off
GPIO.output(7, 0)
GPIO.output(8, 0)
GPIO.output(9, 0)
GPIO.output(10, 0)
# Turn the right motor forwards
GPIO.output(9, 0)
GPIO.output(10, 1)
# Turn the left motor forwards
GPIO.output(7, 0)
GPIO.output(8, 1)
# Wait for 1 second
time.sleep(1)
# Reset the GPIO pins (turns off motors too)
GPIO.cleanup()

I’m actually really pleased because I could follow this code quite easily so, while it was a bit boring to type, but I knew what I was doing. Now, do you remember when I mentioned earlier that we were a bit confused by which way around to put the motors. It turns out we should’ve put them the other way around because when we tested the code the wheels went backwards, but the instructions were very clear and so we were quickly able to make some alterations to make it go forwards – pins 9 and 10 controlled the right motor and so if turning on just pin 10 made it go backwards then turning on just pin 9 must make it go forwards. We changed pin 7 and 8 too and everything worked perfectly.

Check it out here.

Now, if you watch the video, you may notice the slightly awkward position of the Pi and the bot – I confess that I don’t know how to use a pi ‘headlessly’ i.e. without a monitor attached and so I currently have no way of getting it running without having it attached via HDMI to a monitor or screen – this is not an ideal set up so before we finish the build we need to find out how to VNC into the pi from my MacBook. I’m also really keen to try and figure out how to do this code in Scratch so hopefully when I write up part two I can let you know successes or failures for that.

So, conclusions from our experience so far. Firstly, this is not one to attempt with a class unless you are willing to either pre-make the bases, let them use a drill or try out a punch, but you could get children to bring their own base materials from home, making it clear that they would need to punch holes in it to run wiring through. I like that there is room to fail or be independent in your design – you can put your motors where you want and just hope that it works, but if it doesn’t, so what, you can just move them and try somewhere else. The build itself is dead easy, BUT the code is very long and tedious so it takes a while to type and even longer to debug. If you don’t know how to dial in, it’s also a problem so there are lots of specific skills needed. Saying that, my friend and I had an absolutely fantastic time on Saturday building our robot and I can’t wait to spend more time on it this weekend, so it is a great activity! I can honestly say that I haven’t had that much fun in ages; my friend Louise went home telling her flatmates about how amazing the Raspberry Pi is and how cool robot building is. I’m really excited about spending more time on the project and I think that this is a brilliant way to get people exciting about the things we can do once we know how to code. I can’t help but that once the code is re-written using Ben Nuttall’s GPIOZero (a simplified Python library, designed to make Python code even easier when using the GPIO pins) or with Scratch this will become more accessible to everyone, but for now it would take a brave person to get this out for a classroom activity.

Watch out for part two of this blog within the next week.

PS I LOVE ROBOTS AND I LOVE THIS KIT

Updated Scratch/PiStop Resource for NuScratch

With the release of Raspbian Jessie and a built in GPIO Scratch server, I’ve updated my beginner’s PiStop and Scratch worksheet for use with the newest Pi OS.

This worksheet is designed to be used as an introduction to inputs an outputs and requires some discussion from a teacher or workshop leader about how you define inputs and outputs.

You will also need to set up the PiStops in advance on pins 17, 27 and 22 (as demonstrated on the BCM diagram on the sheet).

Scratch workshop UPDATE

Let me know if you have any questions about the sheet or if you have any classroom successes!!

 

A Raspberry Pi Scratch Resource

Tomorrow I will be running a workshop for MozFest, a massive community event in London organised by Mozilla. Young Raspberry Pi enthusiast, PiNet creator and all round evil genius Andrew Mulholland somehow found himself organising a Rasperry Pi Zone at the event (I definitely had no involvement in this whatsoever) and so he coerced/bullied me into helping out.

This will be my first time running a workshop by myself for strangers (working with children you’ve known since they were four really doesn’t count) and I’m a little bit nervous, but I am pleased with the worksheet that I’ve created, so I figured it was worth sharing it with you guys. If you’d like to take a look, it can be found here. Please feel free to take it and use it in your own classrooms if you think it’s useful.

I’ve tried to make the worksheet easy to follow and easy to use with minimal resources – you need a Raspberry Pi with either Scratch GPIO or Raspbian Jessie, a PiStop, a PIR sensor and some female to female cables and that’s about it!

I’m planning on introducing the workshop by taking about the Pi and what you need to get it started; it never ceases to amaze me how little children know about the actual parts of a computer and most of them think that the monitor is the computer itself, so I like to spend time talking about what the parts do – the screen is so that you can see what it is thinking, the the mouse and keyboard are so you can control how it thinks, the SD card is it’s brain so that it can think and store memories, if you want to hear what any sound you need to plug in some speakers, if you want it to connect to the internet you need to give it a wifi card etc. The whole point of the Pi is to help children understand computers better so let’s make sure we’re using it properly!

You’ll be pleased to hear that I’ve forced myself to cut back on extra curricular activites after this weekend so hopefully I’ll have a bit more time to blog and try things out – I have so many toys in my collection ready to go!!

Thanks for reading and I hope the resources is of use to you!

Cat

Egham Jam & Picademy Round 2

As some of you may have noticed from my twitter, I’ve recently been invited to talk a couple of times about the things I’ve been doing since I attended Picademy last year. Firstly, I went to Egham Jam and met the lovely Albert Hickey, as well as a bunch of lovely and enthusiastic Pi people. Albert was showcasing his mind reading, flappy birds game, which had decided not to play ball, but was still interesting nevertheless. I also took a look at Seven Segments of Pi – a simple DIY introduction to coding and making, which really interested me and, when I have more time, I will definitely be taking a proper look. I was realy grateful to have the opportunity to talk to a room full of people which included school governors, children and makers. There were lots of questions, mostly from governors, who were really keen to get their schools involved with Coding Evening.

My next stop was day two of Picademy in Cambridge, where Carrie Anne Philbin had invited me to speak to the current cohort of RCEs about my journey over the last twelve months. It was a strangely exhilerating experience for me since it was exactly a year to the day since I attended Picademy and it was so refreshing to feel the energy and enthusiasm in the room. What I was not expecting was for Carrie Anne to tell the ‘students’ that I’d be on hand to do some primary level Scratch projects should anyone want to do that for their independent project so I was a little bit anxious when I sat down with two lovely ladies, Gill & Carol, to come up with a project that they could take home and show to their headteachers and demo easily in the staffroom. They both insisted that they wanted to use only the resources they had been given in their goodie bags, so we were lucky that they’d been given both a PiStop and a CamJam EduKit.

Without any input from me, the ladies came up with a project that I’d been looking at for a number of months, but still hadn’t put into practice: using Scratch with the PiStop, then the EduKit to demonstrate how to use a breadboard to create a circuit.

For the first part of the project, I knew what to do so I let the ladies work it out themselves, with a few gentle nudges from me; I was so impressed with their attitude and willingness to give things a go, especially with the difficult task of wiring up the breadboard. Just as we got it all working, Carrie Anne came in with a PIR sensor so that we could make our traffic lights sensitive to motion. All credit goes to James Robinson for help with Scratch as well as Martin O’Hanlon who helped us to solve the problem of how to detect someone jumping the lights! The ladies were really pleased with their final project and couldn’t wait to take it back to school; I felt so excited and proud to have been involved and to help inspire them further.

I was also really pleased with the overwhelming interest the other RCEs had in my Coding Evening project – there were at least three people who were keen to start their own and I’m really excited to be able to support teachers and other community groups with sharing their learning and ideas.

So, I’ve attended Picademy for the second time and, once again, I’ve left feeling ultra enthusiastic after meeting a great bunch of people who are all so eager to teach the new curriculum properly. I loved my first experience at Picademy, but I loved my second experience too and it still counts as my best training EVER. If you’ve not applied yet, make it your first priority next term – convince your SLT to let you take a couple of days off, do whatever it takes to get yourself up to Cambridge, or wherever else the course might be.

So, a final note, on Sunday, I fly over to Amsterdam to take part in ADE training with Apple (Apple Distinguished Educator) and I plan on wearing my Raspberry Pi Certified Educator badge with pride.