Ever wondered how the chameleon changes its colour through the changes in environmental colours?
There's something called Melanocyte Stimulating Hormone or MSH. If you want to dig more into this please follow this link. The stories apart, I wanted to build ambient lighting system or something like the chameleon. This looks cool and also it helps eyes. I had a NeoPixel LED strip and a spare colour sensor. So I just built my Chameleon (electronic) using Arduino (microcontroller for everyone) as the brain.
1. Arduino Nano (any Arduino is fine) Amazon Link for Arduino Uno
2. Colour Sensor TCS3200 Amazon Link for Colour Sensor
3. NeoPixel LED Strip Amazon Link for Neo Pixel LED
4. Jumper wires and power source
Arduino: Microcontroller which gets the RGB colour sensor data from TCS 3200 and generates the respective PWM signal to control the colour of NeoPixel LED Lights. TCS 3200 Colour Sensor: This sensor contains an array of photodiodes which respond differently to different colours hence it gives out the colour of light falling on the photodiode array. This data can be used to replicate those colours.Neo Pixel LED: This can generate a lot of colours based on the signal given to it. The name of the IC is WS2812B.
Connection - Reaction..The connection has to be done in such a way that Arduino has to read the data from 4 different photodiodes in the TCS 3200. And reflect back those value as data to NeoPixel LEDs to replicate the same colour. 4 photodiodes on the sensors are sensitive to 4 different colour combinations. These produce current signals which are converted into frequency signals i.e I to F conversionThis is read by Arduino pins and then given as input to the NeoPixel LEDs.I don't want to go deep into the working of sensors. This can be understood by referring the data sheets of TCS 3200 sensor.
The code for this project is here.
You can download this and unzip the file to find necessary libraries and code. Please put the libraries into the libraries folder of Arduino IDE. The compile the code and upload it.The code is self-explanatory. I improve my coding by looking at others codes. Any suggestions to optimise the code are always welcome.
Here it works. It's now replicating any colours you are showing it to the sensor. Good applications are
1. Ambient lighting for TVs and PCs, this reduces eye strain as it mimics maximum colour in your screen.
2. Room lighting
3. Mood lighting
4. You can 3D print a chameleon and place all electronics to make it as a real 3D printed chameleon.
Please don't forget to vote me in contests.
Here's a working video.