Week 9 Assignment – Arduino: analog input & output

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:

 

 

Leave a Reply