Problem 3 (25 points) - Write an Arduino program that does the following: An Ard
ID: 2292511 • Letter: P
Question
Problem 3 (25 points) - Write an Arduino program that does the following: An Arduino has the following components attached- an on/off type light sensor connected to digital pin 4 (a digital input), a potentiometer is attached to analog pin 0 (an analog input, obviously), and 5 red LEDs that are connected to digital pins 3-7. The light sensor gives a HIGH voltage when it is light out and LOW voltage when it is dark. The potentiometer voltage varies between 0 V and 5 V depending on tht it asume that the LEothe digial pins with proper curent- limiting resistors. Write an Arduino program that: 1. When the room lights are out (ie. when the light sensor is producing a LOW voltage) will turn on 2. If vpotExplanation / Answer
int LED1 = 3;
int LED2 = 4;
int LED3 = 5;
int LED4 = 6;
int LED5 = 7;
int sensor = A0;
void setup()
{
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(LED4, OUTPUT);
pinMode(LED5, OUTPUT);
pinMode(sensor, INPUT);
}
void loop ()
{
int sensor_value = analogRead(sensor);
Serial.print (sensor_value);
if (sensor_value < 102) {
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
digitalWrite(LED3, LOW);
digitalWrite(LED4, LOW);
digitalWrite(LED5, LOW);
delay(500);
}
else
if (sensor_value >=102 && sensor_value < 307) {
digitalWrite(LED1, HIGH);
digitalWrite(LED2, LOW);
digitalWrite(LED3, LOW);
digitalWrite(LED4, LOW);
digitalWrite(LED5, LOW);
delay(500);
}
else
if (sensor_value >=307 && sensor_value < 512) {
digitalWrite(LED1, HIGH);
digitalWrite(LED2, HIGH);
digitalWrite(LED3, LOW);
digitalWrite(LED4, LOW);
digitalWrite(LED5, LOW);
delay(500);
}
else
if (sensor_value >=512 && sensor_value < 716) {
digitalWrite(LED1, HIGH);
digitalWrite(LED2, HIGH);
digitalWrite(LED3, HIGH);
digitalWrite(LED4, LOW);
digitalWrite(LED5, LOW);
delay(500);
}
else
if (sensor_value >=716 && sensor_value < 921){
digitalWrite(LED1, HIGH);
digitalWrite(LED2, HIGH);
digitalWrite(LED3, HIGH);
digitalWrite(LED4, HIGH);
digitalWrite(LED5, LOW);
delay(500);
}
else
if (sensor_value >=921) {
digitalWrite(LED1, HIGH);
digitalWrite(LED2, HIGH);
digitalWrite(LED3, HIGH);
digitalWrite(LED4, HIGH);
digitalWrite(LED5, HIGH);
delay(500);
}
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.