Coding Compendium
A free 100-page ebook collecting my projects and tutorials for Raspberry Pi, micro:bit, Scratch and Python. Simply join my newsletter to download it.
Sean McManus, co-author of Raspberry Pi For Dummies, shows how you can use Scratch on the Raspberry Pi to code flashing lights and a burglar alarm
When I visited the Raspberry Pi stand at BETT 2015, I had a first chance to try the CamJam EduKit, which provides a pack of components for your first Raspberry Pi electronics projects. The kit is affordable and provides everything you need to get started with connecting and lighting up LEDs, connecting buttons, buzzers and motion sensors.
To prepare for the Scratch hackathon at the Raspberry Pi 3rd Birthday party in February 2015, I had a play with it, in particular looking at how Scratch can be used with it. The extensive documentation for the kit (which is great, by the way) is in Python, so this article shows some Scratch examples you can use with the components in the kit. If you don't want to buy the kit, you can source the components separately elsewhere.
For instructions on installing ScratchGPIO, see Simon Walters' website here.
Like many projects, this one began with Lego. To stop the breadboard sliding all over the place, I created a Lego housing for it and the Raspberry Pi that would keep them conveniently together.
My Raspberry Pi is in a PiBow case, which has the pin numbers on it. That was extremely helpful when connecting things up.
To connect up the components, I'll refer you to the CamJam Worksheets for detailed documentation. In particular, I recommend that you build the circuit from Worksheet 6 of Kit 1 (shown below), but I recommend reading the earlier sheets for some context along the way.
Note that:
This simple example turns the Red LED on when you press the button down and turns it off when you release the button.
The sensor value block is used to detect the button press. Broadcasts are used to turn pins on and off.
Note that the pins are numbered differently in ScratchGPIO to how they are numbered in the Python documentation. In Scratch, turn your Pi so the top is facing you and the GPIO pins are in the top right corner, and then count from left to right, top to bottom.
Do you know the game FizzBuzz, where you take it in turns to count. If a number is divisible by 3 you have to say 'fizz', and if it's divisible by 5, you have to say 'buzz'. Here's a version of that here, where Scratch counts and turns the red LED on if the number is divisible by 2, the amber light if it's divisible by 3, and the green light if it's divisible by 5.
If you have the CamJam EduKit 2 (sold separately to kit 1), you can also use the motion sensor in Scratch. Follow the instructions in worksheet 5 for EduKit 2, and add the motion sensor to your existing circuit:
If you have everything connected up, including the motion sensor, here's some code for a burglar alarm, adapted from the code in the CamJam kit. The buzzer can be quite piercing, so I kept some code in the Scripts Area I could click to turn everything off at any time. The amber light flashes when the program is running, the green light is on when no movement is detected. The red light comes on and the buzzer sounds when motion is detected.
Hopefully, those simple demos will enable you to get going with the CamJam EduKit and ScratchGPIO. What can you build using the kit? Time to start exploring!
© Sean McManus. All rights reserved.
Visit www.sean.co.uk for free chapters from Sean's coding books (including Mission Python, Scratch Programming in Easy Steps and Coder Academy) and more!
A free 100-page ebook collecting my projects and tutorials for Raspberry Pi, micro:bit, Scratch and Python. Simply join my newsletter to download it.
Web Design in Easy Steps, now in its 7th Edition, shows you how to make effective websites that work on any device.
Power up your Microsoft Excel skills with this powerful pocket-sized book of tips that will save you time and help you learn more from your spreadsheets.
This book, now fully updated for Scratch 3, will take you from the basics of the Scratch language into the depths of its more advanced features. A great way to start programming.
Code a space adventure game in this Python programming book published by No Starch Press.
Discover how to make 3D games, create mazes, build a drum machine, make a game with cartoon animals and more!