Week 12 – Final Proposal

A Walk Through Time

A Walk Through Time is an interactive artwork that combines a physical clock, motion sensors, a DC motor, a stepper motor, and a digital surreal time-scape made in p5.js. The goal is to let the viewer control the flow of time with simple gestures, and watch both the physical world and the digital world respond in sync. When the viewer waves a hand on one side, time moves forward. When the viewer waves a hand on the other side, time moves backward. When no one is interacting, time pauses.

Arduino: Design and Behavior
The hardware side uses:

Two ultrasonic sensors

A stepper motor that drives a physical clock hand

A DC motor that rotates forward or backward depending on the state

A communication link to p5.js through Web Serial

A second Arduino that receives the state and drives the DC motor

Inputs (Arduino)

Left ultrasonic sensor

    • Detects a hand or body close to it
    • If only the left sensor sees something, time moves backward

Right ultrasonic sensor

    • Detects a hand or body on the right side
    • If only the right sensor sees something, time moves forward

Both sensors together or none

    • Time enters a paused state

The Arduino reads both sensors and decides one of three states: FORWARD, BACKWARD, PAUSED

Outputs (Arduino)

Stepper motor movement

    • Moves a physical clock hand
    • A full rotation is broken into 12 “ticks”
    • In FORWARD state the stepper ticks clockwise
    • In BACKWARD state the stepper ticks counterclockwise
    • In PAUSED state it holds still

Serial output sent to p5.js

    • The Arduino sends a single character representing the state:
    • ‘F’ for forward
    • ‘B’ for backward
    • ‘P’ for paused

Serial output to the second Arduino (DC motor controller)

    • The same state characters (F, B, P) are sent out
DC Motor Arduino

The second Arduino receives the state from the first one:

    • ‘F’ → DC motor spins forward
    • ‘B’ → DC motor spins backward
    • ‘P’ → DC motor stops
p5.js: Design and Behavior

The digital part is a surreal, dreamlike time-space. It reacts in real time to the state coming from Arduino. The design uses motion, color shifts, particles, waves, ripples, and a glowing abstract clock.

Inputs (p5.js)

Serial data from the Arduino

    • Reads incoming characters: F, B, or P
    • Updates timeState
    • Applies visual changes based on the state

Keyboard fallback for testing

    • F B P keys switch states if Arduino is not connected

Behavior of the digital scene

The scene changes in several ways depending on the state, reflecting time going forward, backwards, or stopped.

 

Leave a Reply