Difference between revisions of "LaserBox"

From Hackstrich
(Rough initial idea of filesystem layout.)
Line 2: Line 2:
  
 
== Project Status ==
 
== Project Status ==
 +
* 2017-03-15: Wrote a GUI tool to generate pattern files.
 +
* 2017-03-12: Started putting together firmware, decided on adding an SD card to hold patterns to make the system much more flexible.
 
* 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-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-02-28: Submission accepted!

Revision as of 14:02, 16 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.

Project Status

  • 2017-03-15: Wrote a GUI tool to generate pattern files.
  • 2017-03-12: Started putting together firmware, decided on adding an SD card to hold patterns to make the system much more flexible.
  • 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
  • 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)

Links