BASIC4MCU | 질문게시판 | 답변 : 분리수거(적외선감지,금속감지)
페이지 정보
작성자 master 작성일2019-04-29 10:34 조회5,014회 댓글0건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=8370
본문
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2019-04-29 오전 10:41:03// by Ok-Hyun Park//적외선감지센서로 쓰레기의 유무를 판단하고쓰레기가 올려진것이 확인되면금속감지센서가 금속 비금속 여부를 판단하여쓰레기가 올려진 판을 좌우로 움직여 금속 비금속을 분리하는쓰레기통을 만들고 싶습니다.판을 좌우로 움직일 때 서보모터를 사용하여 움직이려고 합니다.금속감지센서와 적외선 감지센서에 대해 궁금한게 있는데1.적외선 감지센서가 물체를 감지하면 금속센서를 작동시키는건가요?2.금속감지센서가 어떤 식으로 물체의 금속 비금속 여부를 감지하는건가요?제품명은 LJ12A3-4-Z 유도형 근접 센서 입니다.한개로는 부족할 것 같아 두세개 정도 부착할 것 같습니다.파란색 버튼같은게 있는데 물체가 이걸 누름으로써 센서가 동작하는 건 아닌거같고..도대체 어떤식으로 작동을 하는건지 궁금합니다.3.코드 작성에 대해 궁금한 것이 있습니다.서보모터를 쓰레기를 올려두는 판 밑 가운데에 장착해서 시계방향으로는 50도 회전후 2초 뒤 원위치로 복귀.반시계방향으로도 50도 회전후 2초뒤 원위치로 복귀 하는 형식으로 만들고 싶습니다.코드에서 delay도 수정해야 할것 같고.모터 작동후 원위치로 복귀하는 코드도 어떤식으로 써야 할 지 모르겠습니다.//#include <Servo.h>//서보모터 헤더파일int angle=0; //각도 저장변수int sen=8; //적외선 센서 핀int sen2=10; //금속 센서 핀int servo=9; //Servo 핀 설정Servo myservo; //Servo에 따르는 myservo 라는 객체명을 정한다//void setup(){Serial.begin(9600);myservo.attach(9);pinMode(sen,INPUT); // 적외선 감지센서pinMode(sen2,INPUT); // 금속감지센서pinMode(LED,OUTPUT);}//void loop(){if(digitalRead(sen)==LOW){ // 적외선digitalWrite(LED,HIGH);if(digitalRead(sen2)==LOW)myservo.write( 50); // 금속else myservo.write(-50); // 비금속}delay(2000); while(digitalRead(sen));}else{ digitalWrite(LED,HIGH); myservo.write(0); }}
댓글 0
조회수 5,014등록된 댓글이 없습니다.