Sie sind auf Seite 1von 3

In this individual test, you need 1 push button, 4 LEDs, and a potentiometer, including the Arduino

microcontroller.
Please build a circuit connected to the Arduino with a script that does the following:

1. The 4 LEDs are initially in OFF state/condition.


2. When the button is pressed the 1st time, LED #1 is blinking at a certain period/frequency.
3. When the button is pressed the 2nd time, LEDs #1 and #2 are blinking sequentially (OFF -->
LED #1 is on --> LED #2 is on --> OFF) at a certain period/frequency.
4. When the button is pressed the 3rd time, LEDs #1, #2, and #3 are blinking sequentially, similar
to point 3 above.
5. When the button is pressed the 4th time, LEDs #1, #2, #3, and #4 are blinking sequentially.
6. When the button is pressed the 5th time, all LEDs are OFF back to the initial condition.
7. The frequency is controlled by the potentiometer.
8. Show the number of button pressed in Serial Monitor, during the script running.

timer;
int state;
int ledPin;
int poPin;
int button = 13;
boolean laststate = LOW;
int analogPin = 0;
int counter = 0;
int dim;

void setup () {
Serial.begin(9600);
pinMode (poPin, OUTPUT);
for (int ledPin = 8; ledPin <=11; ledPin++) {
pinMode (ledPin, OUTPUT );
}
pinMode (button, INPUT);
}

void loop () {

int sensorValue = analogRead(A0);


float voltage = sensorValue * (5.0 / 1023.0);
Serial.println(voltage);
if (voltage >= 0 && voltage <=1) {
timer = 500;
}
else if (voltage >1 && voltage <=2) {
timer = 400;
}
else if (voltage >2 && voltage <=3) {
timer = 300;
}
else if (voltage >3 && voltage <=4) {
timer = 200;
}
else if (voltage >4 && voltage <=5) {
timer = 100;
}

int state = digitalRead(button);


if (state == HIGH && laststate == LOW) {
delay(50);
counter++;
}
laststate = state;
Serial.println(counter);

if (counter == 1) {
for (int ledPin = 8 ; ledPin <9; ledPin++) {
digitalWrite(ledPin, HIGH);
delay(timer);
}
for (int ledPin = 8; ledPin>7; ledPin--) {
digitalWrite(ledPin, LOW);
delay(timer);
}
}
else if (counter == 2) {
delay(timer);
for (int ledPin = 8; ledPin <=9; ledPin++) {
digitalWrite(ledPin, HIGH);
delay(timer);
}
for (int ledPin = 9; ledPin>=8; ledPin--) {
digitalWrite(ledPin, LOW);
delay(0);
}
}

else if (counter == 3) {
delay(timer);
for (int ledPin = 8; ledPin <=10; ledPin++) {
digitalWrite(ledPin, HIGH);
delay(timer);
}
for (int ledPin = 10 ; ledPin>=8; ledPin--) {
digitalWrite(ledPin, LOW);
delay(0);
}
}
else if (counter == 4) {
delay(timer);
for (int ledPin = 8; ledPin <=11; ledPin++) {
digitalWrite(ledPin, HIGH);
delay(timer);
}
for (int ledPin = 11; ledPin>=8; ledPin--) {
digitalWrite(ledPin, LOW);
delay(0);
}
}
else if (counter == 5) {
delay(timer);
for (int ledPin = 8; ledPin <=11; ledPin++) {
digitalWrite(ledPin, LOW);
delay(timer);
}
for (int ledPin = 11; ledPin>=8; ledPin--) {
digitalWrite(ledPin, LOW);
delay(0);
}
counter = 0;
}
}

Das könnte Ihnen auch gefallen