Roxanne Baril-Bédard and Max Lander
We set out to make a good selfie light changed with a color sensor.
Video of the device being used
In the beginning we had some trouble coming up with an idea we both wanted to go with, so we decided to look at the sensors and outputs and see what we both felt excited about using. Max was pretty into trying out one ot the featherwings since that seemed like an accessible way to get into something that otherwise might be a little more challenging. Roxanne was interested in working with the colour sensor (RGB Color Sensor with IR filter and White LED – TCS34725), so we decided to think about something that could use a colour sensor on one end and something that could use that colour information on the other end, settling on the neopixel featherwing.
Setting up the feather wing was quite simple since there is lots of support on adafruit for it.
Neopixel featherwing set up and info we used: https://learn.adafruit.com/adafruit-neopixel-featherwing/overview
Neopixel uberguide used to install the library and get it all sparkly:
Copying over the relevant bits into one of the class examples used to connect to pubhub let us use the colorwipe function from the neopixel example as our light up animation. From there we set the other feather up to send three random values between 0 and 255 (together, giving us a random rgb value to output to the feather), so that we could be sure that the two feathers were speaking to one another.
We thought it would be rather painless to use the sensor. However, we noticed many of the colors were muddy. Going to Kate, she told us we had two options, which we both considered and tried to use – fudging/pumping the numbers on the receiving end or calibrating the sensor.
If we fudge the number on the receiving end instead of calibrating the color picker, we will lose a range in breadth of colors because they will be exaggerated and estimated. We tried to calibrate the sensor by resetting the max values for all of its colors: R G B and Clear, tho we are unsure still what clear is.
We found some forum post (https://forums.adafruit.com/viewtopic.php?f=19&t=72140&sid=a45c405777f4715b60ba78e4f388ac32 ) that went into trying to write a calibration code using the analog sensor calibrating example that come with the IDE.
We tried to read of the color (Red, Green, Blue) for calibration off a computer screen and it absolutely did not work so we resorted to printing a sheet with the colour. The printed colour were not that good either, so we bought some cardboard. Roxanne was really hung up on getting the perfect colours. We then put everything in boxes, the neopixels in a plastic ball (we found this at Michaels and it’s apparently used to make custom christmas ornaments, which Max finds to be a horrific thought), and for the colour reader end, we found an appropriately sized cardboard box. We had to colour the hole around the color reader with a marker so that it would be black, not the brown of the cardboard in order to get a correct colour reading. Since we already had the code set up to send and receive the three values, it was just a matter of plugging the colour reader values into the variables being sent to pubnub.
LED lights used for photography are plentiful, but we thought it would be kind of neat to make something that could be portable and respond quickly to whatever environment it was was in, to have a light that could respond to the colour of someone’s shirt, or the wall you were standing on. Max thought it would be interesting as a potentially useful series of photos lights, as this very basic tech could be expanded to panels of whatever size and it would be very simple to add more lights to the network to create enough environment light to use as professional photo lights.
We also thought about making a software that can calculate complimentary or tertiary colors from one scanned color and to output them on different neopixels to make a more complete photography lighting environment which could be interesting.
As for the other projects this one is inspired from, a lot of the code and the figuring out how to use the colour sensor was found online, on the adafruit website and on arduino forums like mentioned earlier. https://learn.adafruit.com/adafruit-color-sensors/overview