Recently, the AC has been broken, and I've been very curious as too how how an environment can get before it begins impeding my thought process. I wanted a quick indication that tells me if the temperature is freezing, cool, mild, or searing hot, so I decided to make an RGB LED temperature indicator.
In this project the LED will change colours from blue to cyan to green to yellow to pink to red, depending on the temperature of the surrounding environment, with blue indication very cold and red indication very hot.
Connecting the Arduino Power to the Breadboard. Both the temperature sensor and the RGB LED would require to be connected to a common ground and 3.3V so we will use the breadboard power rails.
Wiring the Temperature sensor to the Arduino
Lastly, wiring the RGB LED to the Arduino
//create constants for the three analog input pins
const int redPot = 0; const int greenPot = 1; const int bluePot = 2;
//create constants for the three RGB pulse width pins const int redPin = 5; const int greenPin = 6; const int bluePin = 9;
//create variables to store the red, green and blue values int redVal; int greenVal; int blueVal;
void setup() { //set the RGB pins as outputs pinMode(redPin, OUTPUT); pinMode(greenPin, OUTPUT); pinMode(bluePin, OUTPUT); }
void loop() { //read the three analog input pins and store their value to the color variables redVal = analogRead(redPot); greenVal = analogRead(greenPot); blueVal = analogRead(bluePot);
//use the map() function to scale the 10 bit (0-1023) analog input value to an 8 bit //(0-255) PWM, or analogWrite() signal. Then store the new mapped value back in the //color variable
redVal = map(redVal, 0, 1023, 0, 255); greenVal = map(greenVal, 0, 1023, 0, 255); blueVal = map(blueVal, 0, 1023, 0, 255);
// use the analogWrite() function to write the color values to their respective // RGB pins. analogWrite(redPin, redVal); analogWrite(greenPin, greenVal); analogWrite(bluePin, blueVal); }
Different temperature ranges will produce a different colour LED. Blue is used for very cold indoor temperatures, indicated for temperatures below 16 degrees, followed by cyan, green, yellow, pink/purple, then red for searing hot temperatures. When I touch the temperature sensor the colour changes to purple or red, depending on my body temperature.