Arduino-Powered Cherub Wings

by esarder in Circuits > Arduino

378 Views, 5 Favorites, 0 Comments

Arduino-Powered Cherub Wings

FMMW9IML2G5SUUP.jpeg

I created a small set of articulated wings made of bass wood, powered by a servo attached to an Arduino! I have grand goals for creating a large set of Arduino-powered wings, so I wanted to prototype my designs out on a smaller scale! This design uses a 3D printed pinion and rack attachment to translate a servo's rotational force into a linear force.

Supplies

Wings:

  • Bass wood (can also substitute with other craft wood, like balsa wood)
  • #8-32 metal screws (1" and 3/4")
  • #8-32 metal bolts
  • X-acto knife
  • super glue
  • Foam sheet

Electronics:

Constructing the Wings

v1_assembly_vid
PXL_20220425_001533264.jpg
PXL_20220425_000906720.jpg

Cut strips of wings out of the balsa wood. The relative measurements of the wings and where the joints are placed are pretty important here. I made a model in CAD and played around with it to determine the lengths I used here.


The lengths of the bass wood wing sections here are as follows:

  • 10 in
  • 3 in
  • 4 in
  • 8 in
  • 6 in

All widths were 1 in.

All end holes were 1.5 cm from the edge. From here, it's best to play with various distances of joint holes, as the mechanics really seem to depend on these angles.

Servo Adjustment: Translating Rotational Motion Into Linear Motion

To translate the rotation motion of the servo to linear motion, I 3D printed this rack and pinon attachment. Use some of the #8-32 metal screws (preferably the smaller 3/4" ones) to attach the rack and pinon attachment to your servo.

Take some time to figure out the best orientation of your 3-piece Y setup that moves both wings in relation to the rack and pinion attachment! This will depend on the exact measurements of your wings, how far apart they are from each other, and how far you want the wings to open and close. Once you've found a good place, attach the servo-plus-attachment to the foam board.

You'll need to calibrate the rotation. The linked servo can move 180 degrees, so you'll need to set the servo to it's furthest rotation (either 0 degrees or 180 degrees, depending on the orientation of the servo), then screw the rack

Electrical

servo_attatchment_diagram.jpg

Use the diagram above (helpfully provided by MertArduino here), attach the AA battery pack to the Arduino and the servo.

Here's the code for moving the wings up and down in a loop:

#include <Servo.h>

Servo myservo;  // servo object used to control the servo
int pos = 0;    // variable used to store the position of the servo

void setup() {
  myservo.attach(3);  // attaches the servo connected to pin 3 on the Arduino
}

void loop() {
  // loop code writes to the furthest ends of the servo's rotation with a 2 second gap in the middle
  myservo.write(0);
  delay(2000);
  myservo.write(180);
  delay(2000);
 
}

Final Project!

final_project_cherub.mp4

Next Steps

PXL_20220411_033630981.jpg
PXL_20220407_233139561.MP.jpg
PXL_20220403_044057821.MP.jpg
PXL_20220403_044130628.MP.jpg
prototyping
fabrication.mp4

This serves as a fantastic prototype for what I hope will eventually be a larger set of wings. I prepared some of the materials for that larger set, made of aluminum tubing. I'm hoping to use this smaller set of wings as a way to prototype interactions for the larger set in a less expensive and time consuming way! Here's some of the preparation I've done for the next set!