Be brave!

Uncategorized

Everyone has to start somewhere. I started using Python around a year ago, but have no formal training in it. I expect this makes me a beginner.

So why am I writing tutorials if I’m not an expert? Well, I figured there are a lot of people in the same boat as me. How many times have you blindly followed a tutorial, made something work, and then had absolutely no idea why it worked? Been frustrated that you think you’ve followed it correctly, but have no clue why it’s not working? This is why I started to write tutorials. If I am putting the effort in to find out why something works, I want to share that effort. I want to overexplain, because you can always skim over extra info, but you can’t fill in what isn’t there. I want to be the person you don’t feel daft asking questions of.

I want to know why things work the way they do, and why we put bits into programs and leave other bits out. Why do we have to use sudo sometimes, and not other times? Why is it bad to import something as a new name that you’ve chosen (found that out this week)? Why do you even need to import things? What happens if you don’t? And other such questions.

In a sense, I’m sharing my learning journey with you. I’m making mistakes publicly so you don’t have to (but if you do, I want to show there’s no shame in it). I am asking the experts WHY until they get sick of me. I am finding out there are about a billion different ways to do even the simplest task (maybe an exaggeration, but it seems like it), and whichever way you do it, there will still be a more efficient way. A lot of coding is about doing things the easiest way, but sometimes easiest means that you have to think of future changes that you don’t know about yet.

I’ve done things the difficult way, only to have Jon lean over my shoulder and say “you know, there’s one command that will replace all ten of those lines?” – rather than screaming in frustration I do a little happy dance that I will never have to type out those ten lines again because someone showed me a shortcut. It’s much like learning a spoken language. I’ve found myself in Germany asking for a thing-to-make-fire because I didn’t know the word lighter and I didn’t fancy raw bacon sandwiches on the campsite. I see learning a coding language like that. Until I know the right word, I’ll put together my own version which works for now, but will be happy to replace it with the right word once someone points it out.

Which is why I want you all to keep telling me if I’ve messed something up, or if you think something could be clearer. Just as a Nativity play may not start off as fit for Broadway, doesn’t mean that with constant refinement, talented performers, and a good script, it shouldn’t end up there (yes, Nativity has just started in the West End). I’m going to keep picking myself up and refining my performance until I’m fit for Broadway, and those of you who are more experienced are my coaches.

Halloween Squishy Soundmaker

Setting up a Piglow

Building the Tiny 4WD

Beginning With Blinkt

Googleaisaur

Uncategorized

Been meaning to put this one up for a bit, but time, projects, workshops, work, life, etc.

With the MagPi magazine issue 57 there was this awesome cover freebie – a google ai kit, just add Pi. After scraping all of tesco’s stock for my nearest and dearest, I decided mine would be a lot better off in something more substantial than the card housing that was provided with the kit.

At B&M I found a dinosaur hobby horse, which of course was crying out for conversion. It already had a dinosaur roar in it, which I left in for Obvious Reasons.

Rawr!

The MagPi kit is pretty easy to follow, so I won’t repeat their instructions, the only thing I wish I hadn’t done is run the command

sudo systemctl enable voicerecognizer

because it’s difficult to change things like wifi settings when you go to different places. I should have put it in a crontab instead to run as a background thing.

Here are some build pictures which are pretty self explanatory.

The Googleaisaur is running off a Pi 3 with Google AI kit, powered by an 8000mAh battery pack. It runs for a working day with occasional use by anyone passing.

Pong in a bottle

Uncategorized
DSC_1515

The kit, bought for £9.99 at Menkind.

In which I put a Haynes “retro game” into my recycling. Annoyingly, they’re currently sold out here but at least you can have a look at what the project was supposed to look like. Amazon and Waterstones do them, but at full price.

DSC_1522

Plastic bottle for scale vs original box.

I’m not one for following instructions, and I’m rapidly running out of room to store all the projects I make, so one look at the box and the sheer amount of space inside that wasn’t being used, and I decided to downsize it. Given a choice of a jar, can, cereal box, or a plastic bottle, the bottle seemed easiest to use, although that turned out to be a bit of a mistake. See later.

DSC_1519

The original kit.

So, step one, lay out the components and work out how they’ll fit. The original kit has a coin slot to start the game, but given the space constraints I changed it to a tactile switch. All it needs to do is send a signal to start the game, so I soldered two legs of it (the other two are essentially duplicates) to the points that would have had the coin detector (two bent bits of wire). Soldered all the rest as per the instruction booklet, having remembered to tin my soldering iron, unlike last time when I apparently made some duff joints.  It was straightforward, although I might have to get one of those third arm things.

DSC_1524

Testing it all works.

Step two, test it. Worked fine straight off, so yay and woo!

Step three, make holes in the bottle to fit the controls through. I had initially planned on cutting a hole for the LED display to sit in, but once I figured that they were bright enough to show through the bottle I changed my mind. However, I’d already cut the hole so I lined up the battery holder with that on the back so there’s an easy way to change the batteries without having to take it all apart.

