Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Wire Management

We decided to do an upside-down table that would go under the table and hold the electronics in an organized and hidden fashion. We used Velcro to stick it on for easy access when needed.

Image Removed


Image Added

Circuit Design

For the circuit, we connected an Arduino Uno with a button and motor controller so that the motion of the mechanism could be controlled by pressing the button. The circuit and code are shown below:

Image Added

Code

Code Block
languagecpp
firstline1
titleArduino Uno Code
linenumberstrue
// General param - adjust for greater/lower responsiveness
#define TIMEOUT 50

// Pin information - determined by wiring
#define BUTTON 13
#define POW 9
#define POS 8
#define NEG 7

bool motorRunning = false;

void runMotor() {
  digitalWrite(POS, HIGH);
  digitalWrite(NEG, LOW);
  analogWrite(POW, 255);
}

void stopMotor() {
  digitalWrite(POS, LOW);
  digitalWrite(NEG, LOW);
  analogWrite(POW, 0);
}

void setup() {
  pinMode(BUTTON, INPUT);
  pinMode(POS, OUTPUT);
  pinMode(NEG, OUTPUT);
  pinMode(POW, OUTPUT);

  motorRunning = false;
}

void loop() {
  bool buttonPressed = !digitalRead(BUTTON);
  if (buttonPressed && !motorRunning) {
    runMotor();
    motorRunning = true;
  } else if (!buttonPressed && motorRunning) {
    stopMotor();
    motorRunning = false;
  }
  
  delay(TIMEOUT);
}