본문 바로가기
프로그래밍/아두이노

아두이노 LED켜는 예제

by -현's- 2015. 12. 31.
반응형






●브레드보드

- 남땜이 필요없는 프로토타입용 보드이다. 빨간선에는 양의 전압을 연결해주고, 파란선은 접지(GND)로 연결해준다.

중간에는 부품들은 연결하기 위해 사용한다.





●LED

- 소량의 전류만 필요하여 과다 전류가 흐를 경우 불이 날수도 있다. LED가 파손되는 것을 막기위해 LED앞에 저항을 연결해준다.


- LED는 방향성을 가진다. LED를 통과하는 전류는 한 방향으로 흐른다. 긴 쪽 다리는 양극, 짧은 쪽 다리는 음극(GND)에 연결한다.






●아두이노 스케치를 사용하지 않고 단순하게 전류를 흘려 LED를 켜는 사진









●전구를 켰다 껐다하는 예제

- 저항을 연속해서 LED에 연결한다. 보드의 2,3,4번 디지털 출력 핀이 저항에 연결되고, 저항은 LED의 양극에 연결한다.


pinMode()로 OUTPUT으로 설정하고 digitalWrite()를 이용해서 HIGH와 LOW를 번갈아 가면서 주면 LED를 켜고 끌수 있다..



const int ledPin2 = 2;

const int ledPin3 = 3;

const int ledPin4 = 4;


void setup() {

  pinMode(ledPin2, OUTPUT);

  pinMode(ledPin3, OUTPUT);

  pinMode(ledPin4, OUTPUT);

}


void loop() {

  digitalWrite(ledPin2, HIGH);

  delay(500);

  digitalWrite(ledPin3, HIGH);

  delay(500);

  digitalWrite(ledPin4, HIGH);

  delay(500);

  digitalWrite(ledPin2, LOW);

  delay(500);

  digitalWrite(ledPin3, LOW);

  delay(500);

  digitalWrite(ledPin4, LOW);

  delay(500);

} 









●LED밝기 조절하기

- 아두이노 보드에 있는 몇개의 디지털 IO핀은 PWM(pulse width modulation) 특성을 가지고 있다. 보드에서 '~'표시가 되어있다.



- 위 예제와 비슷하지만 digitalWrite() 대신 analogWrite()를 이용한다.


const int ledPin2 = 2;

const int ledPin3 = 3;

const int ledPin5 = 5;


void setup() {

}


void loop() {

  int i;

  for(i=0;i<255;i++){

    analogWrite(ledPin2,i);

    delay(4);

  }

  for(i=255;i>0;i--){

    analogWrite(ledPin2,i);

    delay(4);

  }

  delay(500);

  for(i=0;i<255;i++){

    analogWrite(ledPin3,i);

    delay(4);

  }

  for(i=255;i>0;i--){

    analogWrite(ledPin3,i);

    delay(4);

  }

  delay(500);

  for(i=0;i<255;i++){

    analogWrite(ledPin5,i);

    delay(4);

  }

  for(i=255;i>0;i--){

    analogWrite(ledPin5,i);

    delay(4);

  }

}


 









반응형

댓글