아두이노프로세싱 프로그래밍

아두이노 초보자를 위한 “아두이노 코딩에 의한 LED ON OFF”

coding art 2017. 3. 13. 17:08
728x90




아두이노 LED on OFF를 위한 회로 구성을 위해 그림을 참조하여라. 사실 위 그림에서 회로 양단에 3∼5V의 전압을 걸어 주면 LED가 on 된다. 하지만 아두이노 코딩에 의해 LED를 on 하거나 OFF 하는 것이 가능하다. 여러 개의 LED로 구성된 전광판을 제어할 수 있게 되면 사람이나 동물들에게 여러 가지 정보를 제공할 수 있으며 필요 시 매번 또 다른 프로그램을 작성 업 로딩 하여 실행시킬 수 있는 이점이 있다.

회로 구성
  1) LED와 330옴 저항을 직렬로 연결하자.
  2) 저항의 끝을 파워 블록의 GND와 연결하자.
  3) LED 양극(다리가 길다)을 디지털 핀 블록의 3번 핀에 연결하자.

※ LED는 9V 전지에 직접 연결하면 순간 on 되며 과다한 전류로 타 버린다. LED는 5V나 3.3V 전원에 330옴 저항과의 직렬연결 없이 연결하게 되면 on은 되나 그래도 전류가 많이 흘러 곧 타버린다. 그러므로 반드시 330옴 저항과 직렬 연결하여 배선하도록 하자.
※ ※ 저항과의 연결 없이 직접 전원에 연결하는 사례는 자동차 미등 장식에 사용하는 아이써클(eye circle)이라는 다이오드 링이 있는데 이는 직접 12.6V를 가할 수 있도록 내부에 저항이 포함되어 설치되어 있다.

아두이노 프로그래밍
아두이노 프로그램 작성을 위해 아두이노 편집기(Arduino IDE)를 열고 새 파일을 선택하고 아래의 프로그램을 입력하여 자신의 예제 디렉토리를 생성하여 저장한다.

아두이노의 프로그램 구성은 프로그램 통신 및 입출력 준비를 위한 setup() 과 조립된  LED on OFF를 실행하기 위한 void loop() 로 이루어진다.

Serial.begin(9600);은 아두이노 보드와 PC와의 프로그램 업 로딩을 위한 통신 속도 즉 baud rate 설정이다.


pinMode(3, OUTPUT);은 아두이노 보드의 디지털 핀 3번을 출력용으로 설정한다.

loop(0 문에서 digital.Write() 명령이 실행되면 즉 3번 핀이 HIGH가 되면 LED가 on 된다.

5초 후 3번 핀이 LOW가 되면 LED 가 OFF 된다. 5초 후 loop문의 특성 상 다시 LED가 on OFF를 5초 단위로 반복하게 된다.

LED가 on 되어 있는 동안에 LED 에 걸린 전압 과 저항에 걸린 전압을 측정한다.
저항 값을 알고 가해진 전압 값을 알면 옴의 법칙을 이용해 저항을 통해 흐르는 전류 값을 계산해 보자.

저항에 걸린 전압 측정 값은 2.83.0V 수준이며 LED 양단의 전압은 2.02.2V 수준이다.

저항에 옴의 법칙을 적용하자. E=IR에서 E=3.0V, R=330옴 전류 I 는 약 0.01A 10mA 수준이다.

저항의 역할은 있음으로 인해 전류의 크기를 제한하는 것으로 보인다.

코딩에 관심을 가지는 이들이 알아야 할 부분은 초보자든 컴퓨터 비전공자이든 딱 여기까지임에 유의하고 더 이상은 그다지 필요하지 않는 듯하다.

저항에 흐르는 전류는 결국 LED에도 같은 전류가 흐르게 된다. 일반적으로 LED는 흐르는 전류 값에 따라 밝기가 변한다. 거꾸로 LED에 가해진 전압을 멀티메터로 측정한 후에 알려진 전류 값을 사용하여 LED의 순간 저항 값을 계산해 볼 수는 있다. 하지만 누구도 LED의 저항 값을 계산하지 않음에 유의하자. 그 이유는 LED는 회로 상황에 따라 전압 과 전류 값을 변동 시켜 밝기를 변동시키기 때문이다. 따라서 저항처럼 하나로 고정된 저항 값은 따로 없기 때문이다.


프로그램 작성 완료 후 파일 탭을 열어 파일 명을 주어 저장한다.
툴 탭을 열어 보드의 종류를 지정한다.


아두이노 보드로 공인된 여러 종류의 보드가 있다. 상기의 그림에서 볼 수 있는 보드 명칭은 Arduino/Genuino Uno 보드이다. Uno는 이탈리어어로 “하나의” 라는 뜻이다. 우노 카드 게임을 생각하면 될 것이다.





포트 번호를 확인하도록 하자. USB-2-Serial 커넥터와 PC의 USB포트를 연결하면 PC가 인식하여 툴탭의 포트에서 확인하여 체크하면 된다. COM1 과 COM3는 각각 PC에서 이미 설정 되어 있으며 아두이노 사용자는 항상 별도의 USB-2-Serial 드라이버가 설치되어 있음을 확인하여야 한다. 일반적으로 아두이노 편집기를 깔면 USB-2-Serial 드라이버가 설치된다. 만약 아두이노 보드 인식이 원활하게 되지 않으면 이러한 사항을 점검해서 치료해야 한다.





void setup() {

// put your setup code here, to run once:

Serial.begin(9600);

pinMode(3,OUTPUT);

}

 

void loop() {

// put your main code here, to run repeatedly:

digitalWrite(3,HIGH);

delay(5000);

digitalWrite(3,LOW);

delay(5000);

}// 프로그램 끝


이 아두이노 초보자를 위한 아두이노 코딩에 의한 LED on OFF”는 아두이노 프로젝트 시작과 아울러 블로그 게재를 시작한 201611월에 작성된 것이 아니라 최근에 블로그 방문자들 중에 실제로 초보자가 많음을 느껴 작성하게 되었다. 2016년 말 컴퓨터 비전공자인 필자 자신도 아두이노 코딩에 의해서 한 점의 LEDON OFF 하는데 상당한 긴장감을 느꼈다는 점을 참조 바란다.