Week 18. Dec 17.21 2018 - michelle-qin/Portfolio GitHub Wiki

Finished up the Zoetrope last week. Fixed the last problem (weird noise was occurring when encoder was spun too high and the motor was spinning too fast because the motor was skipping steps) by decreasing the max speed the encoder can reach. Tested Zoetrope with friends who didn’t know the code and they were satisfied, too. No foreseeable issues with current set-up. Pushed most recent code to GitHub.

Started new project: Snake Pendulum System (SPS) What it is: 2 arms. Each arm holds balls of the same size hung from different lengthed strings. When each arm moves, the balls form a distinct S shape, then swing into chaos/disordered pattern, and then finally return to the S shape. The idea is to have 2 arms with different sized balls to show the different movements and how they form complementing shapes.

My Task: The project will include 2 individual buttons to control the 2 pendulums. Pressing a button activates the pendulum so it swings into motion by moving the arm to a certain length. We want the buttons to be inactive after pressing it to move the pendulum into action, that way an accidental push on the button doesn’t immediately affect the performance of the pendulum. I’ll be using a similar concept to the Zoetrope to implement this objective - using 2 timers.

What I did so far: I basically reorganized the Zoetrope code to fit this project. Much of what I wrote for Zoetrope can be used for SPS. The SPS is close to being built, so I currently cannot test my code on it. The pneumatic cylinder (piston) activates the arm ; button includes two colors.

My basic flowchart: If button is pressed to perform Perform (move piston) Turn button red Start timer - button will not respond to any action After timer finishes, automatically move the arm back and turn button green Else Turn button green

Potential Idea: A feature that we would like the completed product to include is the ability for the two arms/pendulums to start their performance at the same time (the swinging patterns of the pendulums are designed to complement each other -- this can only be done when the two arms start moving at the same time, because that affects the swinging rhythm of the balls). I suggested the idea to incorporate a third button to the panel - a button that can move the 2 pendulums in motion at the same time. This can ensure the 2 pendulums start the same exact time (I’m not sure how precise it will be to have the 2 individual buttons for each pendulum being pushed at the same time - a slip of the hand may cause delay for a pendulum to start, and the only way to restart would to wait until the cycle ends (bc of the timer)) plus it emphasizes the main purpose of the project.

Mr. Gibson agreed with this idea, but the panel has already been made with the 2 buttons, so we cannot incorporate the third button at this stage. But this is a good idea to have for future work.