728x90

이제 아두이노를 테스트해보기 위해서 간단한 회로를 만들어 보자 먼저 필요한건 아래와 같다.


브레드 보드  * 1

점퍼 케이블 * 2

저항 * 1

LED * 1


브레드보드



브레드보드는 흔히 빵판이라고 부른다.




맨 모서리의 2줄(총 4줄)은 서로 크게 길게 연결되어있다.

사이사이의 줄은 세로로 연결되어있다. 즉 하나의 전선인셈이다.

만약 브레드보드가 없다면 진짜 전선에 해야하는데 이러면 불편한 점이 이만저만이 아니다.


점퍼 케이블



점퍼케이블은 암,수 두종류가 있다. 필요한걸 사용하면되는데 아두이노는 기본이 암 슬롯으로 되어있고

브레드보드역시 암슬롯이므로 수케이블이 필요하다.



여기서 위쪽이 수 케이블이고 아래가 암 케이블이다.


저항



저항은 회로에 있는 소자들을 보호하기 위해서 전압을 강하하기 위해서 사용한다.

쉽게 말하면 그냥 소자를 보호하기 위해서 사용한다고 생각하면된다.


저항을 읽는방법은 위와 같다.


출처


각 색이 의미하는 바는 위와같다.


LED



LED는 발광다이오드로 쉽게 이야기해서 불이 켜졌다 꺼졌다 하는 소자이다.

데이터 시트는 아래와 같다.



여기서 전압이 전압이 2볼트이며 전류가 20mA라는 점만 알아두면된다.


Digital 출력


이제 브레드보드와 LED,저항을 이용해서 회로를 만들자.



핀은 아무데나 연결해도 된다. 필자는 2번에 연결하겠다.

점프 케이블로 브레드보드 아무라인이나 꼽는다. 예를들어 30번에 꽂았다고 치자.

그러면 저항을 30번에서 시작해서 끝나는 곳을 30번 말고 아무데나 꽂자. 만약 34번에 꽂았다고 하자.

그러면 34번에서 LED를 꽂자. 이 때 LED 긴쪽으로 꽂는다.

그리고 마지막에 점퍼케이블이 아두이노로 돌아오게한다.



이런식으로 만들면된다.

코드는 아래와 같이 작성하자.


const int pinLED = 2;

void setup() {
pinMode(pinLED,OUTPUT);
}

void loop() {
digitalWrite(pinLED,HIGH);
delay(500);
digitalWrite(pinLED,LOW);
delay(500);
}

아두이노의 핀은 항상 두가지를 가진다. INPUT아니면 OUTPUT으로 출력을하거나(전압을 내보내거나) 입력을 받거나 둘중 하나를 한다.

이렇게 입력과 출력 두가지를 하나의 핀으로 선택해서 할 수 있는 것을 GPIO(General Purpose Input Output)라고한다.

우리는 GPIO핀 2번핀을 OUTPUT(전압을 내보냄)으로 할것이다. 그래야 LED가 켜질거니까.

그리고 digitalWrite에서 HIGH를 주면 전압을 보내는거고, LOW를 주면 전압을 없애는 것이다.

이는 각각 1과 0으로 되어있다. 따라서 true와 false로 대체할 수 있고 1과 0으로 대체할 수 있다.

위의 코드는 0.5초 간격으로 LED가 켜졌다 꺼졌다 하는 코드이다.

그럼 빌드해서 실행해보자.



보다시피 LED를 깜빡거리게 할 수 있다.

이번에는 사용자에게 키보드 입력을 받아서 키보드 입력을 받으면 LED를 켰다 껐다를 토글로 할 수 있게 해보자.


const int pinLED = 2;
bool sw = false;
char tmp = 'A';

void setup() {
Serial.begin(9600);
pinMode(pinLED,OUTPUT);

}

void loop() {
digitalWrite(pinLED,sw);
if(Serial.available()){
Serial.read();
sw=!sw;
}
}

사실 digitalWrite의 값에 부울린값을 주는건 현명하지 못할수도 있지만 아직은 큰 문제는 없다.

위의 코드는 키보드 입력을 받으면 불이 켜지고 꺼지고를 토글로 정할 수 있다.



보다시피 입력을 받을때 마다 켜고 꺼지고의 상태를 반복한다.



+ Recent posts