The goal of this project is to create a working prototype for an Artificial Human Companion. I was having issues with coming up with ideas for this topic but I started a list on my iPad with potential ideas that I could do. Here it is:
I eventually went with a robot that would wave goodbye (or hello!) to you when you leave your house, but I wanted to add in the interactivity of forgetting your keys. So to add on to this project, I also came up with the idea to have it remind you about taking your keys when you walk out the door! I know I always had a problem with this, so I figured it would be a perfect solution to a problem while also having interactivity and looking cute. I decided to call it “Joey the key eater” It will live by your door either hung up on a wall or sitting on a table. It comes with magnetic switch to place on your door so you need to have enough space and room to route those to your door, while also having it in an adequate space. Below is my first initial sketch with features I want to include. The design looks different from the final product, but thats what brainstorming is all about!
Arduino Uno (+arduino program for coding)
Green hook up
Magnetic Door Switch
2 RGB LEDs
6 220 Ohm Resistors
1 10K Ohm Resistor
Hook up wires
9V battery or some sort of power source
Two ping-pong balls
Fabric (of your choosing)
Acyclic (for laser cutting)
We are going to start by assembling the actual robot before we start on coding
First step is the protoboard-game. Start by breaking off 3 pieces of protoboard. 2 need to be roughly 5 by 5 holes and the other one 8 by 8.
Start with the two 5 by 5, Both will be the same, so follow the instructions twice.
Get your RGB LED and poke the four prongs through 4 holes on the protoboard, make note of the longest one which is the power source. It should be set up like this: Red prong, power, green prong, blue prong. Fold them over on the opposite side. Next grab 3 of the 220 Ohm resisters and place them in the same row as the prongs, one in Red, Green, and Blue. These should be roughly 3 holes wide.
That part is done, here comes the fun soldering part. Criss-cross the prong and the resistor so it makes a nice 90-degree cross section. The point at which they join you will be soldering together. Once soldered, cut off the excess wires using an angled wire cutter. Repeat for all three prongs.
Do this twice, and you should have two identical looking pieces.
Next, is hooking up the wire (where you will eventually plug into your arduino)
Since the two RGB LEDs will be going off at the same time, we can hook them together. Grab 4 pieces of wire, preferably wire in the same colors as the prongs, or at least separate the power prong by a different color. For mine, I used 3 yellow wires and 1 black.
You will do the same cross-section as above but with the other end of the resistor and the wires. Once you have that done, you will have four wires with no place to go, repeat the steps above to join these wires with the same ends of the resistors on the the other protoboard. Twist them together, so you have have cable.
When all is said and done, you should have two protoboards connected with four wires
Now pick one of your protoboards and you will repeat the above steps, but adding in 4 additional wires from the same ends of the resistors. Once you have that done, your object should have 4 open-ended wires connected to one protoboard, and another 4 wires form the same spot connecting the other protoboard together. Label each wire with a piece of tape (or if you have different colors, no need too)
Your third protoboard is there to help route the power and ground from all your components.
This can be done in many ways, but I recommend the cross section way that I describe above. One row should be ground, one row is power.
Starting with ground grab 4 hook up wires, get one wire (which will be the main plug in to your arduino board, make sure this is a different color, or label) and cross section that another wire (that will eventually plug into your servo motor), then another wire for your magnetic door switch, then the power wire from your LED hookup from above, then grab the 10K resistor. Solder these together in one row, with the resistor on the spot furthest away form your main hook up wire. The last wire will cross section with the the resistor. Label all your wires!
It should look like this, 5 wires!
Next part is the power source, which is a little easier than the ground, as most of the components get powered through, you can actually skip this section if you want to plug the power source right into the 5V port on your arduino. I opted to keep everything organized, so I routed one cable form the 5v port to the protoboard and soldered that this one other wire (that will plug into the servo motor).
Woo! You’re done with that part, lets move onto the other components.
Take the force sensor, one wire, and the green hook up house. Put the force sensor prongs into the green hook up house, and screw those shut (These components are tricky and fragile so we use the hook up house to make sure nothing breaks). Once you have that taken care off, solder the wire from your ground protoboard (make sure its the wire connected to the 10k resistor) and add one more wire on the other prong.
Magnetic Door Switch:
Pretty easy and follows the same setup as above. Take your door switch and solder a wire on to one end of the cable. The other cable you will solder to one of loose wires on the ground protoboard.
Don’t have a picture, but pretty self-explanatory
The servo motor has 3 plugs, one ground, one power, and one signal. The black and red cables go to ground and power, respectively. Since you already have the wires hanging off of your protoboard, grab one from each side and plug them into the the Servo Motor ports.
Connecting to the board:
At this point, you should have all your power hooked up to the protoboard. Go ahead and plug the ground protoboard into the “GND” on the arduino board, and the power into the 5v on the board.
Next, grab another hook up wire and plug it from the yellow connector (signal) on the servo motor and plug the other end into D12 on the board. Your servo motor is already to work now!
Then, find your extra cable from your magnetic door switch and plug that into D2 on the board
Then, find the the cables R, G, B from the very first step and plug those into D9, D10, D11 respectively.
Last but not least, plug in your FSR into the A0 port on the board.
After all is said and done, you should have all your wires hooked up! Everything should be in working order.
Here is a schematic in case you need extra visual help:
Testing code out:
Using the Arduino IDE, plug this code in:
Make sure to save it! Then plug your board into your computer and upload the code. Make sure everything works as planned, testing out the four use cases. Should look something like this, but in my demo I used a breadboard instead of the protoboards (mostly because ti was the first time for me, so I didn’t want to solder anything together yet)
This is where you can be creative, Using whatever method you want. I opted for laser cutting a box out of acrylic, leaving a space for the motor arm, and two holes (one for the RGB lights, and one for the force sensor
Resource for generating a box: http://www.makercase.com
After modifications, this is what my Rhino file Looked like:
Putting the electronics inside:
Route your RBG LED set up through the hole on the top, and the force sensor through the hole on the side. Make sure everything else fits snug in there. Glue the servo motor to the side of the case, so the motor + Hub arm as space to move using the extra indent on the top.
Enclosure part 2:
Everything should be squared away at this point, plug it back into your computer and make sure nothing was screwed up along the way.
Get a clothes pin and take it apart. Use one side of it and attach the force sensor so the force ring is just over the divet in the clothes pin. Then hot glue this into the hole on the side of your box, leaving enough room so you hang your keys from it.
This is where your creative comes into play. You can cover the case you made with fabric or leave it open (makes it looks like a cool robot that way).
I used ping pong balls on the LEDs to disperse the light and to act like giant robot eyes. I then sewed together a hand and put it on the the hub arm so when the arm moves, you get a nice wave using a hand!
At this point, everything should done and you should have a good looking robot 🙂