Introduction: Link Attack Model: the Amiibo Killer!
"This instructable was created in fulfillment of the project requirement of the Makecourse at the University of South Florida (www.makecourse.com)
This Instructable will teach you how to create a fun little project to teach you some c++ programming and the use of the Infrared Sensor and Servo motor for the Arduino Uno. You will need to have access to a 3D printer, Arduino Uno, Wires, Arduino Uno Infrared Sensor and Arduino Uno Servo Motor. This project is a little fighting (crude) Link (from Legend of Zelda) attack model that defeats Amiibos! Amiibos are little useful figurines for the Nintendo Wii U system. This project is crafted to be effective with any Nintendo Amiibo. The Link model will do a simple slash when an Amiibo is put in its sight, and the Amiibo will be knocked off the small platform.
I hope you enjoy it!
Step 1: Step 1: Setting Up the Mechanics
First you will need to have these objects ready to go:
- Arduino Uno
- Arduino to USB adapter (data enabled)
- 3x male to female jumper wires (m2f jumpers)
- 4x male to male jumper wires (m2m jumpers)
- 9 volt battery (optional)
- 9 volt to DC adapter for 9 volt battery (optional)
- double sided tape or Command Strips
- Ultrasound Proximity Sensor (and adapters that should come with it)
- Servo motor
if we set up the mechanics first, it will be easier to program and install in the enclosure later.
You will need to take the 4 m2f jumpers and plug them into the proximity sensor. Then plug the remaining 3 m2m jumpers into the servo motor's 3 terminal slots. These slots are allocated by orange, red and brown cables. Plug one wire into each of these slots. Now, all we need to do is wire these two objects into the Arduino so it can receive data from the sensor and transmit data to the servo.
There is a detailed Circuit Diagram Attached.
- For the Proximity sensor:
- plug the wire coming from the terminal labeled "trig" into port 8 on the Arduino
- plug the wire coming from the terminal labeled "echo" into port 7 on the Arduino
- plug the wire coming from the terminal labeled "VCC" into the port 5V on the Arduino
- plug the wire coming from the terminal labeled "GND" into one of the GND ports on the Arduino
- plug the wire coming from the Orange wire slot into port 9 on the Arduino
- plug the wire coming from the Red wire slot into the port 3.3V on the Arduino
- plug the wire coming from the Brown wire slot into the other "GND" port on the Arduino
When you are done, the system should look like the two photos provided.
Step 2: Step 2: Programming the Arduino
This next step is not too difficult. All we need to do is:
- Plug the Arduino into a computer
- The Arduino come with a BUS to USB cable. Simply plug the BUS (hexagonal) side of the cable into the Arduino and plug the USB (rectangular) side of the cable into your computer
- Open the Arduino IDE program
- You can download the Arduino IDE program at the following address: http://www.arduino.cc/en/Main/Software
- This program will allow you to create code for your Arduino projects and upload them to your Arduino
- Once installed, please open the Arduino IDE
- To program for the Arduino, you need to know a little bit of C++ programming.
- If you are not comfortable programming based on the steps I have provided, please use the code I have provided.
- This code uses the Proximity sensor information from ports 7 and 8 to know how far away an object is. Based on that distance, the Arduino will either trigger the Servo motor to rotate 80 degrees one way, then 80 degrees another way, or do nothing. The Arduino uses port 9 to tell the Servo motor how to move.
- Once you have either the sketch provided or your sketch ready its time to upload it
- To make sure your arduino is connected, go to the "tools" tab and hover over to "Serial Ports". If a port is named "COM4" for example and has a green check on it, that means your arduino is plugged in.
- In the upper left hand corner of the screen there is an icon that looks like an arrow in a circle pointing to the right, click that arrow
- Your sketch should be uploaded to the Arduino and will run immediately. To test this, put your hand up to the proximity sensor and see if the servo motor is spinning.
- If your IDE is telling you there is an error, follow the instructions it gives and try debugging the code
The Arduino IDE INO file is attached called Final_Sketch
Step 3: Step 3: 3D Printing
This project is optimized for the use of Amiibo figurines from the Nintendo Franchise. Therefore I have created a 3D printing file to create a very crude LINK (from legend of zelda) model to hit the Amiibo. To finish this project all we need to do is print and assemble the enclosure and that LINK attack model. I have attached the files to be printed out. For this you will need a 3D printer and the Makerbot Desktop application. If you do not have these, find your nearest 3D printing center.
The files attached are:
- The base of the box enclosure (Labeled DC-47PM or BOX files)
- A custom made lid with room for the Servo Motor and Ultrasound Sensor (Labeled Lid...)
- The Custom 3D link attack mode (Labeled Rough Link Deliverable)
Step 4: Step 4: Putting It All Together
Finally all we need to do is put it all together.
- Filling the Lid
- First we take the 3D printed Lid and fit the Ultrasound Sensor into the two small holes in the raised cylinder area
- When fitting the Ultrasound Sensor, make sure not to force it too much because it might have more reading errors
- We put the servo motor in the rectangular hole in the center of the lid
- When fitting these two components, they should just sit snugly into to hole, however if the holes are too tight, use a small knife to whittle down the holes to fit your components. If they are too large of holes, use some strong tape to keep your components from falling. I personally used strong Command Strips to keep my Servo motor in place
- Since Link needs to fit on the Servo Motor, we can use the cross shaped adapters that the servo motor came with.
- Take one of the adapters and put one side of either double sided tape or a Command Strip onto the adapter. Make sure it sticks well
- Take the other side of the tape or Command Strip and stick it to the bottom of the link model. Preferably in the center of the model to allow for maximum efficient torque
- if you have a spare 9 volt battery and DC to 9volt adapter lying around you can use this power the Arduino
- Simply plug the 9 volt into the adapter
- Then Plug the adapter into the arduino
- This should power the arduino for many hours
- I recommend using an adapter with a switch so you can switch the model on and off to save power
- Now that we have all the components together, we put the Arduino into the box with all the wires running to the servo motor and proximity sensors above it.
- Make sure the arduino is plugged into the battery or USB adapter.
- place the lid on top of the box
- Use machine screws to fasten the lid to the box at the 4 corner holes provided
- Then place the Link model on the servo motor, making sure the adapter is plugged into the servo head securely
Step 5: Step 5: Lets Test This Baby Out!
To test your new exciting Link attack model just do these few easy steps:
- Turn on your 9 volt adapter or plug in your USB wire to a USB power supply
- Make sure your lid and Link model are secured well
- Place an Amiibo on the raised cylindical platform
- Watch your Model hit that Amiibo off with ease
- If you don't have an Amiibo simply place your hand over the cylindrical platform
- Be dumbfounded by your brilliance
The Sketch tells the servo to move Link when something is over the platform. Because of this, and how link was measured and produced, he can hit off any Amiibo with ease.
I hope you enjoyed this Instructable on making your very own Amiibo slaying LINK ATTACK MODEL! :)