Difference between revisions of "Beacon2"

From Hackstrich
(More modes.)
(LED Program Ideas)
Line 34: Line 34:
 
== LED Program Ideas ==
 
== LED Program Ideas ==
 
# (5 on) Offset LEDs in each layer rotate around the axis with random colour choice for each vertical frame:
 
# (5 on) Offset LEDs in each layer rotate around the axis with random colour choice for each vertical frame:
<pre>
+
#:<pre>
x    x    x    x    x    x    x    x    x
+
#: x    x    x    x    x    x    x    x    x
  x    x    x    x    x    x    x    x    x
+
#:  x    x    x    x    x    x    x    x    x
  x    x    x    x    x    x    x    x    x
+
#:  x    x    x    x    x    x    x    x    x
    x    x    x    x    x    x    x    x    x
+
#:    x    x    x    x    x    x    x    x    x
    x    x    x    x    x    x    x    x    x
+
#:    x    x    x    x    x    x    x    x    x
</pre>
+
#:</pre>
 
# (10 on): Illuminate each row and oscillate up and down the vertical axis with a random colour for each frame
 
# (10 on): Illuminate each row and oscillate up and down the vertical axis with a random colour for each frame
 
# (5 on): Vertical columns of LEDs rotating around the axis with random colour for each frame
 
# (5 on): Vertical columns of LEDs rotating around the axis with random colour for each frame
Line 46: Line 46:
 
# (10 on): "Rain down" LEDs from top to bottom. In each frame any unlit LED immediately below an illuminated LED will become lit and the above LED will go out. When the sequence reaches the bottom they will stay illuminated for a random time (1-5 seconds) then go out. The next step for the LED will be to go to the top layer and repeat.
 
# (10 on): "Rain down" LEDs from top to bottom. In each frame any unlit LED immediately below an illuminated LED will become lit and the above LED will go out. When the sequence reaches the bottom they will stay illuminated for a random time (1-5 seconds) then go out. The next step for the LED will be to go to the top layer and repeat.
 
# (5 on): Rotate around the axis a zig-zag pattern, pick a random colour at the start of the sequence and maintain throughout:
 
# (5 on): Rotate around the axis a zig-zag pattern, pick a random colour at the start of the sequence and maintain throughout:
<pre>
+
#:<pre>
  x x x x x  x
+
#: 01 xx 17 xx 09 xx
   x x x x x x
+
#:   02 16 18 08 10 24
  x x x x x  x
+
#: xx 03 xx 07 xx 11    (03/15, 07/19, 11/23)
   x x x x x x
+
#:   14 04 06 20 22 12
  x  x x x x x
+
#: 13 xx 05 xx 21 xx
</pre>
+
#:</pre>
 +
#* Variables: color, position, direction, speed
 +
#* Following variations support swarms of up to 30 individual LEDs, or a single sequence or up to 24; at 24 it's just a solid line, but that's okay if there are shorter sequences moving about as well.  With just one sequence, we want to limit it lower in size... When two sequences share a single LED, the component colors can combine to the final output for that LED, or the longer sequence/first/last/etc sequence can take precedent.
 +
#*# (1-30 component colors on) Variation 1 - Sparse: Number of instances (1 to 30 weighted low), length (1 to (min (15,30-number)) weighted low), component colors (1 to 30-(number*length))
 +
#*#* length=1: 30 LEDs in one of RGB; 15 in one or two of RGB; or 10 in any combination of RGB
 +
#*#* length=1-2: 15 in one of RGB; 7 in one or two of RGB; 5 in any combination of RGB
 +
#*#* length=1-3: 10 in one of RGB; 5 in one or two of RGB; or 3 in any combination of RGB
 +
#*#* ...
 +
#*#* length=1-10: 3 in one of RGB; or 1 in any combination of RGB
 +
#*# (30 component colors on): Variation 2 - Packed: length (1 to min (24,available_colors)), color (1 to min (3, available_colors / length)); repeat until available_colors == 0
 
# (1 on): Quick flashes of individual random LEDs in random colours.
 
# (1 on): Quick flashes of individual random LEDs in random colours.
# (? on): Spaceshipmode: Center row mostly solid one color, above and below row of contrasting color in 101010 or 100100100 or 11001100 type pattern.
+
# (18-20 LEDs, 28-30 colors): Spaceshipmode: 3 rows on, 2 rows off, center row all LEDs on, any one or two colors; outer two rows (one above, one below) are the inverse colors (R=!R, G=!G, B=!B) rotating around.  Variables: Center color, outer pattern (alternating on/off or 2 on, 3 off, 2 on, 3 off), direction of rotation for each outer row (deosil or widdershins), speed of rotation for each outer row (slow/medium/fast).
 
 
  
 
[[Category:Current Projects]]
 
[[Category:Current Projects]]

Revision as of 19:45, 11 July 2010

