BASIC4MCU | 질문게시판 | 센서값 합계 구하는 코드 알수있을까요
페이지 정보
작성자 김동균 작성일2018-06-10 11:26 조회82,396회 댓글12건본문
안녕하세요 아두이노를 통해 센서값의 합계를 구하고자하는데 말처럼 쉽지않네요 pir센서로 디지털값을 읽어들여서 합계가 몇이상 되면 액션을 두고 싶은데 예를 들면 5초동안에 1초당 한번씩 센서값읗 읽어들이고 5초 사이에 한번이라도 움직였으면 액션이 취해지도록 가능한가요..? 그걸 5초마다 계속 반복하고 싶어요
댓글 12
조회수 82,396master님의 댓글
master 작성일
PIR 센서는 움직임을 감지하는 모션센서입니다.
현관 센서등도 같은 센서를 사용하는데
현관 아래에 움직이지 말고 가만히 있어보세요
감지 후 30초 후에 등이 꺼지는데
움직이지 않고 가만히 있으면 더이상 켜지지 않습니다.
//
아두이노의 PIR센서는 켜지는 시간이 현관 센서등보다 짧을 뿐 동일합니다.
따라서 인체가 계속적으로 감지되는 것이 아니므로 원하는 기능을 구현하지 못합니다.
김동균님의 댓글
김동균
그러면 모션센서를 이용한다고 하면 코드는 어떻게 짜야하는 건지 질문해도 될까요?
master님의 댓글
master 작성일
지금 구현하려는 기능은 모션을 디텍션 하려는 것이겠죠?
센서 출력 자체가 모션을 디택트 해서 출력이 나오는 것이므로
원하는 기능이 이미 센서에 구현되어 있다고 생각하시면 되겠습니다.
김동균님의 댓글
김동균
아니면 혹시 센서의 출력값이 연속으로 1이 5번 나왔을때 액션을 취할수 있는 방법이 있나요??
master님의 댓글
master
PIR 센서 출력은 DC 형식의 출력이 아닙니다.
현관 앞에서 센서등 동작을 먼저 체크해보세요
master님의 댓글
master 작성일
인체감지에는 프레넬 렌즈가 사용되는데
렌즈의 모양은 벌의 눈 형상을 띄고 있습니다.
적외선을 가진 물체가 이동하게되면 여러개의 렌즈를 통해서 물체가 보였다 안보였다 하게되면서
수광부 적외선 양이 크게 달라지게 됩니다.
프레넬 렌즈는 작은 움직임을 감지하기 위한 용도라고 생각하면 되겠습니다.
프레넬 렌즈의 형상도 목적에 따라서 여러가지 모양으로 제작 됩니다.
master님의 댓글
master 작성일
인체감지 센서로 선풍기를 제작하려고 시도한 학생들이 많습니다.
사람이 감지되면 선풍기를 돌리겠다는 의도인데
누워 있든 앉아있든 가만히 있는 사람은 감지가 되지 않으므로 인체감지 센서를 사용하지 못하고
초음파센서로 바꿀 수 밖에 없었죠
master님의 댓글
master 작성일
뭘 하려는 것인지 전체 기능을 상세하게 설명 해보세요
적어 놓으면 점심 식사후에 읽어보고 답변드리죠
김동균님의 댓글
김동균
빠른 답변 정말 감사합니다. 저희는 대학 프로젝트에서 주제를 독거노인의 고독사에 빠른 대처를 할 수 있게 하려고 pir센서로 일정 시간동안 움직임이 감지되지 않으면 푸시알림을 보내는 시스템을 구현하고자 해서 가만히 있으면 감지 안되는게 저희 목표랑 맞다고 생각됩니다.
unsigned int sum,val[10]={0,0,0,0,0,0,0,0,0,0};
//
void setup() {
Serial.begin(9600);
}
//
void loop() {
for ( int i=0, i<10 , i++) {
}
val[9]=val[8];val[8]=val[7];val[7]=val[6];val[6]=val[5];val[5]=val[4];val[4]=val[3];val[3]=val[2]; val[2]=val[1]; val[1]=val[0]; val[0]=digitalRead(8); // 쉬프트 및 입력
//
sum=val[0]+val[1]+val[2]+val[3]+val[4]+val[5]+val[6]+val[7]+val[8]+val[9];
Serial.print("sum="); Serial.println(sum);
delay(1000); //1초
}
일단 저희가 짠 코드인데 한번 센서가 감지하면 5정도까지 올라갔다가 더이상 감지되지않으면 내려가는데 내려가다가도 다시 감지되면 다시 올라갑니다. 여기서 계속 감지되지않으면 0을 반복하기 때문에 저희는 0이 일정 횟수 이상 반복되면 알림을 보내고 싶습니다.
식사 맛있게 하세요^^
master님의 댓글
master 작성일
시간대별 감지 인터벌을 정하셔야 할 것 같습니다.
"일정시간 움직임이 발생하지 않으면 문제가 있다."로 간주하는 것이죠
//
원래 PIR 센서는 용도에 맞지 않아서
비접촉 온도센서 등으로 실제 구현하고 있긴 하지만
가격이 고가라서 현실적으로 보급에 문제가 있습니다.
김동균님의 댓글
김동균
너무 많은 질문 드려서 죄송합니다. 시간대별 감지 인터벌은 어떻게 짜는지나 어떤 식으로 짜야하는지 여쭈어봐도 될까요?
master님의 댓글
master
수면시간에는 몇시간에 한번 움직임이 있어야 한다거나
수면시간에는 체크하지 않는다거나
식사시간대에는 움직임이 감지되어야 한다거나 등을 정하는 것이죠
이런 센서들은 사생활 침해 논란이 있습니다.