본문 바로가기
Arduino(아두이노) 활용 강좌

Arduino Uno 로 CDS 조도센서 ISD1820 음성녹음 재생모듈을 사용해서 실내 밝기변화에 따른 경고방송 만들어 보기

by 오마이엔지니어 2020. 12. 23.
반응형

Arduino Uno 로 CDS 조도센서 ISD1820 음성녹음 재생모듈 (10초)를 사용해서 조도센서와 음성녹음 재생모듈의
사용법을 알아보고 간단하게 실내 밝기변화에 따른 경고방송을 만들어 보는 프로젝트 입니다

<CDS 조도센서와 ISD1820 음성녹음 재생모듈 이미지>

CDS 조도센서는 아두이노등의 마이크로 컨트롤 보드와 연결해서 3.3~5V 전원으로 동작하며 전원과 디지털 아날로그
핀 4핀으로 구성되어 있습니다
조도 밝기에 따라 변화하는 디지털&아날로그 출력 신호를 바탕으로 여러가지로 응용해서 사용할 수 있습니다
ISD1820 음성녹음 재생모듈 (10초) 역시 마이크로 컨트롤 보드와 연결해서 3.3~5V 전원으로 동작하며 원하는 소리를
10초간 녹음해서 반복모드 또는 한번 재생모드등 점퍼설정에 따라 여러가지 모드로 재생할 수 있게 만들어진 모듈 입니다

 

ISD1820 음성녹음 재생모듈의 자세한 점퍼설정등은 아래 포스팅 링크를 참조해 주세요
Arduino Uno 로 ISD1820 음성녹음 & 재생모듈과 HC-SR501 인체감지센서를 사용해 현관 안내방송 만들어 보기

사용된 부품

Arduino Uno R3 (Italy)
CDS 조도센서 모듈
ISD1820 음성녹음 재생모듈 (10초)
미니브래드보드

점퍼케이블(숫놈-암놈)
점퍼케이블(숫놈-숫놈)
막대저항 220 Ohm
5mm LED 블루

사용된 키트
아두이노 CDS 조도센서 키트 (실내 밝기 경고방송 만들기 키트)

구성 배선도-조도 변화에 따라 LED 제어해 보기

구성 배선도-실내 밝기 변화에 따른 경고 방송 만들어 보기


사용된 예제소스

 

조도 변화에 따라 LED 제어해 보기.txt
0.00MB
실내 밝기 변화에 따른 경고 방송 만들어 보기.txt
0.00MB

 


테스트 방법
별도의 라이브러리를 사용하지 않으므로 테스트 방법은 간단합니다

위 첨부된 예제 소스를 다운로드 해서 업로드 해주고 테스트 하면 됩니다

먼저 조도 변화에 따라 LED 제어해 보기 예제를 살펴보면

int led = 3;
int sensor = 2;
led 연결핀 3번 센서 연결핀 2번입니다


void setup()
{
pinMode(led, OUTPUT);
pinMode(sensor, INPUT);
}
void setup에서 센서에서 입력값을 받아서 led핀으로 신호를 출력해 줍니다

void loop()
{
if( digitalRead(sensor) == LOW )
digitalWrite(led, HIGH);
else
digitalWrite(led, LOW);
void loop에서 센서값이 LOW 이면 led는 HIGH 로 점등 됩니다
센서값이 HIGH 이면 led는 LOW 로 소등 됩니다

물론 예제에서 LOW 와 HIGH 부분만 반대로 변경해 주면 반대로도 동작 시킬 수 있습니다


두번째 실내 밝기 변화에 따른 경고 방송 만들어 보기 예제를 테스틀 할때는
먼저 음성녹음 재생모듈에 원하는 소리나 멘트를 10초 넘지 않게 녹음해 줍니다

(실내가 어둡습니다 불을 켜주세요 라는 멘트를 녹음했습니다) 예제코드를 살펴보면

#define SOUT 12
#define REC 8
#define PLAYE 9
#define PLAYL 10
핀설정을 확인할 수 있습니다, 조도센서의 DO는 아두이노의 12번핀에 연결합니다
PLAYE 는 9번 PLAYL 는 10번 입니다, 8번은 연결하지 않아도 됩니다

void setup(){
pinMode(SOUT, INPUT);
Serial.begin(9600);
}
9600 보드레이트로 시이얼 통신하며 12번 핀의 센서 입력값을 받습니다

void loop(){
int ret = digitalRead(SOUT);
if(ret == 1)
{
Serial.println("--------------> CDS");
digitalWrite(PLAYE, 1);
delay(5000);
digitalWrite(PLAYE, 0);
}
}
디지털 값 출력값이 0과 1로 변함에 따라 음성재생 모듈을 플레이하고 꺼줍니다
음성녹음 재생모듈이 재생되면 시리얼 모니터로 ------------> CDS 를 표시해 줍니다

프로젝트 동영상 - 조도 변화에 따라 LED 제어해 보기


프로젝트 동영상 - 실내 밝기 변화에 따른 경고 방송 만들어 보기

반응형

댓글