|
ARDUINO MEGA 2560 REV3 |
x 1 | |
|
servomotor |
x 4 | |
|
RGB LED |
x 2 | |
|
Speaker 8 ohm |
x 1 | |
|
Resistor 100 ohm |
x 3 | |
|
Resistor 147 ohm |
x 2 | |
|
Resistor 10k ohm |
x 2 | |
|
Bluetooth Shield |
x 1 | |
|
Proximity Sensor |
x 1 | |
|
Infrared Sensor |
x 1 | |
|
Infrared Remote Control |
x 1 |
|
arduino IDEArduino
|
|
|
MIT App InventorMIT
|
Android Vinyl Action Figure Automation
Introduction
I had two Android characters like the one shown following and I thought: Is it possible to attach some mini motors and automate it? Spoiler alert: Yes, It is possible!
Let's go for it!
The brand new Android Vinyl Action Figure
Android Figure setup
First, I had to carefully open the little toy to make room for the three motors and the two RGB LEDs. One motor drives his head, and the other two motors drive his arms and LEDs to his eyes. At first, I thought it would be impossible, due to the robot's little size, but in the end, I did.
The Android Vinyl Action Figure with the motors and LEDs installed
It took a lot of wires to run the motors and LEDs. I was able to get all the wires out from under the little toy.
The Android Vinyl Action Figure and all the wires
Unfortunately, I had to cut a hole in the toy's head to accommodate the motor.
The Android Vinyl Action Figure and its bump in the head
I didn't think the hole was a big deal, but my wife thought it best to make a cap to hide the small bump on her head.
The Android Vinyl Action Figure and its artisanal cap
Base setup
I needed some kind of base to hold the Android figure and house the electronics. After searching, I found a small plastic box that used to be a battery box for a mini TV. I drilled some holes in the box and attached wires, connectors, buttons, and sensors. I attached a 4th motor which is responsible for moving the main body of the toy.
The Base plastic box (outside)
Inside the box, I removed anything that might interfere with the placement of the electronics.
The Base plastic box (inside)
Arduino
Hardware
The main electronics used are the following:
- 1 x Arduino Mega board: used to control all other electronics. I used an Arduino Mega board because I had one available, but it's possible to use some other cheaper alternative, like the Arduino Uno or Nano, for example.
- 4 x servo motors: used to move the head, body, and arms of the robot.
- 2 x RGB LEDs: used in the eyes of the robot.
- 1 x speaker: used to play tones and music.
- Some resistors.
As the project developed other components were added (see the details in the "Versions" section following):
- 1 x infrared sensor: used in the first version (prior to the Bluetooth/Android use) to use an infrared remote to control the robot.
- 1 x Bluetooth shield: used to build the interface between a regular Android phone and the Arduino board. I used a Bluetooth shield because I had one available, but it's possible to use some other cheaper alternative, like the HC-05 Bluetooth Module, for example.
- 1 x proximity sensor: used to detect the presence of a person in front of the robot.
- Some buttons.
Software
I used the Arduino IDE to develop the Arduino code (see the details in the "Versions" section following).
Android
I used the MIT App Inventor to develop the Android code (see the details in the "Versions" section following).
Versions
1.0.0
After the basic electronics for moving the parts of the robot seemed to work properly, I needed to add a way to control the movement. So the first control method I used was an infrared sensor and an old TV remote control to accomplish this task. This simple strategy turned out to be very good and you can see very good results in the video below.
My Droid 1.0.0 (Android Figure Automation)
2.0.0
After the success of the first version, I had a lot of ideas for new movements and functions in my head, so I needed to develop a more efficient strategy for controlling the robot. Then I added a Bluetooth shield to the Arduino and developed an app to control the robot with an Android phone.
Below is the app screen with the programmable movement options.
My Droid 2.0.0 (Prog. Moves screen)
Following is the app screen with the free movement options.
My Droid 2.0.0 (Free Moves screen)
Watch the video below to see the beauty of the Android app controlling the robot via Bluetooth.
My Droid 2.0.0 (Bluetooth Control)
2.1.0
After the robot was fully controlled, I tried to create some form of "auto movement" for it. To get better results and save energy, we added a proximity sensor so that the robot could recognize someone in front of it and how close they were. Watch the video below to see how this feature works.
My Droid 2.1.0 (Auto Move)
2.2.0
In this version, I improved the software to implement something like a Simon game using the robot.
Below is the app screen for the Simon Game feature.
My Droid 2.2.0 (Simon screen)
Watch the Simon Game feature in action in the following video.
My Droid 2.2.0 (Simon Game)
2.3.0
In this version, I've connected a handgrip to the Arduino and upgraded the software to add motion-counting functionality.
Below is the app screen for the handgrip counter feature.
My Droid 2.3.0 (Counter screen)
See the handgrip counter working in the following video.
My Droid 2.3.0 (Handgrip Counter)
2.4.0
One of the tools I use in software development is the Gerrit software. It's a web, git repository server, and software review tool. So I spent some time programming the robot to act as a Gerrit monitor and display the status of the verification process.
Watch the video below to see how this feature works. It's really interesting and funny.
My Droid 2.4.0 (Gerrit Monitor)
2.5.0
In this (so far) final version of the My Droid project, I've only added small improvements and fixed a few bugs.
My Droid 2.5.0 (Main screen)
Final considerations
I had a lot of fun working on the My Droid project. The software and hardware worked perfectly and everyone loved the robot at work and at home.
Have fun...
The master and the padawan
Android Vinyl Action Figure Automation
- Comments(0)
- Likes(0)
- 0 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
More by Marcelo Ávila de Oliveira
- Automatic Trash Can IntroductionHow about using an old CD-ROM drive to create an automatic trash can for the electronics...
- Automatic M&M's dispenser IntroductionI had a commercial M&M's Dispenser like the one shown following and I thought: Is it...
- Android Vinyl Action Figure Automation IntroductionI had two Android characters like the one shown following and I thought: Is it possible ...
- Smart Basketball Scoreboard IntroductionI do basketball training workouts regularly and always track the sections' statistics (n...
-
-
-
kmMiniSchield MIDI I/O - IN/OUT/THROUGH MIDI extension for kmMidiMini
124 0 0 -
DIY Laser Power Meter with Arduino
173 0 2 -
-
-
Box & Bolt, 3D Printed Cardboard Crafting Tools
163 0 2 -