아두이노 코딩의 소중한 경험을 시작하고 싶으신가요?
이 책에서 해답을 찾으세요.
교보문고에서 절찬리에 판매중입니다
_______________________________________________________upto here, commercial!______________________
바로 앞서의 LED 전자 회로에서 스위치를 누르면 TR의 에미터 단자에 배선된 LED 가 서서히 밝아지는 모습을 관찰하였으며 반면에 아두이노를 이용한 실험에서는 digitalWrite() 명령을 사용으로 즉각 on OFF 되는 모양을 관찰하였다.
LED가 서서히 밝아진다는 것은 LED 양단에 가해진 잔압이 점차 커진다는 점을 뜻한다. 따라서 LED 양단에 점퍼선을 배선하고 아두이노의 아날로그 채널 중 하나를 이용하여 전압을 측정하도록 하자.
아래는 전자회로와 아두이노와의 연결 배선도이다. LED의 양극을 아날로그 채널 A0에 연결하고 LED와 건전지 0V 와의 연결 지점을 아두이노의 GND에 연결 배선한다.
아두이노 아날로그 채널은 5V를 기준 전압으로 하여 10비트 해상도를 가지면 0 ∼1023까지 측정이 가능하다. 그림에서처럼 A0에서 A5까지 6채널 측정이 가능하다.
전자회로에서 LED를 on 시키기 위해서 스위치를 on 하는 과정 동안 아날로그 채널에서 전압을 측정하여 시리얼 모니터에 출력하도록 한다.
시리얼 모니터 출력을 위해서는 반드시 setup() 문에서 통신 속도에 해당하는 baud 값을 설정해야 한다.
void setup() {
Serial.begin(9600);
∙∙∙
}
통신 속도 baud 값을 9600으로 설정했으면 차후에 출력되는 데이터를 관찰하기 위한 시리얼 모니터 창에서도 반드시 같은 속도로 맞춰주어야 한다.
아날로그 채널 A0에 전압 데이타를 입력하기 위해서는 loop()문 내부에 analogRead(A0) 명령이 사용된다. 읽어 들인 전압 값이0∼1023 범위의 정수형이므로 아래와 같이 실제 소숫점이 있는 실수형 전압 값으로 환산하여 출력 필요가 있다.
void loop() {
∙∙∙
float volt = 5.0 * analogRead(A0)/1023;
Serial.print(“LED Volt : ”);
Serial.println(volt);
∙∙∙
}
Serial.∙∙∙ 명령은 PC와 시리얼 통신을 위한 일종의 클라스 명령이라 볼 수 있다. setup()문의 Serial.begin() 도 마찬가지이다. 이와같은 클라스 명령을 위해서는 setup() 문 위의 초반부에서 반드시 클라스 선언이 있는 것이 원칙이나 아두이노 코딩에서 워낙 흔하게 사용되는 문법이므로 Serial에 한해서는 별다른 클라스 선언이 없어도 무방하다.
완성된 코드를 살펴보고 저장 하자. 반드시 아두이노 보드가 USB 케이블로 PC와 연결이 되어 있는 상태에서 툴 탭에서 사용보드 종류와 포트를 지정하고 컴파일 업로딩 시키자.
업로딩을 마쳤으면 아두이노 편집기 상단 오른 쪽에 있는 시리얼 모니터 아이콘을 눌러 출력 결과를 살펴보도록 하자.
LED가 서서히 밝아지면서 전압 값 출력 결과가 너무 길므로 시리얼 모니터 출력 결과의 끝 부분만 추려서 보도록 하자. 거의 4.4V까지 상승하였으며 스위치를 OFF 하면 1.4V 수준으로 툭 떨어짐을 알 수 있다.
이와 같이 시리얼 모니터를 사용하여 숫자 출력을 통하여 결과를 체크할 수도 있으나 시리얼플로터 기능을 사용하여 비쥬얼하게 결과를 관찰할 수도 있다. 단 시리얼 모니터와 시리얼 플로터를 동시에 사용하지는 못한다. 만약 시리얼 모니터가 켜진 상태라면 반드시 떠야 한다. 특별히 그래프의 x 및 y 방향에 대해서 지정할 필요는 없으며 알아서 처리해 준다.
시리얼 모니터 출력의 결과가 너무 길므로 아랴와 같이 시리얼 플로터로 LED 양단의 전압 변동을 관찰하도록 한다.
LED on을 위해서 스위치를 누르기 전이라도 전자회로를 여러 번 사용했을 경우 콘덴서에 저장된 전기에너지가 흘러 나와 TR의 에미터 전압이 흔히 1V 이상을 유지하기도 한다.
스위치를 on 하면 LED 양단의 전압이 서서히 증가하여 4.3V 에 이르게 됨을 알 수 있다. 반면에 전자회로의 스위치를 OFF 시키면 급격하게 TR이 스위칭 OFF를 하여 1V 수준으로 떨어짐을 관찰할 수 있다.
'아두이노프로세싱 프로그래밍' 카테고리의 다른 글
전자회로의 LED Fading ON OFF: analogWrite() (0) | 2017.09.11 |
---|---|
전자회로의 LED 회로를 이용한 전류제한 저항 전압 측정 (0) | 2017.09.10 |
초보자를 위한 전자회로의 LED 회로를 이용한 아두이노 코딩 (0) | 2017.09.09 |
아두이노 시작을 위한 간단한 전자회로 워밍업:TR의 스위칭 특성에 의한 LED Fading ON (0) | 2017.09.09 |
아두이노 편집기(Arduijno IDE) 다운로드 및 설치 (0) | 2017.09.09 |