BASIC4MCU | 질문게시판 | 아두이노 코딩 관련
페이지 정보
작성자 수닝 작성일2020-04-30 14:57 조회5,817회 댓글0건본문
안녕하세요, 제가 적외선 센서 2개를 이용하여 버스안에 사람이 몇명 들어오고 나갔는지 카운트로 표시하려고 합니다.
문쪽에 가까운 적외선 센서 -> 문쪽에서 먼 적외선 센서 : 이 순서로 센서가 작동하면 사람 카운트 ++
문쪽에서 먼 적외선 센서 -> 문쪽에서 가까운 적외선 센서 : 이순서로 센서가 작동하면 사람 카운트 --
이렇게 카운트 되면, led로 나타나게 하고 싶습니다.
현재
// 함수 1. 사람 감지 함수
boolean sensor1_on(){ // 적외선 센서1 사람 감지 함수
//순서1) 센서 ADC값 측정
sensorValue1 = analogRead(sensorPin1);
//순서2) 물체가 감지 되었는가? 확인
if( sensorValue1 <= Human_value ){ // 어떠한 설정 값보다 작을 경우 감지 된 것으로 판단함
Human_contol = 1; // 감지 되었다고 판단되면 컨트롤을 부여함
//순서3) 컨트롤 신호와 토큰이 부여 되었을 때 카운트 증가 시킴
if((Human_contol == 1)&&(Human_token == 1) ){
Human_contol_count++; // 카운트 증가
//순서4) 어느 정도 카운트가 됬을 경우 사람이라는 판단 신호를 보냄
if(Human_contol_count > Human_times){ // 사람이라고 인지 될 수 있도록 어느 특정한 카운트(시간)이 있을 거라 가정함 또한 시스템 안전성을 높임
Human_token = 0; Human_contol_count = 0; Human_contol = 0; // 사람이라 판단하고 토큰을 없애 더이상 증가하지 않도록 설계함
return true; // true값 보냄
}
}
}else{
Human_token = 1; Human_contol_count = 0; Human_contol = 0; // 물체가 감지 안 될 경우 토큰을 부여 시킴
}
return false;
}
boolean sensor2_on(){ // 적외선 센서2 사람 감지 함수
sensorValue2 = analogRead(sensorPin2);
if( sensorValue2 <= Human_value ){
Human_contol2 = 1;
if((Human_contol2 == 1)&&(Human_token2 == 1) ){
Human_contol_count2++;
if(Human_contol_count2 > Human_times){
Human_token2 = 0; Human_contol_count2 = 0; Human_contol2 = 0;
return true;
}
}
}else{
Human_token2 = 1; Human_contol_count2 = 0; Human_contol2 = 0;
}
return false;
}
여기까지 코드를 짰는데, 이제 두 센서를 이용하여 사람을 플러스하고 마이너스 하는 코딩이 궁금 합니다 ㅜㅜ
댓글 0
조회수 5,817등록된 댓글이 없습니다.