int ledArr[] = {11,10,9}; // 사용하는 LED번호
int delayTime = 200; // 깜빡임시간 지정(1초 =1000)
int flag = 0;
int ledCount=0;
int buttonPin=2;
int ledsize = sizeof(ledArr)/ sizeof(int);
void setup()
{
for(int i=0; i<ledsize; i++)
pinMode(ledArr[i], OUTPUT);
pinMode(buttonPin, INPUT);
Serial.begin(9600);
}
void Led_blink()
{
for(int i=0; i<ledsize; i++){
digitalWrite(ledArr[i], HIGH);
}
delay(delayTime);
for(int i=0; i<ledsize; i++){
digitalWrite(ledArr[i], LOW);
}
delay(delayTime);
}
void Led_up2dn()
{
for(int i=0; i<ledsize; i++){
digitalWrite(ledArr[i], HIGH);
delay(delayTime);
digitalWrite(ledArr[i], LOW);
delay(delayTime);
}
}
void Led_dn2up()
{
for(int i=ledsize-1; i>=0; i--){
digitalWrite(ledArr[i], HIGH);
delay(delayTime);
digitalWrite(ledArr[i], LOW);
delay(delayTime);
}
}
void Led_weighted_up2dn()
{
for(int i=0; i<ledsize; i++){
digitalWrite(ledArr[i], HIGH);
delay(delayTime);
}
for(int i=0; i<ledsize; i++){
digitalWrite(ledArr[i], LOW);
}
delay(delayTime);
}
void Led_weighted_dn2up()
{
for(int i=ledsize; i>=0; i--){
digitalWrite(ledArr[i], HIGH);
delay(delayTime);
}
for(int i=0; i<ledsize; i++){
digitalWrite(ledArr[i], LOW);
}
delay(delayTime);
}
void printValues()
{
Serial.print("flag : ");
Serial.print(flag);
Serial.print(" ledCount : ");
Serial.println(ledCount);
}
void LED_ON(int led_state)
{
switch(led_state){
case 0:
Led_blink();
break;
case 1:
Led_up2dn();
break;
case 2:
Led_dn2up();
break;
case 3:
Led_weighted_up2dn();
break;
case 4:
Led_weighted_dn2up();
break;
}
}
void loop()
{
int inputValue = digitalRead(buttonPin);
printValues();
if (inputValue == HIGH) {
if (flag == 0){
flag = 1;
ledCount = ledCount % 5;
LED_ON(ledCount);
printValues();
ledCount++;
}
}
else {
if (flag == 1) {
flag = 0;
printValues();
}
}
delay(100);
}
'Embedded > Arduino' 카테고리의 다른 글
LilyPad - Buzzer Test (0) | 2021.07.15 |
---|---|
Arduino - PWM(v0714) (0) | 2021.07.14 |
Arduino - Blink(v0714) (0) | 2021.07.14 |
Arduino - PIR 센서 (0) | 2021.07.14 |
Arduino - Buzzer (0) | 2021.07.13 |