When I first read about the Hats Off challenge, I thought that sounded like a great way to introduce my daughter to microcontrollers. The Gemma is a nice small part with limited capabilities which makes it a great choice for a first project. She's already interested in fashion, electronics, and science, and recently worked really hard on building a crystal radio from scratch for her science fair project, so I thought she would find the Hats Off Challenge a lot of fun. When I explained the challenge to her, my son overheard, and as siblings do, decided that he wanted to be involved as well.
We discussed various possibilities for the challenge most evenings at dinnertime for a couple weeks, and came up with a lot of fun ideas. The fact that the contest was very specific (a hat), and that the Gemma has limited capabilities, with only three I/O lines, helped to narrow down possibilities quickly. Even so, we came up with a lot of great sounding ideas, which made it difficult to pick only one project apiece, which I felt would make the entry form easier to manage.
We had a great time discussing various aspects of the different hats, and my children were excited at the thought of building the designs they'd worked so hard on.
Ultimately, none of the designs we submitted were chosen as finalists for the challenge, but we decided that we've had a lot of fun so far with the contest, and we aren't going to let that stop us!
We need to order parts before we can start to build our hats, but I figured I'd introduce us, and quickly discuss the hats we're not going to build, before we go into the design considerations for the hats we are planning to build.
Maybe someone else will be inspired to build a hat from one of our designs. If you do, please tell us about it!
Here’s a listing of the designs we chose not to go with:
- A workout hat (maybe a sweatband?) that keeps track of the time you've spent exercising using a vibration sensor, and then reminds you to keep moving (using lights and piezo to goad you to move when the vibration sensor has been dormant for too long) until you've reached your workout goal.
- Option to download movement statistics (how long moving, how long dormant, number of reminder activations) – depends on memory available + connectivity of Gemma – looks unlikely, as very limited processor power.
- Possibly use piezo sensor as audible output or as vibration related input – maybe to determine difference between heavy & light workout?
- A Simon Says type game with movement – need to try to reproduce a rhythm given with LED blinks with vibrations – jump, tip, shout, etc.
- Possible types of input:
- Large scale movement (vibration sensor) - jump
- Hat on/off (light sensor inside) or hand on brim (light sensor outside) - tip
- Sound/fast vibration/knock/loud noise sensor (piezo sensor or microphone) - shout
- Key above to three different LEDs, so that the hat can randomly pick a series of motions for the wearer to perform.
- Bonus if there’s a way to include music input – maybe a microphone input for that instead?
- LEDs
- 1) to show rhythm, with colors for types of response (red = jump, blue = tip, yellow = shout)
- 2) to show results – green for pass, red for fail (possibly with piezo sounds?)
- 3) to indicate beginning/end of game
- Possible types of input:
- A camping hat: Lights when dark; piezo emits ultrasound to repel mosquitos. Needs switch for modes (light only, ultrasound only, light and ultrasound, off, maybe others?)
- 1 Gemma pin for LEDs output
- 1 Gemma pin for piezo output with ultrasound to repel mosquitos
- 1 Gemma pin for mode change (Analog in allows >1 mode switch) so lights and ultrasound can be turned on/off
This design was popular until research into ultrasound frequencies turned up the fact that ultrasound doesn't actually repel mosquitos. Oops.
- A backyard astronomer’s hat (same as camping hat, but with mode for low level red lights for illumination so as not to spoil night vision)
- A bicycle helmet with turn signals – uses head motion to indicate turn signals
- 1 Gemma pin for LEDs output
- 1 Gemma pin for mode change (Analog in allows >1 mode switch)
- Possibly a rolling ball for switching? (or 3 tilt sensors from Adafruit catalog) Would need to connect the tilt switches with varying resistances to the analog input, so all three sensors could use a single pin.
- LEDs (and controller) can be sewn into a cover to fit any helmet.
- A spy hat: lights up when dark; piezo buzzer can be trained to send messages in morse code; option for lights blinking in morse code as well
- Possibility for rear-facing ultrasound sensor (1 pin!) to detect anyone sneaking up on you. (Similar to Tyler's case_cap )
- 1 Gemma pin for NeoPixel output
- 1 Gemma pin for piezo output
- 1 Gemma pin for mode change or morse transmit
- 1 Gemma pin for ultrasound sensor. Oops too many pins. We'd have to split this into two projects, use 2 Gemmas or use a Flora.
Tyler – one of the reasons we chose not to enter this hat was that it required too much from the controller. I think your design was simpler by enough to make it work. We'll be interested to see how you do!
- A polite hat - sends messages with translucent writing over specified LED in response to particular motions. e.g. a tip of the hat could indicate "Good day to you" (determined by light sensor inside the hat + vibration sensor) A top hat would have lots of room on the side for messages.
This one is similar to Miles' tipping_hat
- One of the points of this design was that we wanted to be able to send different messages, perhaps chosen with a switch.
- We also thought about replacable messages, maybe written on transparency film with Dry Erase markers.
Our last two designs shared some similarities to Reed's furry_hood.
Each of these designs was discarded either due to complexity or because a large number of pixels were required for the design, which would have been difficult to reproduce using NeoPixels on the small surface area of a hat.
- A emoticon hat: light up LEDs to form various emoticons depending on users mood. Happy, sad, angry, excited – limited by size of hat (0.5” per NeoPixel)
- A wandering eyes hat: one or two matrices of LEDs making up two eyes that will look up, down, left, right, wink, blink, and possibly change colors randomly as the wearer walks around. Again, number of pixels limited by size of hat (0.5” per pixel)
- 9 pixels per “eye” (3x3 square) would require 18 NeoPixels, but would allow only 1 (lit) pixel “eyes”, so very low resolution. However, possibly an overlay with drawn lines on translucent material may help? Winking / blinking can be done by dimming or turning off one or both “eyes”.
- The size can be increased to 4 (lit) pixel eyes, giving 4 corners of eye movement (up&left, up&right, down&left down&right. One more column of pixels per eye (3x4 rctangle) could give up/down/center in addition, needing a total of 24 pixels.
- Larson “scanning” modes are possible as bonus.
- Control with tilt switches?
Next week I’ll introduce my children, and have them describe the hats that they’re going to be making. I’m not making one myself, but will help both of them as necessary to make sure their hats get finished.
We're excited to both see how the finalists perform, and to start work on our own hats, and plan to keep you all included on our builds as well.
Happy hat making!