15 March 2026

Final Project Team 9: Scaffolding Progress Review

Concept - Final Fantasy I

Our controller is based off a tome inspired by the Final Fantasy franchise, modelled after Final Fantasy 1 specifically. The controller uses an accelerometer to control left/right inputs, two buttons on the front cover for up/down, a potentiometer on the back cover for confirm/cancel, and two light sensors under two different pages for the party and main menus. When the book is opened, and a page is flipped, that menu will open. We designed the controller to feel like you're manipulating a tome through gameplay. The controller itself is going to have the different inputs disguised as different crystals, with the book itself being 3D modelled, and hollow. Our circuit playground will reside in this middle hollow space, and we're still working out the logistics of using paper vs plastic pages, as well as some kind of leather covering for the book.

Sketch

Schematic

(We're not sure how close this is to being correct)






Pseudocode

#include <Adafruit_CircuitPlayground.h> #include <Adafruit_Circuit_Playground.h> // Constraints & Thresholds SET ACCEL_THRESHOLD = 5.0 // Tilt Sensitivity SET LIGHT_DROP_LIMIT = 50 // Light drop limit // Variables VARIABLE lightlevelA // current light level for input A VARIABLE lightlevelB // current light level for input B void setup() { START CircuitPlayground hardware Set neutral position x Set neutral position y set deadzone INITIALIZE lightLevelA = Read Light Sensor A INITIALIZE lightLevelB = Read Light Sensor B pinMode up button input pinMode down button input POTEN_THRESHOLDA = A input POTEN_THRESHOLDB = B input void loop () { // Read accelerometer x // Read accelerometer y // if book tilt left // input move left // if book tilt right // input move right // if potentiometer is rotated left // input confirm // if potentiometer is rotated right // input back // if up button is pressed // input up key // if down button is pressed // input down key // READ LIGHT SENSORS // If lightlevelA is below threshold // input party menu // if lightlevelB is below threshold // input main menu



No comments:

Post a Comment

Note: Only a member of this blog may post a comment.