An Internet of Things enabled teddy bear that dances at filtered Twitter statuses.
To move the teddy bears arms servos is used. It’s a pretty simple setup, some extenders for the arms that is going through the real arms of the teddy bear.
The servos is quite weak, so they bearly move the arms at all.
Mounting of the servos.
The electronic setups contains of a small cheap microprocessor called ESP8266. The ESP8266 have a small WiFI-antenna integrated in the breakout board and can hook up to any access point, or even create one.
I’m running the firmware NodeMCU , it’s a real time LUA interpreter. So the firmware is only programmed once on the flash. To write your own program you just transfer them over serial UART, and the firmware will save the script on flash.
The processor is running at 80MHz so it’s pretty fast.
I’m using Twitters API to fetch the latest post on a specific search term. The API gives me a detailed formated JSON file containing the time and date of the post, as well as the post.
The Twitter API is quite messy to work with, a lot of headers and authentication is required. The ESP would likly handle both the SSL and the big JSON format, but it will steal some CPU-time and it’s hard to work with. I made a PHP-proxy for the twitter feed, parsing the time and date and presenting it in unix timecode. The message of the post is stored as an MD5 hash sum.
On the IoT Nalle i keep track of the already “danced” Twitter posts and only dnaces to new posts.
Final assembly, a lot of hot glue and screws was used.
An interactive game were the visitors can build complex structure with help from an interactive LED balancer.
The installation was part at Vetenskapsfestivalen.
It’s a project by Stig Anton Nielsen read more about it in this post.
TeiSteadyBuilds from stig anton nielsen on Vimeo.
The loadcells is build from 16 layers of conductive carbon packaging film. The recistance ranging from 500k to about 450 Ohm loaded at 8kg. Because it’s a so huge range the loadcells can be directly hooked up in a voltage divider, no amplifiers needed.
3 load cells us used to detect the direction and force of the balance. They are really sensitive to touch, small pressures from fingertips will be easily detected. A backside is that the film tends to be squashed so that it takes long time form the form and resistance to return.
The value from the 3 loadcells is arranged in 3 forces 120 degrees apart. The Forces is calculated into a resultant that is describing a thrust vector.
The thrust vector is indicated with a led strip of addressable WS2812 LED light. The stronger the force, more inbalanced, the greater the red marking will grow.
Att this Google Drive document I’ve collected som measuring data from the loadcells. There’s also some information of how the resultant is calculated.
Regarding the lighting, the last few months I’ve been researching different kind of LEDs and optics.
Our goal is to get really narrow spotlight, maybe 6-10 degrees, and it’s really hard to get a narrow beam like that.
There exists a few models of 5/10mm hole mounted LEDs with build in focusing-optics right into the housing (http://www.ebay.com/itm/310181790384). Those LEDs makes a narrow ~13degree beam which is nice, but the RGB-colors are separated.
When you build an array of small LEDs like this it’s working quite well, but it’s not a perfect spotlight as it casts RGB-shadows (like this http://www.lungstruck.com/wp-content/uploads/2013/06/IMG_1965.jpg).
Another bad thing with smaller LEDs are that it’s hard to get bright enough. If I were to but in 192 5mm LEDs it would only give me 15W of LED power.
Another LED-type that I’ve looked into is big 50W LED-arrays (http://www.ebay.com/itm/380676009599) with complementing 78mm lenses.
These types of LED-arrays give out it’s own LED-pattern when focused narrow enough. You can solve this by adding a diffuser close to the LED-array.
But you would have to add two 78mm lenses to focus down the beam. The narrow beam is the best so far, really crisp and around 6 degrees.
The bad thing is that it weights to much for my small construction, and also it brings upp the cost per unit really much.
Another bad thing is that you’ll need active cooling, which also adds to the weight. I used an ordinary CPU-cooler for desktop-computers.
The latest LED-type I’ve tried is 3W Star High Power RGB (http://www.ebay.com/itm/160582419768).
Ontop of that I’ve placed a special lens called a Collimating lens. Collimating lenses are directing beams from different angles straight into a column of light, it’s best described by this picture (http://www.laserfocusworld.com/content/dam/lfw/print-articles/2012/06/1206LFWnews05web.gif).
The lens I tried also have a built in reflector (http://www.ebay.com/itm/390625279166).
This is the best solution for my project so far. I weighs almost nothing, gives me 50W of power in an array of 16 LEDs.
A negative thing about the collimating lens is the beam is much more fuzzy than the two above LED-types. It gives out a narrow beam, but there is a lot of light leaking through around the beam.
The mainboard för go:toTrash
Casing for the electronics
Amplifier, casing and the speaker for the trashcan. go:toTrash will have a voice controlled by a person speaking into a smartphone somewhere.
Testing out the communication to the motors
Programming and testing the electronics and driveline