반응형

안녕하세요 Hi Create입니다!!

이번 포스팅에서는 아두이노에서 LED를 제어하는 것을 알려드릴게요.


1. LED 제어하기


[1. LED 제어하기]


사용된 부품은 브레드보드, LED 1개, 저항 1개, 점퍼 선 2개 입니다.


먼저 LED와 아두이노 우노 보드를 연결해봅시다.


브레드 보드는 


출처 : 메카솔루션


이렇게 생겼습니다.

여기에 부품들을 연결하고 우노 보드와 연결합니다.


점퍼 선은 

출처 : Code Dragon


이렇게 생겼는데 끝이 뾰족한 선으로 된 쪽을 '수'

수를 넣을 수 있게 되어있는 쪽을 '암'이라고 합니다.


여기서는 양 쪽이 수로 된 케이블을 이용합니다.



LED는 13번에 저항을 이용해 꽂아줍니다.

이유는 LED의 정격전압보다 더 큰 전압이 들어갈 경우 LED가 터질 수 있기 때문입니다.

흰 색선은 GND 즉, (-)극 입니다. 

LED에서 짧은 쪽이 (-)극, 긴 쪽이 (+)극입니다.

이는 대부분의 부품이 마찬가지입니다.


1
2
3
4
5
6
7
8
9
int red = 13;
 
void setup(){
    pinMode(red,OUTPUT);
}
 
void loop(){
    digitalWrite(red,HIGH);
}
cs

위의 코드를 작성해주세요.


우선 아두이노는 C기반이기에 C의 자료형을 사용합니다.

setup()함수는 시작시 한 번만 작동합니다.

이와 달리 loop()함수는 계속 반복해서 작동하죠.


pinMode(red,OUTPUT);

에서는 red, 즉 13번의 모드를 출력으로 정의한다는 것이죠.


우리가 꽂은 13번은 digital 포트에 해당합니다.

우노보드에 DIGITAL이라고 적힌 쪽의 0번부터 13번까지를 말하죠.

하지만 물결표시(~)는 아날로그와 디지털 모두 사용 가능합니다.


DIGITAL 반대편에는 ANALOG IN과 POWER가 있는데요.

ANALOG IN은 아날로그 형식으로 받는 것이고 POWER는 (-)인 GND와 전압을 출력시키는 5V등이 있습니다.


디지털과 아날로그의 차이가 뭐냐구요?

바로 형식의 차이입니다.

우리가 쓰는 언어는 자연어, 기계가 쓰는 언어는 기계어라 하죠.

기계어는 0,1 밖에 없습니다.


디지털은 0,1 즉, HIGH와 LOW밖에 없습니다.

이와 달리 아날로그는 0부터 255 까지, 또는 센서에 따라 1024 까지의 값을 읽어내죠.

즉, 디지털은 단순히 켜고 끌때,

아날로그는 밝기를 조절할 때

이런 식으로 이해하면 쉽습니다.


어쨌든 digitalWrite는 켜거나 끄는 동작을 해줍니다.

HIGH는 켜라는 거죠.

끌땐 LOW를 쓰면 되구요.


이번엔 delay로 제어해보겠습니다.

회로도는 같습니다.



이런 식으로 해주시면 1초를 주기로 켜졌다 꺼졌다를 반복합니다.



공통점을 찾아볼까요?

우선 C의 자료형을 사용했습니다.

int - 정수형이죠.


void setup()은 한 번만 실행됩니다.

pinMode는 말그대로 핀의 모드를 설정해주었습니다.

주의할 점은 꼭 대소문자 구분을 해주셔야 한다는 겁니다.

OUTPUT은 출력으로 사용하겠다고 해둔거구요


loop()는 안쪽의 코드를 계속해서 반복하는 걸 뜻합니다.


digital 

디지털 신호 (0,1)로 받음

analog 

아날로그 신호(자연수, 보통 0~1024) 

Write 

쓰기(출력) 

Read 

읽기(입력) 

이런 식으로 쓰시면 됩니다. 위아래를 조합해서

digitalWrite

digtalRead

처럼 쓰시면 되구요.


delay를 쓰실땐

(초) x 1000 을 한 숫자를 해주셔야 원하는 결과가 나옵니다.

그래서 1초는 1000을 넣는 거구요


이번 글은 여기서 마치도록 하겠습니다.

다음 글에서는 신호등 제어하기를 해볼게요

감사합니다!!

반응형

BELATED ARTICLES

more