Falling Rocker

Oshadha Gunasekara – Fall 2018

The Falling Rocker is a rocking-device that builds up energy until it reaches the point at which it falls.

This system’s operating principles falls on its behavior as a dynamic rocker. By shifting the stringed mass in a pendulum-like fashion, the system builds up both kinetic energy. At some threshold, the energy of the system is high enough to tip the rocker over to the point of failure. This shows how energy can be stored in a system in a mechanical sense. Further, this shows the dissipation of energy as when the system fails, there is a loud noise and the rocking motion ceases as the device is on its flat side.

The Falling Rocker sometimes has trouble in building up the required energy to tip over, due to the weight hitting the walls of the device. This could be avoided by either using a different mass or by placing the mass closer to the center of the width.

Arduino Code

</pre>
#include <Servo.h>

// constant variables
const int SERVO_PIN = 5;
const int SERVO_UPPER_LIM = 170;
const int SERVO_LOWER_LIM = 20;
const int SERVO_INCR_AMOUNT = 3;
const int SERVO_DELAY = 10;

// servo variables
Servo small_servo;
int servo_pos = 90;
int servo_dir = 1;

void incrementServo() {
int tmp_pos = servo_pos + servo_dir * SERVO_INCR_AMOUNT;

if (((servo_dir == 1) && (tmp_pos > SERVO_UPPER_LIM)) ||
((servo_dir == -1) && (tmp_pos < SERVO_LOWER_LIM))){
servo_dir = servo_dir * -1;
incrementServo();
}
else{
servo_pos = tmp_pos;
small_servo.write(servo_pos);
}
}

void setup() {
small_servo.attach(5);
Serial.begin(115200);
}

void loop() {
incrementServo();
delay(SERVO_DELAY);
}

You can find the SolidWorks filesĀ here.