Making holes in thick plastic is harder than it sounds. I used an awl and scissors. Great mess and wonkiness. I tried my Dremel. Nope. Just melted the plastic and coated the tip. Power drill. This worked the best, but left scuffy bits of plastic hanging off. I got rid of them with some nail clippers (choice of tools limited to what I have) and FINALLY it was ready. In all the hassle, I forgot to take any photos.

DSC_1526

Now, I do not have very small hands. Or even small hands. I have giant hands, which although great for spanning more than an octave on a piano, are terrible for fiddly jobs. Still managed to wedge the controls through, and only snapped one tactile switch cap in the process (a success for me).

All that was left to do was to put the caps on the potentiometers that serve as the controls, and then test it in-bottle. There was a squee.

pong

SOME TECH BITS (mostly thanks to google)

If you’re interested, the board has an ATmega8 controller , two shift registers, the LEDs are laid out in a 10 x 12 matrix, and it runs for approximately 10 hours on 3 x AA batteries (4.5v). The linear potentiometers are 10kΩ.

DSC_1521

The board, up close.

The board also has an unused set of 8 ports, and a 6 pole ISP connection that you could use to reprogram it.

Post-Apocalyptic Tiny 4WD

Uncategorized

madmaxine

I’ve always been a fan of the Mad Max series, and also of great mean-looking cars. I recently went to Pi Wars, an event where Raspberry Pi computers are used to control robots to complete a number of tasks, and was inspired to make my own. Having not made a Pi powered robot before, I started with a kit from Coretec Robotics, which is the brainchild of Brian Corteil, and sold by Pimoroni.

C9239BLXgAAIc8f

The kit is so simple to put together (especially if you follow Emma’s instructions here) that it leaves you with a great deal of time to customise the project. Although the kit comes with a front piece to mount a camera on, I don’t have a camera yet so I left it off.

It swiftly became a glue gun frenzy after I’d made the robot chassis itself. Wooden barbeque skewers were my starting block, and then I glued plant markers on to make the sides. I used non slip matting for the “netting”, and a power brick from Poundland to run the pi and motors off. It was fun making fimo skulls and bones, which I threaded on to some strips cut off a chamois leather, and then used the rest of the chamois to make a dress for the doll.

maxinecloseup

Duffed everything up a bit with some matt black paint and some bronze plasticote, and then it was ready to roll.

To make your own, you’ll need a pound shop visit for Things To Glue On, a Raspberry Pi Zero W (wireless and bluetooth useful for remote controls), a Tiny 4WD kit, and a controller. I used a Rock Candy PS3 controller, as Brian has handily put the code for it on github, but I understand he’s now added blue dot control, which means you can use an existing smartphone or tablet to control it.

Eurovision Crown 2017

Uncategorized

I’ll get right out there and say it. I love Eurovision. It’s one of my favourite televisual events of the year (right up there with Tom Hardy reading the cbeebies bedtime story). I decided to mark the occasion by making a visual excitement indicator. The tweets came later.

DSC_1295 (2)

I wanted to show how excited I was about each song during the contest using bright shiny lights, and LOTS of them. I have been doing a lot of stuff with Flotilla, a bright and cheerful system from Pimoroni that supports up to 8 little modules running off a dock (which has an actual octopus printed on the back). One of those little modules, the Rainbow, is a stick with five lights on that you can change the colour of. Bingo. I would actually put seven of them on the crown, but I am a muppet and cut my cardboard too short, and am skilled in the art of being lazy.

DSC_1284 (2)

So, in short, there are five light strips running off a dock connected to a Raspberry Pi Zero (a very small £5 computer), which is running a program that changes the amount of lights on each strip depending on what rating I give a song. I used the Dial module (another Flotilla part) to give a rating with. I can turn the dial to any of 1023 positions (yeah, I can’t tell, which is why the five lights around the edge come in useful) and a line of code takes this and makes it into an “out of five” rating. I can see the rating out of five light up on the dial, which tells me that (hopefully) the light strips are displaying that rating. As a nod to the rainbow glitter joy that is Eurovision, I chose a rainbow light pattern to cycle through, no matter how many lights are on.

DSC_1294 (2)

In the centre of the crown is a Pimoroni ScrollPhatHD mounted to the second Pi Zero, which is a Pi Zero W (£10 tiny computer). The difference is because I need this one to connect to WiFi, because it is running a program that goes to twitter and looks for the hashtag #Eurovision2017, then takes the text from the tweet and adds it to a queue, which then displays as scrolling text across the ScrollPhat display. The code for the program was written by Glenn Jones and is available on github.

DSC_1292 (2)

After I fixed up all the tech (with a fair amount of help from Sandy McDonald because I am a Python noob) I mounted it all on scrap cardboard using a combination of tape and M3 plastic screws, and glued everything shiny I could to it. My Christmas decorations box has taken a hammering. A bit of gold paint and glitter later, and we are complete.

DSC_1297 (2)

Both Pi computers run off batteries, one is using a lithium rechargeable battery, and the other is using a £1 emergency phone charger that I got from Poundland. The batteries are mounted with tape and willpower behind the crown, so the entire rig is wearable and portable.

Have a great Eurovision, whether you’re watching it or not! After the song contest finishes I’ll probably change the hashtag in the program to whatever event I’m at, so look out for it at Maker Faires or RaspberryJams.