Jewel Detector Doll
The Concept:
This week’s assignment was about combining digital and analog sensors (switch and potentiometer) to control the behavior of at least two LEDs in a creative way. I figured that using more than two LEDs would lead to too many cables on the board so I decided to go with only two LEDs.
To control the two LEDs with analog and digital sensors, I used my doll (which I’m sometimes scared of because it looks too real) as a jewel detector. If you give the doll gold jewelry (or steel or any type of conductor really, but let’s stick to gold vs non-gold for the purpose of the story), the green LED will start blinking. My job as an assistant is to be on guard; if the green light is blinking everything is fine and the jewelry is gold. But if the light is not turning on and I sense suspicious activity, I press the switch and the red LED turns on.
Breadboard Setup:
Code Highlight:
The LED will only blink if the number received from the potentiometer is greater than 500:
// %%%%%%%%%%%%%%%%%%%%%%%%%%
// convert from 0-1023 proportional to the number of a number of from 0 to 255
if (0 >= inputValue && inputValue <= 500) {
// convert from 0-1023 proportional to the number of a number of from 0 to 255
outputValue = map(inputValue, 0, 500, 0, 255);
}
else if(500 < inputValue && inputValue <= 1023) {
// turn the LED on (HIGH is the voltage level)
digitalWrite(ledPin, HIGH);
// wait for a second
delay(100);
// turn the LED off by making the voltage LOW
digitalWrite(ledPin, LOW);
delay(100);
}
// %%%%%%%%%%%%%%%%%%%%%%%%%%
Production:
A short video of how the jewel detector works:
