Tanglebots workshop preparation

As a finale to the weavingcodes project we are running a series of Tanglebot workshops for all ages to provide a messy introduction into weaving, robotics and coding along with the artifacts and discoveries we’ve made on this project. Tanglebots are prototype/failed weaving robots (weaving is quite hard as we’ve discovered, so we are starting with tangles and seeing what patterns emerge).

We’re using recycled e-waste, Raspberry Pi computers and electronics and the Foam Kernow workshop is part of British Science Week.

Instead of using my cobbled together homemade interface board, we’re using the pimoroni explorer hat (pro) as our robot controller. This comes with some nice features, especially a built in breadboard but also 8 touch buttons, 4 LEDs and two motor drivers. The only downside is that it uses the same power source as the Pi for the motors, so you need to be a little careful as it can reset the Pi if the power draw is too great.


We have a good stock of recycled e-waste robotic toys we’re going to be using to build with (along with some secondhand lego mindstorms):


Also lots of recycled building material from the amazing Cornwall Scrap Store.


In order to keep the workshop balanced between programming and building, and fun for all age groups, we want to use Scratch – rather than getting bogged down with python or similar. In a big improvement to previous versions of the Pi OS, the recent raspbian version (jessie) supports lots of extension hardware including the explorer hat. Things like firing the built in LEDs work ‘out of the box’ like this:


While the two motor controllers (with speed control!) work like this:


The touch buttons were a bit harder to get working as they are not supported by default, so I had to write a scratch driver to do this which you can find here. Once the driver script is running (which launches automatically from the desktop icon), it communicates to scratch over the network and registers the 8 touch buttons as sensors. This means they can be accessed in scratch like so:


Leave a Reply

Your email address will not be published. Required fields are marked *