아두이노 엘렉트로닉스 코딩의 목적은 그 자체로 Fading 방식에 의한 LED 의 점등이다. 즉 LED가 서서히 켜지도록 하기 위해서서 아두이노 코딩에서는 analogWrite( PWM_digital_pin#, brightness) 명령을 사용하여 밝기 즉 brightness 값을 0∼255까지 코딩으로 조절했다. 바로 이와 유사한 효과를 내는 전자회로이다.
이 회로를 작동시키기 위해서 9V 전지를 설치해야 하는데 전선으로 된 전지 홀더 배선이 커넥터로 된 것 밖에 없어 사진과 같이 잘라서 피복 전선과 꼬아서 연결한 뒤에 절연 테이프 마저 없어서 스카치 테이프로 각각을 둘러 절연하였고 한바퀴 감아 매듭을 만들어서 끓어지지 않도록 하였다.
첫 번째 스위치를 on 하게 되면 9V 전지로부터 전류가 빨간색으로 표시된 회로를 따라 흐르게 된다. 100KΩ 정항을 통과하여 분기점에 다다르게 된다. 분기점에서 전류 흐름은 2곳으로 나뉘어 질 수 있다. 하지만 현재 트랜지스터(TR)는 꺼져 있는(OFF) 상태이므로 그림에서 스위치로 해석하게 되면 스위치를 누르지 않은 상태이므로 분기점에서의 전류는 대부분 비어 있는콘덴서로 흘러 전하를 축적하게 됨과 동시에 빨간 이중 동그라미 친 부분의 전압이 점차 상승하게 된다. 이와 같은 점차 상승하는 현상은 아날로그 패널 핀에 의한 전압 측정을 통해서 시리얼 플로터 기능을 사용하여 가시화 할 수 있다.
아두이노 코딩에 의해서 콘덴서 사이의 전압을 측정하고 시리얼 플로터로 가시화 해 보도록 하자. 실험 시작 전에 9V 전지의 전압을 실측해 두도록 한다. 9V 전지는 머리티메타로 전압을 측정해 보면 8.5∼9.5V 사이의 전압을 보여주며, 이번 실험에서 측정된 전압은 8.9V 였다.
아울러 아두이노의 5V 전원도 멀티메터로 측정해 두어야 전압으로 환산이 가능하다. 대체로 아두이노 보드에서 5V 전원을 측정해 보면 4.5∼4.9V 범위를 가지는 멀티메타가 없는 독자께서는 근사적이지만 4.8 이나 4.9 둘 중에 하나를 택해 쓰면 별 문제는 없다. 오늘의 측정 결과는 4.9V 였다.
분기점의 전압을 측정하기 위해서 아래의 사진에서처럼 점퍼선 2개를 설치한다. 검은색 점퍼선 하나는 GND 에 점퍼선 반대 쪽은 아두이노 GND에 연결한다. 주황색 점퍼선 하나는 분기점에 설치하고 반대 쪽은 아두이노 아날로그 핀 A0에 연결한다.
분기점에서의 전압 변동을 측정하기 위한 아두이노 코드는 극히 간단하다. 통신 속도는 9600 으로 설정한다.
분기점에서 측정하게 될 전압 v 는 전원 측정값이 비록 4.9V 이지만 5.0 볼트로 가정하고 다음과 같이 환산이 가능하다.
float v = 5.0*analogRead(A0)/1023;
참고로 analogRead() 명령은 0∼1023 까지의 정수형으로 결과를 출력한다. 따라서 1023으로 나눈 후 아두이노 전압 5.0V를 곱하면 환산이 가능하다.
다음의 코드를 컴파일 업로드 하도록 하자.
void setup() { Serial.begin(9600); }
void loop() {
float v = 5.0*analogRead(A0)/1023;
Serial.println(v);
delay(50); }
업로드 후 시리얼모니터를 켜 보면 추력 값이 0.0 이 나와야 하지만 0 이 아닌 작은 0.2V 정도의 값이 출력 될 수 있음에 유의하자. 시리얼 모니터 껏음을 확인하고 시리얼플로터를 켜도록 한다. 아울러 회로의 스위치를 눌러 on 시켜면 십초 정도에 걸쳐서 분기점의 전압 변동 상황을 가시적 그래프로 볼 수 있다.
콘덴서 충전 동안 전압이 상승하게 되는데 즉 분기점의 전압이 PN 접합 다이오드의 문턱전압(Threshold) 0.5V 수준에 도달하게 되면 트랜지스터는 마치 스위치를 서서히 누른 것 처럼 컬렉터(C) 와 에미터(E) 사이가 개통이 되면서 적어도 1.0V 선을 넘어가면 컬렉터 전류가 활성화되어 흐르게 된다.
이러한 과정이 결국 에미터 회로의 LED 에 Fading 현상과 함께 서서히 불이 들어오게 된다. 동영상을 참조해 보자.
느린 속도로 스위치를 꾹 눌러 on OFF를 반복하면 시리얼 플로터에서 다음과 같은 전압 프로파일이 얻어진다.
전체 시스템의 전압이 8.9V 였는데 콘덴서의 + 쪽 즉 분기점에서의 전압은 2.9V 이므로 6.0V 의 전압이 100KΩ 저항 양단에 가해지게 된다. 이 데이타에 의해서 저항에 흐르는 전류 값을 옴이 법칙에 의해 계산해 보자.
E = I ⏺R
가해진 전압 E = 6.0V, R = 100KΩ = 100,000Ω을 사용하여 전류 I 값을 계산하자.
I = 6.0 / 100,000 = 6.0X10-5 A = 6.0X10-2 mA 가 되어 대단히 작은 값이다.
이렇게 작은 값의 전류가 흐르도록 회로를 설계한 이유는 베이스(B) 전류가 작더라도 TR 이 스위칭되어 컬렉터에서 에미터로는 큰 값의 전류가 흘러 전기적 부하를 작동 시키기 위함이다. 즉 지렛대의 원리 정도로 보면된다.
한편 OFF 할 때가 전압 떨어지는 속도가 좀 빠르긴 해도 그래도 서서히 빠지는 이유는 비록 스위치가 꺼진 상태가 되면 9V 전지에서 전기 공급이 차단되지만 거꾸로 아래의 회로도에서처럼 전하를 머금은 컨덴서가 9V 배터리를 대신하여 역류해서 전류를 흘려준다.
스위치가 OFF 된 이 회로도에서 분기점의 주위를 살펴보면 전류의 방향이 바뀌어 흐르게 됨을 알 수 있다. 전류의 방향은 항상 전압이 높은 곳에서 낮은 곳으로 흐르게끔 되어있다.
즉 스위치를 끔으로 인해 100KΩ 저항 양단의 전압이 부호가 바뀌는 현상이 발생한다.
만약 아두이노 아날로그 핀을 사용하여 100KΩ 양단에 가해지는 전압을 측정하려면 양의 전압에서 음의 값을 가지는 전압을 즉 교류전압을 측정할 수 있어야 하나 아두이노 아날로그 핀의 측정 범위 한계는 양의 범위 즉 0∼1023 이므로 음의 값을 가지게 되는 영역 즉 전압의 방향이 바뀌게 되는 시점부터는 0.0의 값만을 주게 되어 측정이 불가능하다.
따라서 그 측정값을 보기 위해서는 전압 방향을 고려하여 전압 측정 배선을 바꾸어야 한다. 아래 측정 결과에 의하면 스위치 on 하면 음의 값을 측정 못하므로 0.0 을 출력하다가 스위치를 OFF 시키는 시점부터 콘덴서에 충전된 남아 있는 전압 대략 0.6V 수준에서 시작하여 콘덴서 전하가 방전되기 시작하여 전압이 떨어진다. 즉 역류가 일어난다는 뜻이다.
이상으로 아주 간단한 전자회로를 대상으로 기본적인 엘렉트로닉스의 규칙 즉 옴의 법칙이라든지 또는 전류제한 저항의 의미, 콘덴서의 충방전 현상,TR의 스위칭 현상을 점검하여 보았다. 조금 더 깊이 파 들어가면 전자 공학의 영역이 가까울 수 있으나 전문 직업 영역은 취미의 영역이 아니므로 그다지 재미가 없다는 점을 명심하자.
//condenser_voltage_01
void setup() { Serial.begin(9600); }
void loop() {
float v = 5.0*analogRead(A0)/1023;
Serial.println(v);
delay(50); }//끝
'아두이노프로세싱 프로그래밍' 카테고리의 다른 글
0.96인치 OLED “Steemit” Smart Watch (0) | 2018.05.09 |
---|---|
와이파이에 의한 아두이노 사물인터넷 IOT 코딩에의 초대 (0) | 2018.05.09 |
미세먼지 측정 엘렉트로닉스 회로 배선과 아두이노 코딩 (0) | 2018.05.02 |
초보자를 위한 아두이노 코딩 입문-16: 비오는 날 Adafruit DTH11 온습도 측정 lcd 디스플레이 (0) | 2018.04.23 |
초보자를 위한 비오는 날 창가에서 조도센서 저항값 변화에 따른 LED ON OFF (0) | 2018.04.14 |