Tinkerbell's Wings!
I made a Tinkerbell costume with moving wings. This dress also plays a magic wand audio to accompany it's magic wings! The video of this build can be found at the very last step!
Supplies
For build:
2 Servo Motors
18-Gauge wire
Tulle (for wings!)
Dress
Hot glue gun + Glue
Elastic band
For circuit:
Breadboard
Arduino Nano2040 Connect
Data cable
6 Male Connector wires
2 Aligator to Male wires
Speaker
Form Wings
Form the wings for the project by bending the 18-gauge wire into any shape you want! Do this twice to form two wings. Make sure to leave some excess wire at the end of the form to attach the wings to the servo later! (step 3)
Add Tulle to Wings
Using the hot glue gun, attach the tulle to the wing frames you made in the previous step! Do this for both wings.
Attach Wings to Servo Arm
Wrap the excess wire you left behind earlier around an arm for each servo motor. This is how I chose to do it. After doing this for both wings, you can set them aside for now!
Set Up Base for Servo
Use your elastic and measure enough to wrap around your (or whoever is wearing the costume!)'s bust. Attach the servos to the elastic. These should lay on the back of the wearer since this is where the movement of the wings will be coming from.
Attach Wings to Base
Simply connect the servo arms that are attached to each wing to one of the two servos on your elastic base. Great work! You're done with the crafty part of this project!
Wiring!
Connect the 6 male connector wires to the 6 ports across the 2 servos. Wire the circuit as shown in the photo.
Write Your Code!
This is the code I used! I am using an audio file named "wand.wav" in the folder "beats" found on my Arduino!
import board, time, pwmio, digitalio
from adafruit_motor import servo
from audiocore import WaveFile
try:
from audioio import AudioOut
except ImportError:
try:
from audiopwmio import PWMAudioOut as AudioOut
except ImportError:
print("This board does not support AudioOut")
pass
audio= AudioOut(board.D2)
path= "beats/"
pwm = pwmio.PWMOut(board.D5, frequency = 50)
servo_1 = servo.Servo(pwm, max_pulse = 2250)
pwm1 = pwmio.PWMOut(board.D6, frequency = 50)
servo_2 = servo.Servo(pwm1, max_pulse = 2250)
def play_sound(filename):
with open(path + filename, "rb") as wave_file:
wave = WaveFile(wave_file)
audio.play(wave)
while audio.playing:
wings()
def wings():
for angle in range(0, 181, 5):
servo_1.angle = angle
servo_2.angle = abs(180-angle)
time.sleep(0.05)
time.sleep(0.5)
for angle in range(180, -1, -5):
servo_1.angle = angle
servo_2.angle = abs(180-angle)
time.sleep(0.05)
time.sleep(0.5)
while True:
play_sound("wand.wav")
Hide the Circuit and Finish the Build!
Hide the circuit and speaker to the best of your ability! It can be in a cute bag or even just laid under the skirt of a dress! Finish off your build by completing the costume! Accessorize to your heart's desire!