/pixel-hat

A top hat covered in neo pixels

Primary LanguagePython

PixelHat

A top hat covered in NEO pixels for the 2017/2018 FIRST Robotics season.

Much thanks to my buddy Gary Dion for suggestions and support.

As seen on Adafruit Show and Tell


https://youtu.be/zwyWCEgpvOA?t=411

As Seen In Circuit Cellar Magazine


https://cc-webshop.com/collections/circuit-cellar-2018/products/circuit-cellar-335-june-2018-pdf

As seen on Youtube


https://www.youtube.com/watch?v=POvtpbCsYLs

TODO

I am using the hat for the Huntsville Christmas parade. Outstanding items:

  • Type in text for marquee
  • Revisit show-and-tell
  • Ability to push frames to hat in development

Parts

Foam:
https://www.amazon.com/gp/product/B00069PFKK/ref=ppx_yo_dt_b_asin_title_o00_s00

Four flexible grids for the body. $148
http://www.ebay.com/itm/282616038722
From adafruit: https://www.adafruit.com/product/2294

One pixel circle for the top. $48
http://www.ebay.com/itm/311923131692
Amazon: https://www.amazon.com/MOKUNGIT-WS2812B-Ring-RGB-Integrated/dp/B077JY6796

Six meters of 144/m strips for the brim and fill for the top. $100.80
http://www.ebay.com/itm/222533276234 From adafruit: https://www.adafruit.com/product/1506

One DC/DC converter from Digikey. $36
https://www.digikey.com/product-detail/en/delta-electronics/E36SC05025NRFA/941-1638-ND/3995553

Two 24V batteries from Lowe's. $20
https://www.lowes.com/pd/Kobalt-24-Volt-1-5-Amp-Hours-Lithium-Power-Tool-Battery/1000090833

One Kobalt battery charger from Lowe's. $40
https://www.lowes.com/pd/Kobalt-24-Volt-Max-Power-Tool-Battery-Charger/1000102901

One foam pad from Amazon. $13
https://www.amazon.com/gp/product/B00069PFKK

Eight 1000uF capacitors from DigiKey. $5
https://www.digikey.com/product-detail/en/rubycon/25PX1000MEFCT810X16/1189-1583-1-ND/3134540

Two logic-level converters from Sparkfun. $6
https://www.sparkfun.com/products/12009

Pi Zero W from adafruit. $10
https://www.adafruit.com/product/3400

Adhesive felt sheets from Amazon. $10
https://www.amazon.com/gp/product/B076P51CHW/ref=oh_aui_detailpage_o00_s00

Contact cement, wires, etc.

I reused two propeller boards from a previous project:
https://github.com/topherCantrell/snap/blob/master/SnapMidi/hardware/SnapMusic.sch
https://github.com/topherCantrell/snap/blob/master/SnapMidi/hardware/SnapMusic.pcb

Construction

CONSTRUCTION.md

For the body of the hat I glued the four flexible grids to the foam curving the foam into a circle as I went. I cut holes in the foam for the wires to pass through. I glued the edges of the foam together to make a cylinder.

I cut the elliptical top from the foam. I shaped the ellipse so that the short axis is the diameter of the pixel circle. I put the pixel circle in the center and filled the long axis in with short pixel strips.

The brim uses 64 strips of 8 pixels. 4 pixels stick out from the body, then folded to put 1 pixel on the edge facing out, then folded again with 3 pixels on the bottom.

Circuit

Web Interface

The Pi Zero is configured as an access point. You connect to it with your phone and load the control page.

SD Card Format

Each animation sequence begins with a three-sector (1536 bytes) descriptor:

  • First Sector
    • Number of frames (4 bytes)
    • Frames per second (4 bytes)
  • Second and Third Sector
    • Color map of 256 colors 256*4 = 1024 bytes

The first sector of the file is a map of the animations. It is a list of 16-byte entries. An entry that starts with a 0 ends the list.

  • Name (null terminated fixed 12 bytes)
  • Starting sector (4 bytes)

Software

Glasses

The B3 strand (edges of the top) only has 54 pixels. A connector in the hat near the left ear extends this strand to the glasses. The glasses are two rings of 24 pixels, 48 pixels total bringing B3 up to 102 pixels.