이 한권의 책으로 아두이노 엘렉트로닉스 코딩에서 시작하여 와이파이 코딩을 넘어 흥미로운 앱인벤터 코딩으로 넘어가보자. 특별한 컴퓨터 과학의 지식이 없어도 누구든지 코딩의 세계로 초대 받을 수 있습니다. 교보문고에서 판매 중입니다.
__________________________________________________________________________________________________________________________________
본문 시작
조도(Cds) 센서는 빛의 밝기에 의해 저항 값이 변동 되는 반도체성 가변 저항으로 실제로 도시의 가로등 on OFF 스위치로 사용되는 센서이다.
멀티메터로 측정해 본 조도 센서의 저항 값은 태양 빛을 정면으로 받을 때 70옴 수준에서 완전히 가렸을 때 60K옴의 값을 가진다.
아두이노 우노 보드를 사용하여 빛의 밝기가 변하는 환경에서 조도 센서의 저항 값을 알아내기 위해서는 그림과 같이 저항값을 알고 있는 저항과 조도 센서를 직렬로 연결 배선하고 5V 전압을 가해준다.
이 값들은 코딩 전에 멀티메터로 실측해서 입력하면 오차 보정에 더욱 좋다.
실측 결과 5V 전원은 4.8V, 1K옴 저항은 815옴으로 측정되었으므로 이 값을 코딩에 사용하기로 한다. 만약 멀티 메타가 없어서 측정이 어렵다면 오차가 있긴 하지만 그대로 사용해도 회로를 동작시키는 데엔 아무런 문제가 없다. 아울러 이 1K옴 저항에 걸리는 전압을 측정하기 위해 아날로그 입력 A0에 연결 배선한다.
코드 실행에 따라 시리얼 모니터에 출력되는 데이터 값을 관찰해 보자. 실측 값이 815옴인 1K옴 저항에 가해지는 전압이 0.9V 안팎이며 이로부터 옴의 법칙에 의해 계산된 조도 센서 저장 값이 3.7K옴 압밖이다. 6,000옴 즉 6.0K옴이 되어야 청색 LED 가 on이된다. 흐린 날 형광등이 켜진 사무실 환경이므로 손바닥으로 가리는 정도면 7.0 ∼ 9.0K옴이 출력되며 LED on 이 가능하다.
CDS_sensor_LED_01
float arduVolt = 4.9; //아두이노 전압 실측치
float r = 815; //1K옴 실측치
int ledPin = D2;
void setup() {
Serial.begin(9600);
pinMode(ledPin,OUTPUT);
digitalWrite(ledPin, HIGH);
delay(5000);
}
void loop() {
int analogV = analogRead(A0);//0-1023
float V = arduVolt*analogV/(1023.0);//1K옴 저항 전압 환산
Serial.println(V);
float i = V/r;//1K옴 저항 전류 계산, 암페어
float cdsV = arduVolt-V;//조도센서 전압 계산
float cdsR = cdsV/i;//조도센서 저항 계산
float cdsRk=cdsR/1000.0; //K옴으로 환산
Serial.println(cdsRk,1);//시리얼 모니터 또는 FND출력
if( cdsR > 6000) { // 6K옴 이하면 on
digitalWrite(ledPin,HIGH);//어두우면 켜기
}
else {
digitalWrite(ledPin, LOW);//밝으면 끄기
}
delay(1000);
}//프로그램 끝
'아두이노프로세싱 프로그래밍' 카테고리의 다른 글
초보자를 위한 아두이노 코딩 입문-16: 비오는 날 Adafruit DTH11 온습도 측정 lcd 디스플레이 (0) | 2018.04.23 |
---|---|
초보자를 위한 비오는 날 창가에서 조도센서 저항값 변화에 따른 LED ON OFF (0) | 2018.04.14 |
초보자를 위한 “멀티 메타에 의한 아두이노 LED ON 전류 측정” (0) | 2018.04.02 |
Processing(프로세싱) 와이파이에 의한 아두이노 weMos 보드의 LED ON OFF 코딩 (0) | 2018.03.31 |
2주면 포기할 당신을 위하여 “아두이노를 정말 시작해 보시려고요?” (0) | 2018.03.26 |