Thinking about animatronics
I’ve been invited to a play workshop in Leeds at the end of the month and that in turn has got me thinking about animatronics.
Basically we plan to make some gnomes and make them move. Two key factors here are making the moving parts light, the other is some kind of control. As the gnomes don’t have to last particularly long, foam or card would be the obvious choice for the moving parts and those can be easily crafted during the day long session.
Motion control
I’ve collected a few Raspberry Pi’s over the years, one R1 and two zeros, so they seemed like good choices for controllers. Given that the Pi can’t drive a lot of current I also bought a couple of controller boards.
The first board is the RaspiRobot Board from Simon Monk. This has:
- 2 x H-Bridge (for controlling motor speed and direction)
- 2 x Open Collector outputs (for switching things)
- 2 x Switch inputs
- Regulated power (to power pi from a battery
The second board is the Picon Zero from 4tronix. This has:
- 2 x H-Bridge (for controlling motor speed and direction)
- 6 x digital or PWM outputs (for switching things)
- 4 x Analogue or digital inputs
- Connector for external power
Both boards have screw terminals which means I can put things together on site without needing to solder.
I thought it would be a good idea to get a simple driver board for a stepper motor too, so I picked on that I had used on the Topsy Turvy Clock
Headless Raspberry Pi
As I don’t want to cart a TV or monitor all the way to the workshop, I expect the Pi will be run headless. For that reason I’ve got a USB to TTL adapter so I can connect to the console and configure the Wifi on the board. Once the network is connected then an SSH connection can be made. I’m waiting on that to arrive so I can practice the technique. An alternative is to use a Linux machine to edit the SD Card directly. That maybe a possibility if the cable approach proves arduous.
Software
For the software on the Pi, I looked at Scratch as that’s supposed to be good for novices. However the way Scratch interacts with the GPIO pins is really horrible. I believe there is some work planned to use the Scratch replacement Snap! to make this process more acceptable. I also looked at Python as that’s the favourite language for the Pi, this can be quite straight forward to use but it does require some programming effort.
I settled on Node-Red, “a tool for wiring together hardware devices, APIs and online services in new and interesting ways” this has abstraction capabilities so I can present a user with a “Stepper motor” or “Servo” rather than them having to know the details of the hardware or implementation. It also runs as a Web Service so you can code it from your tablet or computer connected to the same network.
Removing the Pi
Whilst looking at servos I spotted some really simple servo testers.
These have a manual mode where you set the position with a dial but they also have a pan mode where the servo moves from one limit to the other. I’ve bought a few of these as they seem a great way to set-up simple motion without the need to do any coding. So I’ll be taking these along as a backup option.