For the second demo, I wanted to create a small pinball machine with two switches to control two servos that act as “flaps”
Brainstorming
For brainstorming, I drew what I visualized for the project, and estimated the dimensions.
After visualizing the “pinball machine”, I CADed the files on Solidworks. Below are the files for the parts and assembly files.
Implementation
After lasercutting the individual pieces, I spent an hour filing the holes in the top, as I underestimated the size of the servos. I then glued all the parts together and screwed the servos into the top.
I then built the circuit for the servos and the switches for each servo.
The circuit board, servos, and the structure together created this result:
Obviously, the ball did not travel as well up as I wanted it to go. This was partially due to the steep angle of the structure and also due to the lack of speed of the servos. In the future, I would want to make the structure have a less steep incline.
Code
#include <Servo.h> const int buttonPin1 = 11; // the number of the pushbutton pin const int buttonPin2 = 12; // the number of the pushbutton pin // variables will change: int buttonState1 = 0; // variable for reading the pushbutton status int buttonState2 = 0; // variable for reading the pushbutton status Servo servo1; Servo servo2; void setup() { // initialize the LED pin as an output: pinMode(ledPin, OUTPUT); // initialize the pushbutton pin as an input: pinMode(buttonPin1, INPUT); pinMode(buttonPin2,INPUT); servo1.attach(9); servo2.attach(10); } void loop() { // read the state of the pushbutton value: buttonState1 = digitalRead(buttonPin1); buttonState2 = digitalRead(buttonPin2); if (buttonState1 == HIGH) { servo1.write(150); } else { // turn LED off: servo1.write(80); } if (buttonState2 == HIGH){ servo2.write(110); } else{ servo2.write(180); } }
Leave a Reply
You must be logged in to post a comment.