Introduction: 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

Step 1: 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)

Step 2: 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.

Step 3: 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!

Step 4: 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.

Step 5: 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!

Step 6: Wiring!

Connect the 6 male connector wires to the 6 ports across the 2 servos. Wire the circuit as shown in the photo.

Step 7: 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")

Step 8: 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!