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.