Final Presentation

Kairu Akaura and Kairu Akaura

Earthquake-Resistant Building

Mid Review

Ryan Constantine and Seamus Mahoney

Octo Shoes

final code

Maksym Kukharenko and Jake Gelb

#include <Stepper.h>


const int stepsPerRevolution = 2048;

Stepper myStepper(stepsPerRevolution, 8, 11, 10, 12);


const int waterSensorPin = A1;

const int threshold = 300;


bool lastWetState = false;   // remembers previous state


void setup() {

  Serial.begin(9600);

  Serial.println("Stepper motor water direction demo starting...");

  myStepper.setSpeed(10); // RPM

}


void loop() {

  int sensorValue = analogRead(waterSensorPin);

  bool isWet = sensorValue > threshold;


  Serial.print("Water sensor value: ");

  Serial.println(sensorValue);


  // ✅ Detect state change

  if (isWet != lastWetState) {

    unsigned long startTime = millis();


    if (isWet) {

      Serial.println("Wet detected → Clockwise for 5 seconds");

      while (millis() - startTime < 5000) {

        myStepper.step(1);   // clockwise

      }

    } else {

      Serial.println("Dry detected → Counterclockwise for 5 seconds");

      while (millis() - startTime < 5000) {

        myStepper.step(-1);  // counterclockwise

      }

    }


    Serial.println("Motor stopped.\n");


    // ✅ Update last state AFTER motor action

    lastWetState = isWet;

  }


  delay(200); // small delay to reduce sensor noise

}

almost final code improved

Maksym Kukharenko and Jake Gelb
#include <Stepper.h>
const int stepsPerRevolution = 2048;Stepper myStepper(stepsPerRevolution, 8111012);
const int waterSensorPin = A1;   // analog water sensor pinconst int threshold = 300;
void setup() {  Serial.begin(9600);  Serial.println("Stepper motor water direction demo starting...");
  myStepper.setSpeed(10); // RPM}
void loop() {  int sensorValue = analogRead(waterSensorPin);
  Serial.print("Water sensor value: ");  Serial.println(sensorValue);
  unsigned long startTime = millis();
  if (sensorValue > threshold) {    Serial.println("Wet detected → Clockwise for 5 seconds");
    while (millis() - startTime < 5000) {      myStepper.step(1);   // clockwise    }  }   else {    Serial.println("Dry detected → Counterclockwise for 5 seconds");
    while (millis() - startTime < 5000) {      myStepper.step(-1);  // counterclockwise    }  }
  Serial.println("Motor stopped.\n");  delay(1000); // pause before next reading}

1/27 Work

Harper Cohen and Kairu Akaura

almost final code

Maksym Kukharenko and Jake Gelb

#include <Stepper.h>


const int stepsPerRevolution = 2048;

Stepper myStepper(stepsPerRevolution, 8, 11, 10, 12);


const int waterSensorPin = 2; // digital water sensor pin


void setup() {

  Serial.begin(9600);

  Serial.println("Stepper motor water demo starting...");


  pinMode(waterSensorPin, INPUT);

  myStepper.setSpeed(10); // RPM

}


void loop() {

  int sensorState = digitalRead(waterSensorPin);


  if (sensorState == HIGH) { // wet

    Serial.println("Sensor wet! Motor spinning for 5 seconds...");

   

    unsigned long startTime = millis();

    while (millis() - startTime < 5000) { // spin for 5 seconds

      myStepper.step(1); // one step at a time for smooth motion

    }


    Serial.println("Motor stopped.");

  }

  else { // dry

    Serial.println("Sensor dry. Motor stopped.");

    delay(500); // small delay to avoid flooding the serial monitor

  }

}



almost final

Maksym Kukharenko and Jake Gelb

third code

Maksym Kukharenko and Jake Gelb

#include <Stepper.h>


const int stepsPerRevolution = 2048;


// IN1, IN3, IN2, IN4

Stepper myStepper(stepsPerRevolution, 8, 11, 10, 12);


void setup() {

  Serial.begin(9600);

  Serial.println("Stepper motor test starting...");


  myStepper.setSpeed(10); // RPM

}


void loop() {

  Serial.println("Turning clockwise");

  myStepper.step(2048);

  delay(1000);


  Serial.println("Turning counterclockwise");

  myStepper.step(-2048);

  delay(1000);

}



27/1/26 Progress Update

Ethan Kwan and 2 OthersJames Popper
Xufeng Cheng

Today we worked on the floorplans, and the c++ code. We also tried to work on linkage but failed to and will continue working on it.

Floors

Kairu Akaura and Harper Cohen
Comparision Floors Kyle.dxf

s