본문 바로가기

Embedded/Arduino

Arduino - PWM(v0714)

int ledArr[] = {11,10,9, 6,5,3}; // 사용하는 LED번호
int ledsize = sizeof(ledArr)/ sizeof(int);

void setup()
{
  for(int i=0; i<ledsize; i++)
  	pinMode(ledArr[i], OUTPUT);
 
  Serial.begin(9600);
}

void led_fade(int pinNum)
{
  for (int i = 0; i <= 255; i += 5) {
    analogWrite(pinNum, i);
    delay(30);
  }
  
  for (int i = 255; i >= 0; i -= 5) {
    analogWrite(pinNum, i);
    delay(30);
  }
}

void led_fade_all()
{
  
  for (int i = 0; i <= 255; i += 5) {
    for(int n=0; n<ledsize; n++){
    	analogWrite(ledArr[n], i);
    }
    delay(30);
  }
  
  for (int i = 255; i >= 0; i -= 5) {
    for(int n=0; n<ledsize; n++){
    	analogWrite(ledArr[n], i);
    }
    delay(30);    
  }
}


void loop()
{
  led_fade_all();
  for(int i=0; i<ledsize; i++)
    led_fade(ledArr[i]);
}

 

 

포토레지스터 값이 400보다작으면 LED가 켜지는 코드

int ledArr[] = {11,10,9, 6,5,3};
int ledsize = sizeof(ledArr) / sizeof(int);
int THR = 400;
 
 
void setup()
{
  pinMode(A5,INPUT);
  Serial.begin(9600);
  for(int i=0; i<ledsize; i++)
    pinMode(ledArr[i], OUTPUT);
}
void ledON()
{
  for(int i=0; i<ledsize; i++)
    digitalWrite(ledArr[i],HIGH);
}
void ledOFF()
{
  for(int i=0; i<ledsize; i++)
    digitalWrite(ledArr[i],LOW);
}
 
 
void loop()
{
  int inputValue = analogRead(A5);
  Serial.print(" Sensor : ");
  Serial.print(inputValue);
  
  if(inputValue < THR){
    ledON();
    Serial.println(" LED ON");
  }
  else{
    ledOFF();
    Serial.println(" LED OFF");
  }
  
}

'Embedded > Arduino' 카테고리의 다른 글

LilyPad - Final  (0) 2021.07.15
LilyPad - Buzzer Test  (0) 2021.07.15
Arduino - Button(v0714)  (0) 2021.07.14
Arduino - Blink(v0714)  (0) 2021.07.14
Arduino - PIR 센서  (0) 2021.07.14