BASIC4MCU | 질문게시판 | 답변 2: 속도.초음파.서보모터 질문입니다.
페이지 정보
작성자 master 작성일2018-08-09 22:14 조회4,031회 댓글0건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=2722
본문
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2018-08-09 오후 10:17:09// by Ok-Hyun Park//#include <Servo.h>#define distance 5.4977871437821381673096259207391 // (3.5*PI) / 2 [cm]Servo servo;int trig=9,echo=8;const byte interruptPin=2;int count=0;//char flag=0;unsigned long dis=0,t1,t2;//void setup(){pinMode(echo,INPUT); pinMode(trig,OUTPUT); pinMode(interruptPin,INPUT_PULLUP);Serial.begin(9600);servo.attach(7); servo.write(0);time=millis();attachInterrupt(digitalPinToInterrupt(interruptPin),blink,FALLING);}//void loop(){if(flag){ flag=0;t2=t1;float velocity=distance/t2; //unit: cm/msecvelocity=velocity/100*3600; //unit: km/hSerial.println(velocity);digitalWrite(trig,HIGH); delayMicroseconds(10); digitalWrite(trig,LOW);dis=pulseIn(echo,HIGH)/29/2; Serial.print(dis); Serial.println("cm");if(velocity==0){ // 검출되지 않으면if(dis>20)servo.write(90); // 사람이 없으면else servo.write( 0);}}}//void blink(){t1=millis()-t1;flag=1;}
Serial.println(velocity);시리얼모니터에 어느정도 범위의 값이 뜨는지 체크해서if(velocity<??){ // 검출되지 않으면적당한 값을 체크하세요
댓글 0
조회수 4,031등록된 댓글이 없습니다.