초보자를 위한 전자회로의 LED 회로를 이용한 아두이노 코딩
아두이노 코딩의 소중한 경험을 시작하고 싶으신가요?
이 책에서 해답을 찾으세요.
교보문고에서 절찬리에 판매중입니다
_______________________________________________________upto here, commercial!______________________
아두이노 코딩을 시작하기 전에 스위치를 눌러
LED를 ON 시키는아래의 움짤에서 LED 가 서서히 켜지는 모양을 관찰해 보도록 하자.
앞서 배선했던 전자 회로에서 일단 건전지를 제거하고 입력 스위치가 꺼진 상태에서 330옴 저항이 시작되는 즉 빨간 동그라미 친 부분 을 빨간 색 점퍼선을 이용하여 아두이노 우노의 2번 디지털 데이터 핀과 연결하자. 아울러 0V에 연결되는 LED 배선 끝 부분을 검은 색 점퍼 선을 이용하여 아두이노의 GND 와 연결하도록 한다.
이 배선은 그림과 동일한 배선이 된다. 이 배선을 대상으로 하여 아두이노에서 1초에 한번씩 LED를 on OFF 할 수 있는 코드를 아래와 같이 작성해 보자.
아두이노 편집기 문법에서 //는 코드 설명을 뜻하며 코드 실행과는 무관하다.
void setup()에서 void 라 함은 setup() 문을 실행함에 따라 setup() 문에서 취급해야 할 넘겨 주거너 받을 파라메터 변수 값이 없는 경우에 사용된다.
pinMode(2,OUTPUT)은 아두이노 디지털 2번 핀을 출력 상태로 설정한다는 의미이다. 만약에 2번 핀을 입력 상태 즉 INPUT 으로 설정해 둔 상태에서 LED를 on 할 수 있도록 출력할 수는 없다는 점에 유의하자.
setup() 이 끝났으며 전원을 끌때까지 무한 반복되는 loop()문으로 넘어 가자.
2번 핀이 출력으로 설정된 상태에서 LED를 on 하자. 물론 전자회로에서는 콘덴서 충전 효과에 영향을 받아 LED 가 서서히 밝아지긴 했지만 디지털 방식의 digitalWrite(2,HIGH) 명령에 의한 LED on 은 명령이 실행 되자 마자 밝기 변동 없이 즉각 on 된다.
LED on 후 delay(1000) 명령에 의해 1000 msec 즉 1초 동안 on 상태가 지속된다. 이어서 digitalWrite(2,LOW) 명령에 의해 LED OFF 명령이 실행 되자 마자 밝기 변동 없이 즉각 OFF 되고 delay(1000) 명령에 의해 1초간 꺼진 상태가 지속된다. 여기서 코드 실행이 끝나는 것이 아니고 loop()문의 무한 반복 특성으로 인해 지속적으로 on OFF를 되풀이 하게 된다.
digitalWrite() 명령에 사용되는 HIGH 와 LOW 는 한편으로는 ‘1’ 과 ‘0’으로 사용해도 동일한 결과를 준다. 즉 HIGH 와 LOW 또는 ‘1’ 과 ‘0’은 디지털 논리 값으로 이해하면 된다.
참고로 후반의 delay(1000)을 입력하지 않은 경우에는 순간적으로 꺼졌다가 켜지는데 계속 on 되어 있는 것으로 느껴지므로 빠뜨리지 않도록 주의해야 한다.
지금까지 설명한대로 코드 입력이 완료되었으면 파일 명칭을 부여하여 저장한다.
그 다음 스텝은 툴 탭을 열어서 아두이노 보드의 종류를 지정하는 일이다.
지금 사용 중인 보드는 Arduino Uno 보드이므로 해당 항목을 클릭하도록 한다.
아울러 한 가지 더 아두이노 보드가 USB 케이블로 연결되어 있는 포트 명 지정을 해야 한다.
포트 COM3 에 아두이노가 USB 케이블에 의해 연결되어 있는 여부는 아랴와 같이 장치관리자를 열어서 확인해 보기 바란다.
USB-SERIAL CH340(COM3)이 확인되었으면 툴탭의 포트 COM3을 선택 클릭한다.
마지막 단계로 탭 아래 중의 두 번쨰 오른쪽 방향 화살표 아이콘을 눌러 컴파일 및 업로딩 작업을 실시하도록 한다.
컴파일 및 업로딩 작업이 진행됨에 따라 하단에 프로그레스 바가 나타난다.
성공적으로 업로딩이 완료되었으면 콘솔 창에서 아래와 같은 메시지를 볼 수 있으 것이며 전자회로의 LED 가 깜빡임을 관찰할 수 있다.
성공 후 시간 지연 명령 delay()에서 시간 간격을 바꾸어 다시 컴파일 업로딩하고 결과를 관찰해 보자.
이어서 콘덴서의 충전 전압을 아두이노로 모니터링하기로 한다.