일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 게시판
- 출처 : https://joshua1988.github.io/web-development/javascript/promise-for-beginners/
- 출처 : https://webdir.tistory.com/506
- toString
- http://jeonghwan-kim.github.io/dev/2019/06/25/react-ts.html
- object
- https://velog.io/@velopert/create-typescript-react-component
- Today
- Total
Back Ground
아두이노 - 조도 센서 사용하기 본문
1. 조도 센서 이용하기
센서
사람이 접하는 대부분의 현상
빛, 열, 바람, 냄새, 기울기나 속도 등에 의하여 발생하는 연속적인 변화를 갖는 아날로그적 특성
센서
아날로그적인 현상을 전기적으로 다루고 제어하기 위해서 물리적 정보를 전기적 신호로 변환해 주는 장치
센서를 통하여 얻어지는 전기적 신호는 단순히 "0"과 "1"의 디지털 정보로 제공되기도 하지만 대부분은 연속적인 전압이나 전류의 변화를 갖는 아날로그 신호
연속적인 아날로그 신호를 마이크로프로세서를 사용하여 제어하려면 디지털 값으로 변환하는 AD변환기(Analog-Digital Converter) 기능을 사용
센서의 종류
빛 세기의 변화를 감지하는 센서
Cds나 LDR을 사용
다양한 포토 센서를 사용하여 물체를 감지하는 기능으로 사용
물체까지의 거리를 측정하는 방법
초음파 센서나 적외선 센서 사용
적외선 센서는 산업 현장에서 물체까지의 거리를 측정하는 용도로 많이 사용
온도 센서를 사용
열 발생의 상태를 확인
기울기 센서나 모션 센서
물체가 기울어지거나 흔들리는 등의 정보를 얻기 위하여 사용
스마트 폰에 설치된 센서
위치정보를 얻을 수 있는 GPS 센서
RFID나 XBee를 센서
빛 감지 센서
빛의 밝기 변화를 인식하는 센서
CDS 많이 사용
CDS는 빛 세기가 변하면 저항 값이 변화
아두이노 아날로그 입력 핀에 빛 센서를 연결하면 빛의 량에 따라서 전압 값이 변화
조도센서 CdS Cell (GL5549)
아두이노 보드는 아날로그 입력 A0를 통하여 빛의 변화 값을 0~5[V] 사이의 전압변화 값으로 입력 받아 0~1023 사이의 디지털 값으로 인식
2.CDS로 측정된 빛의 밝기를 시리얼 모니터에 표시
빛의 밝기에 따라 변화되는 광센서(CDS)의 입력 값을 AD 변환하여 시리얼 통신으로 PC로 전송하여 시리얼 모니터에 표시
아두이노 보드에서 아날로그 입력핀 A0를 통하여 입력되는 0~5[V]사이의 아날로그 값을 analogReade( )함수를 사용하여, 입력
입력된 아날로그 값이 0~1023의 디지털 값으로 변환된 값을 Serial.println( ) 함수 시리얼 모니터에 출력
스케치
int val = 0; | AD 변환값을 저장할 변수 |
void setup() { Serial.begin(9600); } | 시리얼 통신 속도 지정 |
void loop() { val= analogRead(0); Serial.print("CDS = "); Serial.print(val); Serial.print("\n"); delay(200); } | 아날로그 0번 핀 (CDS) 값을 입력 변환된 디지털 값을 시리얼 모니터로 전송 |
밝기에 따라 수치가 밝을수록 작아진다
2-1.CDS로 측정된 빛의 밝기 (%로 표시)
int val = 0; int LED=7; int percent; | CDS의 값을 저장할 변수 |
void setup() { Serial.begin(9600); pinMode(LED, OUTPUT); } | 시리얼 통신 속도 지정 디지털입출력 2번 핀 출력모드 지정 |
void loop() { val= analogRead(0); percent = map(val,0,1023,0,100); if(percent>50) digitalWrite(LED, LOW); else digitalWrite(LED, HIGH); Serial.println(percent); delay(100); } | 아날로그 0번 핀 (CDS) 값을 입력 변환된 디지털 값을 %로 변환 빛이 많으면 LED OFF 그렇지 않으면 LED ON 변환된 디지털 값을 시리얼 모니터로 전송 |
2-3.주위가 밝으면 주위가 밝으면 조도센서의 저항값이 줄어들면서 많은 전류가 흐르게 하는 조도센서값을 이용하여,LED을 밝기를 바꿔보자.
LED를 9번 핀에 연결하고 조도센서를 A0번 핀에 연결
스케치
void setup() { } // 시작할때 별도로 설정할 것은 없습니다.
void loop() {
//조도센서의 값을 읽어서 LED의 밝기를 조절해줍니다.
analogWrite(9, map(analogRead(A0),0,1023,0,255));
}
2-4.조도센서값을 이용하여,피에조 스피커의 소리를 바꿔보자.
피에조 스피커를 8번에 연결하고, 앞에 똑같이 조도센서를 A0핀에 연결
스케치
void setup() { } // 시작할때 별도로 설정할 것은 없습니다.
void loop() {
//조도센서의 값을 읽어서 피에조 스피커의 음 높이를 변경합니다.
//피에조 스피커가 낼 수 있는 음의 범위가
// 31에서 4978이기 때문에
// 아래와 같이 넣어주었습니다.
tone(8, map(analogRead(A0),0,1023,31,4978), 20);
// 0.5초 멈춥니다.
delay(500);
}
2-5.어두워질수록 LED가 밝아지도록 만들어보자.
2-6.빛의 밝기에 따라 피에조스피커가 재생되는 음의 길이도 달라지도록 해보자.
'아두이노' 카테고리의 다른 글
아두이노 - LCD 패널 사용하기 (0) | 2016.06.21 |
---|---|
아두이노 - 초음파 센서 사용하기 (0) | 2016.06.21 |
아두이노 - Piezo스피커02 (0) | 2016.06.21 |
아두이노 - Piezo스피커 (0) | 2016.06.21 |
아두이노 - 아날로그제어 (1) | 2016.06.21 |