This is my own take on a Unicorn Horn for baseball caps or any type of hat. I was inspired by Adafruit's design of the same subject, but I didn't want to see the tabs on the side of the horn where it meets the hat - and it was a bit fragile when printed (and small). So I set out to design a new horn and mounting system (initially for my daughter's Halloween costume this year).
After many iterations, I found one that works very well. There is a mounting bracket that you attach first to the hat with a needle and thread (since this is on the "inside", you don't see any ugly mounting tabs). The NeoPixel 16 and the Gemma are in this piece (The NeoPixel just snaps into place without any glue - the Gemma can be hot-glued in place if desired). The result is a seamless attachment to the hat and a tight click-lock between the horn and mounting bracket. I created the horn without a sharp point, both for durability and to prevent injury if falling.
The 500 mah battery fits up inside the horn. Squeeze the horn a bit (with spreads the battery mounting tabs outward) in order to slide the battery in. I recommend covering the battery in reflective silver metal tape - this makes it more invisible when in the horn and the LEDs are on). I used some metal air duct tape that is very reflective, and it works great!
This horn is set up to use the Adafruit Neopixel 16 ring (any version), a Trinket or Gemma board, and a 500mAh lipo battery (all items I got from Adafruit). The LED's last a long time - up to 3-4 hours on a single charge. You can add a switch somewhere in the circuit if desired, but I just plug in the battery and attach the horn, and let it run continuously. If you get a Gemma board, there is an on/off switch built in, which is nice.
The horn also does not require any supports, resulting in a very clean, easy print, with minimal finishing. Print both pieces vertically with the wide base on the bed in a transparent filament.
I will also post my Arduino code for this that I use if anyone wants it - but basically it just cycles through any colors you put into the code, and it has a cool "spin" effect. You can find similar sketches on the Adafruit web site, which is where I got mine from and modified.
Print both pieces facing vertically with the widest part as the base. I printed mine in Zortrax Z-Glass but any transparent filament can be used.
I've printed layer heights from .19 to .28 with great results. Extruder Temp was 255 degrees for Z-Glass, with a 90c bed (which can be turned off after an inch or so of the print is done).
Minor trimming of the base plate may be required to make it lay flat against the main horn. Just use a razor blade to trim down the tabs until it does...but go slowly to avoid adding any slop.
To attach to a hat, simply sew the mounting bracket on the hat using the holes around the perimeter. I used 6lb fishing line for a strong attachment. But you could use normal thread.
The great part about this design is that it does not ruin the hat (no cutting any holes, etc) and can be removed easily.
The horn simply snaps on. To remove the horn, squeeze it at the base where it joins to the mounting bracket, at 90 degrees to the mounting tabs. This makes the horn slightly longer in the direction of the tabs, and allows it to be pulled off.