[아두이노 기초] Arduino Digital output 아두이노 LED 불켜기

2017. 7. 29. 02:01Arduino


ARDUINO UNO

가장 많이 사용되는 아두이노 우노




[빨강 위]


사진 상단에 GND 부터 0까지는 디지털 포트, 0부터 5 볼트까지 출력 가능하게 해줌.

숫자 앞에 ~ (물결표시)가 있으면 PWM으로 사용가능하다는 의미인데, 나중에 알아보기로 함.


[노랑]


아두이노 자체의 LED가 있는데,

'ON' 은, 전원이 들어오면 LED가 켜지고

'L' 은, 13번 LED라고만 알고 자세한 것은 나중에 알아보기로 함.

'TX', 'RX' 는 input output 보내고 받을 때 불이 들어온다.


[빨강 아래]


사진 하단에 POWER 포트와 ANALOG 포트가 있다.


[파랑]


사진 맨 좌측 상단에 누르는 버튼은 RESET 버튼인데, 아두이노에 업로드한 프로그램이 아예 초기화되는 것이 아니라, 장치를 껐다가 다시 킨 느낌으로 알고 있으면 된다.



아두이노 IDE 다운로드 링크


아두이노 IDE 실행시키면 아래와 같이 setup()함수와 loop()함수가 만들어져있다


1
2
3
4
5
6
7
8
9
void setup() {
  // put your setup code here, to run once:
 
}
 
void loop() {
  // put your main code here, to run repeatedly:
 
}
cs

좌측상단에 v 모양의 확인 버튼을 누르면 컴파일이 되고, 우측 화살표 모양의 버튼을 누르면 업로드를 하게 된다.

컴파일을 할 때, setup()함수와 loop()함수가 없으면 오류가 난다.

또, 현재 내가 연결 해놓은 아두이노 보드와 포트가 맞게 설정이 되어있지 않으면 오류가 나니까 그전에 설정을 아래와 같이 해주면 된다.

보드 및 포트 설정은 IDE 우측 하단에 적힌 Arduino/Genuino Uno on /dev/cu.usbmodem1421 이거 보고 찾아서 설정해주면 된다.






이렇게 보드 및 포트 설정을 마치고 컴파일하고 업로드하면, 아두이노 IDE에서 만든 프로그램을 내가 가지고 있는 아두이노에 적용시킬 수 있다.


그래서 간단한 예로 코드를 짜서 넣어보면,


int led라는 것은 13번 포트이다


setup() 함수에서는 초기에 한 번만 실행이 되는데, 여기서 Digital 포트의 특정포트 하나를 출력OUTPUT으로 사용할지 입력INPUT으로 사용할지 결정을 해줘야한다.

여기서는 led라는 13번 포트를 출력OUTPUT으로 사용한다고 지정을 한 것임.


아두이노는 장치가 죽거나 전원공급이 차단되기 전까지는 계속 무한루프로 돌아가는데, 그 동안에 어떻게 하는지 loop() 함수에서 설정해주면 된다.

13번 포트 LED를 HIGH(켜라)    // digitalWrite(led, 1);

1초동안 기다려라                      // HIGH, LOW를 1이나 0으로 해도 상관 없음.

13번 포트 LED를 LOW(꺼라)    // digitalWrite(led, 0);

1초동안 기다려라                     // 1000이 1초니까 500하면 0.5초 였다.


1
2
3
4
5
6
7
8
9
10
11
12
int led = 13;
 
void setup() {
  pinMode(led, OUTPUT);  
}
 
void loop() {
  digitalWrite(led, HIGH);
  delay(1000);
  digitalWrite(led, LOW);
  delay(1000);
}
cs

이 코드 실행하면 이렇게 1초 동안 LED에 불들어오고 1초 동안 불이 꺼져있는다.

이게 계속 반복된다.

그리고, LED를 꽂아서 하게 되면 LED 긴 다리랑 LED 짧은 다리가 있는데 긴다리가 + 플러스이고, 짧은 다리가 GND 즉 - 마이너스이다.

그래서 13번 포트에 + 긴다리, GND에 - 짧은 다리를 꽂아주면 이렇게 진짜 LED에서도 불이 들어오는 것을 확인할 수 있다.

한가지 알고 가야하는게, 이렇게 LED를 직접 연결해서 사용하는 경우 적정 전압을 넣어줘야하는데, LED는 3V가 필요한데 아두이노는 5V를 출력을 하기 때문에 LED와 아두이노 모두 부담이 될 수 있다.

그래서 저항을 연결해주는 것이 좋지만, 지금같은 경우는 큰 무리가 가지는 않는다.