Gemma Cat

by AndyCallaway in Workshop > Lighting

1325 Views, 10 Favorites, 0 Comments

Gemma Cat

Header_Medium.png

This is a cool mood light I made from a repurposed cat deterrent.

A while ago I had a problem with cats pooping on my lawn. So I bought a couple of these. Basically, they are a cat silhouette stamped out of sheet metal.

They didn't work, so I removed them again. I was going to throw them away. But then I decided to make a cool mood light. My idea was to use a microcontroller and some Neopixels. The Neopixels would go on the back, and cat would be placed near a wall. The light would then reflect off the wall to create the mood lighting.

Supplies

Cat deterrent: https://www.ebay.co.uk/itm/3-PACK-GARDEN-SCARE-CA...

https://www.amazon.co.uk/Defenders-Deterrent-Garde...

(I couldn't find the exact one I used, but just search eBay or Amazon or whatever for "Cat deterrent".)

Adafruit GEMMA v2 - Miniature wearable electronic platform: https://www.adafruit.com/product/1222

Adafruit NeoPixel Digital RGBW LED Strip - Black PCB 60 LED/m: https://www.adafruit.com/product/2837?length=1

(I know; this is a bit pricey for this project, but I didn't use the entire strip. I had a bit left over from another project. But you don't have to use this particular product; Adafruit have a number of different Neopixel strips available, and I'm sure there are other suppliers.)

Momentary push button switch: https://www.ebay.co.uk/itm/5-x-Momentary-push-swi...

Hookup wire.

Sundry bits of scrap wood.

The Base

2018-0307-1743-5480.JPG
2021-0106-1005-2801.JPG
2021-0106-1007-1805.JPG

Because the cat is just on sheet metal, it doesn't stand up on its own. It's designed to be stuck in the ground. So I needed to make a stand for it. The stand was made from a scrap piece of wood 7" x 1¾" x ¾" (180mm x 45mm x 20mm). The size of this isn't critical. I cut the ends at 45° just to decrease its profile a bit. Again, not critical.

The base was an ideal place to put the microcontroller. The microcontroller in this case is the Adafruit Gemma. This is a very small unit, circular with a 1" (25mm) diameter. It was easy to just drill a 1" dia hole ¼" (6mm) into the base to accommodate the Gemma.

In addition to the Gemma, there is a switch to allow you to change modes. I made covers for the top and bottom from 1/10" (2.5mm) MDF, and the switch was mounted into the top one.

There were holes in the cat's feet; presumably you could nail it to a fence or something. I used these holes to screw the cat to the base.

Neopixels

2021-0106-1006-4804.JPG
2018-0313-2213-5496.JPG
2020-1230-1220-3001.JPG

The Neopixel strip comes with a protective silicon sleeve over it. I removed it from this covering as I didn't need it for this project.

I stuck the Neopixel strip to the back of the cat with double-sided tape. Some of these strips come with adhesive already on the back, but this one didn't. Double sided tape did the trick perfectly.

The Eyes

2018-0309-1750-5487.JPG
2018-0310-1528-5488.JPG
2018-0310-1553-5493.JPG
2018-0310-1554-5494.JPG

These cats have marbles for eyes. I thought it would be cool to put lights behind the eyes in addition to the Neopixel strip. Since every LED in the strip is addressable individually, I could then control the eyes independently.

To mount the Neopixels behind the eyes, I made a tiny box. This was because I wanted to shield the eyes from any light getting in from behind, other than from the Neopixels. I cut two Neopixels from the strip, and they were mounted at the rear of the box. I had to cut them into singles because they needed to be spaced exactly right behind each eye, which they were not. They were close, but it made the cat look crosseyed.

The pieces of wire are to hold the Neopixels at exactly the right distance apart, so that they are exactly behind each eye. They also provide electrical connection between the two, to provide power and data. Once I was happy the Neopixels were in the right place, I fixed them into the box with hot glue.

The last thing was to hot glue the whole box behind the eyes. As you can see from the last photo in this group, I was able to line up the box, and therefore the eyes, by temporarily removing the marbles.

Wiring

2021-0106-1005-5803.JPG
gemma.png
2021-0106-1008-4906.JPG
2021-0106-1006-480a.JPG
2021-0106-1006-480b.JPG
2021-0106-1006-4804.JPG

The next task was to wire everything up.

The Gemma has three I/O pins. I used two of these; one for the output to the Neopixel strip, and one to the pushbutton switch. The other connections provided the power.

Gemma pinouts

D0 (Digital read/write 0) - To pushbutton switch

D1 (Digital read/write 0) - To data line (DIn) of Neopixel strip

3V0 (3.3V) - To + line (5V) of Neopixel strip

GND - To GND line of Neopixel strip, and to second pin of pushbutton switch

The pushbutton is easy to hook up; One wire to each side. These are the wires from D0 and GND on the Gemma. It's just a pushbutton so it doesn't matter which way round the wires go.

The Neopixel strip is a little more tricky. Take a look at the last photo in this group. These strips are designed so that you feed the Vcc, GND and Data all in at one end, but you'll see what I have done is fed the power to the strip in the middle. It doesn't actually matter where the power is fed in; it's only the data line that has to go in from the end.

It's also important to remember that the Neopixel strips are polarised, so note which end is the start of the strip. The data must be fed in from the start. It won't work if you feed it in from the other end. You'll see from the last photo that the white wire goes to the far left. Most strips are marked with arrows to indicate which way the data signal travels. The pads are also usually also marked as to which is Vcc, Data and Ground.

Also in that last photo you'll see two more wires coming off the middle of the strip, and going up into the box that holds the pixels for the eyes. Again, it was not necessary to take the power from the end of the strip; like the power going into the strip, this can happen anywhere along the strip's length. The data line, however, must be connected to the end of the strip.

Code

Arduino.png

I modified a NeoPixel library sample sketch. The sketch is byttoncycler.ino by Tony Dicola, created for Adafruit. You can find it at https://github.com/adafruit/Adafruit_NeoPixel/blob...

Downloads

Gemma Cat in Operation

2018-0314-1228-5497.JPG
2018-0312-2341-5495.JPG
2020-1230-1221-1803.JPG
2020-1230-1221-0102.JPG
2020-1230-1221-3604.JPG
2020-1230-1221-5905.JPG

The cat has several "shows", which can be accessed by pressing the button. There are two rainbow modes, a night light, and what I call "Angry Cat", where the cat is completely dark except for its eyes, which light up blood red.

The cat works best when near a wall, so that light from behind creates a subtle silhouette of the cat. This group of photos show the rainbow modes, the night light, and Angry Cat. Check out the eyes!

I actually made the cat a couple of years ago, but I just got around to making this instructable about it.

Well I hope you enjoyed the instructable as much as I enjoyed making the project.

Cheers.