아두이노2015. 9. 4. 13:31

불꽃감지 센서는 포토 트랜지스터라고 불린다. 기본적으로 빛을 받으면 전기에너지로 변환시켜 증폭하는 작용을하며 빛을 많이 받을 수록 생성되는 전기 에너지가 커진다. 불꽃도 결국은 빛 이므로 이를 감지하여 화재여부를 감지하는 센서로 사용이 된다. 포토트랜지스터에 불꽃이 감지되면 피에조부저를 통하여 경보음을 내도록 만들어 보자




짧은 단자가 콜렉터(Collector)이며 긴 단자가 에미터(Emitter)이다.


포토트랜지스터 데이터시트: 

L-51ROPT1D1_en.pdf


아두이노와의 연결은 다음과 같다. 콜렉터는 5V단자에 에미터에는 GND단자에 연결하는데 10㏀의 저항을 사용하였다.

프리징 파일:

phototransistor_buzzer.fzz


##소스##

if문의 값은 자신의 사용환경에 따라 적절히 감도를 조절할 필요가 있다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int flame = A0; //포토트랜지스터가 연결된 아날로그핀
int Beep = 12;  //피에조부저가 연결된 디지털핀
int val = 0;    //센서출력값 저장 변수
 
void setup() {
  pinMode(Beep, OUTPUT);   //피에조부저 출력설정
  pinMode(flame,INPUT);    //포토트랜지스터 입력설정
  Serial.begin(9600);     //시리얼모니터 설정
}
 
void loop() {
  val = analogRead(flame);  //포토트랜지스터에서 값을 읽어옴
  Serial.println(val);     //포토트랜지스터 입력값 시리얼모니터로 출력
  if(val >= 1000)           //포토트랜지스터 입력값이 1000이상이면 BEEP실행, 환경에 따라 적절한 값으로 조절필요
  {
    digitalWrite(Beep,HIGH);  //피에조 부저 BEEP
  }else{
    digitalWrite(Beep,LOW);   //피에조 부저 OFF
  }
  delay(500);
}
cs


##결과##


반응형
Posted by 대네브 (deneb)

댓글을 달아 주세요