Difference between revisions of "LaserBox"
(Patterns really need to be stored somewhere not-in-code so SD card probably makes sense.) |
(Rough initial idea of filesystem layout.) |
||
Line 64: | Line 64: | ||
=== Remote Configuration === | === Remote Configuration === | ||
Not sure yet, but likely will need some as the project comes along. | Not sure yet, but likely will need some as the project comes along. | ||
+ | |||
+ | == Filesystem Layout == | ||
+ | The patterns are stored on an SD card, formatted as FAT16. | ||
+ | === Overview === | ||
+ | * Root directory holds one directory for each gesture | ||
+ | ** Under each gesture directory, there are numbered pattern files that are chosen randomly each time | ||
+ | * Root directory also holds LASERBOX.LOG which is written to when any events happen | ||
+ | |||
+ | === Example === | ||
+ | * UP | ||
+ | ** 1.PAT | ||
+ | ** 2.PAT | ||
+ | ** 3.PAT | ||
+ | * DOWN | ||
+ | ** 1.PT | ||
+ | * LEFT | ||
+ | ** 1.PAT | ||
+ | ** 2.PAT | ||
+ | * RIGHT | ||
+ | ** 1.PAT | ||
+ | ** 2.PAT | ||
+ | ** 3.PAT | ||
+ | ** 4.PAT | ||
+ | * LASERBOX.LOG | ||
+ | |||
+ | === Pattern File Format === | ||
+ | Pattern files consist of the following: | ||
+ | * Number of frames in file (one byte) | ||
+ | * Frame data for first frame (12 bytes, 6 per plane) | ||
+ | * Frame data for second frame (12 bytes, 6 per plane) | ||
+ | * ... | ||
+ | * Frame data for last frame (12 bytes, 6 per plane) | ||
== Links == | == Links == |
Revision as of 20:37, 12 March 2017
LaserBox is a blinky art thing involving lasers and fog, being designed and built as part of Tiny Galleries 2017. It will drink rain water to generate fog, and soak up the sun to generate its power.
Contents
Project Status
- 2017-03-03: Mux board design sent off for manufacturing, designed laser-cut cardboard plate to hold one plane worth of lasers for test purposes.
- 2017-02-28: Submission accepted!
- 2017-01-21: Started putting together electronics design.
- 2016: Idea and 3D model mostly complete.
Overview
- Box with 6x6 grids of lasers in two axes, and ultrasonic fog generation to make the lasers visible.
- Gesture input to control the patterns
Components
- Arduino Uno (or maybe Mega if required)
- SparkFun MG2639 Cellular Shield for telemetry
- SD card shield (not sure which one yet) to hold patterns
- Proto Shield with connectors for:
- Mux boards
- Liquid sensor
- Gesture sensor
- Phototransistors to monitor fog level
- Okay this is a lot of connectors, might make sense to get a board made for this
- SparkFun APDS-9960 board for gesture recognition
- Liquid level sensor to monitor water level for fogger
- 2x Mux Board
- One for each axis, located on the plate with the lasers
Resource Collection
Power
Power will be solar, stored in a liion battery pack likely. Power system details to be worked out with Little Dada.
Water
Fogger will need water! Given the spring theme, want this to "drink" rain water to run itself.
- Probably need to filter it
- Devices in public need to be prepared to have random things poured into them
- May want to have a valve that only allows water into the holding tank if the weather forecast calls for rain, or something like that
- Would be possible since the project will have a cellular backhaul anyways
- May want to have a valve that only allows water into the holding tank if the weather forecast calls for rain, or something like that
- Would be ideal to have a way of measuring how much water was being taken in
Power Budget
- Sleep
- Gesture: 1mA
- Active
- Gesture: 14mA
Telemetry
I won't be in the same part of the city as the installation likely, so I want to be able to communicate with it remotely to check its status and such.
Alerts
Alerts will happen as soon as an error condition is detected.
- Low water
- Fogger failure
Reports
Reports will be sent out on a regular basis, maybe every 24h or something like that.
- Minutes active in the reporting period
- Usage counts of various gestures
- Hourmeters for fogger and each laser
- Current water level
- Current battery charge
- Solar charge minutes in the reporting period
- Any resource collection activities that took place
Remote Configuration
Not sure yet, but likely will need some as the project comes along.
Filesystem Layout
The patterns are stored on an SD card, formatted as FAT16.
Overview
- Root directory holds one directory for each gesture
- Under each gesture directory, there are numbered pattern files that are chosen randomly each time
- Root directory also holds LASERBOX.LOG which is written to when any events happen
Example
- UP
- 1.PAT
- 2.PAT
- 3.PAT
- DOWN
- 1.PT
- LEFT
- 1.PAT
- 2.PAT
- RIGHT
- 1.PAT
- 2.PAT
- 3.PAT
- 4.PAT
- LASERBOX.LOG
Pattern File Format
Pattern files consist of the following:
- Number of frames in file (one byte)
- Frame data for first frame (12 bytes, 6 per plane)
- Frame data for second frame (12 bytes, 6 per plane)
- ...
- Frame data for last frame (12 bytes, 6 per plane)