Beacon2 is a lighted beacon that will be used on top of a flag pole at Burning Man 2010, to help us locate our camp (and be blinkie and flashy).

Project Status

Basic design work and BOM assembly started.

Design Overview/Ideas

  • Enclosure will be a CD spindle likely, as it's a good shape and easy to work with.
  • Each layer board will have 10 LEDs around the perimeter (every 36deg).
  • Multiple layer boards will stack together to add a vertical component to the image.
  • Boards will communicate via I2C.
  • The whole assembly will be solar charged, using NiMH batteries.
    • Needs to intelligently charge, not like the garden lights do (trickle).
    • Needs to last all night! Last year's beacon was mostly out by 0200.
  • Boards will use the ATmega644P/V chip.
    • Means we can use the Arduino/Sanguino bootloader.

Power Management

  • 2500mAh 4.8v pack for power (4x Sanyo 2700mAh AAs)
    • 12Wh of power at a full charge
  • Charged using a 2.5W SparkFun solar panel, Voc = 9.25Voc, Isc = 310mA
    • Assuming VMAX at PMAX = 80% VOC, then VMAX = 7.4V
    • Solar cell puts out 2.5W in peak sun
    • ~7 hours of peak sun per day on the playa
    • Solar can (in ideal conditions, with 100% efficiency in conversion/charging) put 7*2.5=17.5W of power into the batteries per day
    • Charge timer needs to be set for 8 hours (want to take advantage of extra peak sunlight in the event we get it!)
    • Charge current needs to be set for 310mA
    • Charge temperature limit needs to be set for 40C (NiMH chemistry can only charge safely up to this limit)
  • Needs to run from 8pm-7am or so (11 hours)
    • Given 12Wh of power in the batteries, we can draw 0.916W average from the batteries
    • At 4.8V we need to keep average draw to 190mA
  • LT3652 solar peaking charger IC will be used to charge the batteries
    • CTIMER = TEOC * 2.27 * 10-7 * 1000000 (hours / μF) ∴ CTIMER = 8 * 2.27 * 10-7 * 1000000 = 1.816μF

LED Program Ideas

  1. (5 on) Offset LEDs in each layer rotate around the axis with random colour choice for each vertical frame:
    x x x x x x x x x
    x x x x x x x x x
    x x x x x x x x x
    x x x x x x x x x
    x x x x x x x x x
  2. (10 on): Illuminate each row and oscillate up and down the vertical axis with a random colour for each frame
  3. (5 on): Vertical columns of LEDs rotating around the axis with random colour for each frame
  4. (5 on): Vertical columns of LEDs rotating around the axis with random colour for each LED of each frame
  5. (10 on): "Rain down" LEDs from top to bottom. In each frame any unlit LED immediately below an illuminated LED will become lit and the above LED will go out. When the sequence reaches the bottom they will stay illuminated for a random time (1-5 seconds) then go out. The next step for the LED will be to go to the top layer and repeat.
  6. (5 on): Rotate around the axis a zig-zag pattern, pick a random colour at the start of the sequence and maintain throughout:
    01 xx 17 xx 09 xx
    02 16 18 08 10 24
    xx 03 xx 07 xx 11 (03/15, 07/19, 11/23)
    14 04 06 20 22 12
    13 xx 05 xx 21 xx
    • Variables: color, position, direction, speed
    • Following variations support swarms of up to 30 individual LEDs, or a single sequence or up to 24; at 24 it's just a solid line, but that's okay if there are shorter sequences moving about as well. With just one sequence, we want to limit it lower in size... When two sequences share a single LED, the component colors can combine to the final output for that LED, or the longer sequence/first/last/etc sequence can take precedent.
      1. (1-30 component colors on) Variation 1 - Sparse: Number of instances (1 to 30 weighted low), length (1 to (min (15,30-number)) weighted low), component colors (1 to 30-(number*length))
        • length=1: 30 LEDs in one of RGB; 15 in one or two of RGB; or 10 in any combination of RGB
        • length=1-2: 15 in one of RGB; 7 in one or two of RGB; 5 in any combination of RGB
        • length=1-3: 10 in one of RGB; 5 in one or two of RGB; or 3 in any combination of RGB
        • ...
        • length=1-10: 3 in one of RGB; or 1 in any combination of RGB
      2. (30 component colors on): Variation 2 - Packed: length (1 to min (24,available_colors)), color (1 to min (3, available_colors / length)); repeat until available_colors == 0
  7. (1 on): Quick flashes of individual random LEDs in random colours.
  8. (18-20 LEDs, 28-30 colors): Spaceshipmode: 3 rows on, 2 rows off, center row all LEDs on, any one or two colors; outer two rows (one above, one below) are the inverse colors (R=!R, G=!G, B=!B) rotating around. Variables: Center color, outer pattern (alternating on/off or 2 on, 3 off, 2 on, 3 off), direction of rotation for each outer row (deosil or widdershins), speed of rotation for each outer row (slow/medium/fast).