The behaviour for the tentacle mechanism has been difficult to figure out.
Our fist attempt was to use the outputs to communicate how many times the button should be pressed. At first, it was fun, but then it just becomes confusing. Sort of similar to: ‘Why is this thing doing this thing, what can I do to change it?’. You can watch a video of this here.
The next attempt was to use the ultrasonic sensor, and have different actions for each distance threshold. There are also ‘mini-actions’ that occur from the changes between these distances. So when you are interacting with it, the ‘dances’ that the tentacle does will be similar, but the introduction to that dance, LEDs blinking, will be different.
But in the code, it’s more than controlling the robot. There are ‘debug’ statements where the robot is saying things. It gives some context as to what the robot thinks is happening.
So as you can see, this robot has some sort of creepy obsession with distance.
And it gets even more interesting when the human goes away:
As for actually displaying the text to the humans, it might be nice to have a tiny OLED display at some distance away from the robot, that only lights up after some amount of time of interaction. This way the humans will pay more attention to the tentacle moving at first, then notice the display and keep interacting.
What is all this ‘be’ functions about in the code? Those are the ‘mini-actions’, as mentioned above. They just blink the LEDs in certain patterns and such. In a future robot, this will be more involved with the social drives/mind/emotions.
Taking long exposures of the tentacle moving has been quite fun. Here are some of my favourites:
Working on documenting it, there were a lot of lessons learnt while building this!
Pretty cool right? All of the electronics were from the Arduino Starter Kit. Here were all the electronics used from it:
2 Yellow LEDs
3 Blue LEDs
2 Green LEDs
Lots of resistors…
It actually takes up all of the pins on the Arduino, which is great. All of the LEDs can be controlled individually, and the RGB and white ones (which are behind the googely eye) can have PWM.
Here are the extra parts and tools that were needed. If you don’t have any of these you should get them, or find a substitute. Some of these are obvious, but this list will serve useful for any newbies looking at it!
Craft sticks, popsicle sticks, coffee stir sticks
Wire, shrink wrap, electrical tape
Soldering iron, solder
Scissors, wire cutters, wire strippers
I started creating the robot just from the popsicle sticks. I wanted to try out a mechanism that was in my brain for a while, a way to control two eyebrows with one motor.
There is a lot of electronics in the starter kit, which is just awesome. It’s way more than you need, which is super for experimenting! I’m probably going to be using the LM293D for hacking the Useless Machine in a later project
So there are some interesting things in there… like a servo, funky coloured thing (aka pinwheel), lots of leds. I painted the eyebrow structure orange and this is how the idea is coming along:
There’s not that many wires for this robot, but I organized them with some tape so it would be quicker to plug in.
All of the pins are used! Yipee! Happiness!
With some testing of the pins and such, we can make the robot look differently!
With some more programming for its behaviour, it is done! (See the video for it in action if you haven’t already). There were some issues when programming it at first- I was writing and testing it when no LEDs were turned on. Since we’re using a breadboard, turning on the LEDs added some noise that I didn’t account for. So I had to scrap the entire program and just rewrite it. It works great now, though! I really like the way it has turned out.
From the side:
Eye from the side:
From the top:
Looking towards the board:
What’s left over (also notice how the eyebrows were cut out of the cardboard from the kit hehe)
It’s really great to have it running on your desk while you are typing away working on something. It goes to ‘sleep’ after 15 seconds or so, and its white LED does the Apple breathing pattern. When I was editing some of the photos, and got up from the chair, my shadow must have triggered the robot and it woke up, singing a little, so I interacted with it a bit! It’s almost like a real creature!
Back to the Arduino Starter Kit now… the book is cool. Makes me wonder if in 10 years, will they be rare like the Heathkit instruction books?
At the end of the video tutorials that go along with the kit, Massimo always says “Arduino is YOU”. So apparently I am a crazy robot builder with an unorganized desk then:
Thank you RS Components for the Arduino Starter Kit. It was really nice to use it to build another robot. They have videos of Massimo explaining the projects and such over here. Everyone should check it out and let their imagination run with it! Maybe even build a sibling to ‘Weird Eye Robot’, haha.
Arduino is YOU! Weird eyebrow robot is CREEPIN’! -)
Also, if you noticed all of the wire, I finally used up the last of my yellow wire, and heat shrink. So right now I don’t have any stranded wire, and I’m running low on the solid core wire. If any of you readers know anyone out there who can donate a spool of wire, and some heat shrink, please let me know! Any help is really appreciated! Thanks!
Today was the final day of building everything before all of our supplies and junk goes away. I can’t believe it is almost the end, and the robot has become very built over the past few days, but it still is not exactly how I want it.
I started off by doing some wiring! Found some yellow LEDs for the eyes, and Niklas is lending me his IR sensor!
Here is how the robot face looks with the LEDs and sensor on it. Its antennas are ends of serial cables!
The LEDs are mounted through the back of the face plate:
Sometime before making the arms, I sent a tweet out for name suggestions. @Kiteaton had a wonderful suggestion- “SCRUMBLEFLIT”, and it just sounds so perfect for this robot. It sounds like “what on earth is going on!” in robot language.
Here are the arms mounted on the stepper motors thanks to much hot glue!
The hand is made out of copper wire, with lots of solder, and the keys say “ROBOT”!
Inside of this can there are screws, to try to make noise. I chose Orange C plus for this because it is tasty and sounds like the programming language, C++.
Took some time to visit the place where I will be showing off SCRUMBLEFLIT, the town hall! It is a pretty decent town hall!
Afterwards I went back and worked with the LEDs for a bit. They are interesting because they cast light along the edge of the circle in the doorknob.
I created a blink that seems believable. I do it by quickly (but not too quickly) fading the LEDs to a low light, to signify the eyelid closing, then it jumps back to bright light, to signify the eye open. Blinking on robots is tricky, because if you don’t do it properly, it looks like as if it is glitching out.
After this, I was working on the arms again. Everything was going fine, the arms were moving, then everything stopped. The power supply wasn’t on anymore. As Niklas later taught me, what might have happened is an exposed wire might have touched the outside casing of the supply, making it go into shutdown mode. Apparently power supplies are really dangerous and can explode a lot. Hopefully it doesn’t make SCRUMBLEFLIT explode!
Anyway, I sort of got it working again a little while later, but the problem now is that it takes ages for the stepper motors to “warm up”. What happens is that everything is plugged in and working, but the steppers aren’t moving. However, if I take the power out of the steppers and plug it back in, you can hear and see it react to the voltage, but it doesn’t keep moving. This has happened before in the previous days, still unsure about what is causing it though. It usually goes away by itself, but when it doesn’t, it is really annoying.
We will see what happens tomorrow. I have to wake up early and move my robot from one place to another since it is in the studio right now, so hopefully it isn’t raining then! Tomorrow will have a lot of explaining about what the robot COULD have done and what it SHOULD do. I enjoy talking about robotics nevertheless though.
Everyone’s projects are absolutely stunning! We created so much in a short amount of time, with unplanned materials. Creativity has some amazing super powers!