Description
When the cap of a bottle is screwed on, the bottle is not enchanted. But, when the lid of the bottle is unscrewed, the contents inside the bottle light up and change different colors!
Materials
- 3 LEDs (Red, Green, Blue)
- 3 220k ohm resistors
- 1 potentiometer
- 1 diffuser
- 1 arduino uno
- 1 breadboard
Code
/* * Code Adapted From: http://www.arduino.cc/en/Tutorial/AnalogInput */ int sensorPin = A0; // select the input pin for the potentiometer int greenLedPin = 11; // select the pin for the LED int blueLedPin = 10; int redLedPin = 9; int sensorValue = 0; // variable to store the value coming from the sensor int potPin = A1; // Analog input pin that the potentiometer is attached to int potValue = 0; // value read from the pot int led = 9; // PWM pin that the LED is on. n.b. PWM 0 is on digital pin 9 int i = 1; //to drive the movement through the lights int valueGreen = 125; int valueRed = 75; int valueBlue =125; void setup() { // declare the ledPin as an OUTPUT: pinMode(greenLedPin, OUTPUT); pinMode(redLedPin, OUTPUT); pinMode(blueLedPin, OUTPUT); // initialize serial communications at 9600 bps: Serial.begin(9600); // declare the led pin as an output: // pinMode(led, OUTPUT); } void loop() { // read the value from the sensor: sensorValue = analogRead(sensorPin); Serial.println(sensorValue); // turn the ledPin on if (sensorValue > 375) { analogWrite(greenLedPin, 0); analogWrite(redLedPin, 0); analogWrite(blueLedPin, 0); } else { analogWrite(greenLedPin, valueGreen); analogWrite(redLedPin, valueRed); analogWrite(blueLedPin, valueBlue); valueGreen += i; if (valueGreen == 255) { i = -i; } if (valueGreen == 125) { i = -i; } delay(20); } }