BASIC4MCU | 질문게시판 | 답변 : 초음파센서 아두이노
페이지 정보
작성자 master 작성일2018-06-07 10:47 조회5,478회 댓글0건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=1520
본문
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2018-06-07 오전 10:50:53// by Ok-Hyun Park//#define TRIG 2#define ECHO 3#define TRIG1 4#define ECHO1 5#define RED 11#define GREEN 10#define BLUE 9//int distance,distance1;//void setup(){pinMode(TRIG,OUTPUT); pinMode(ECHO,INPUT);pinMode(TRIG1,OUTPUT); pinMode(ECHO1,INPUT);}//void loop(){digitalWrite(TRIG,HIGH); delayMicroseconds(10); digitalWrite(TRIG,LOW);long distance=pulseIn(ECHO,HIGH)/58.2;Serial.print("distance"); Serial.println(distance);delay(50);digitalWrite(TRIG1,HIGH); delayMicroseconds(10); digitalWrite(TRIG1,LOW);long distance1=pulseIn(ECHO1,HIGH)/58.2;Serial.print("distance1"); Serial.println(distance1);delay(50);//analogWrite(RED,0); analogWrite(GREEN,0); analogWrite(BLUE,0);if(distance <5){ analogWrite(RED ,255); } else analogWrite(RED ,0);if(distance1<5){ analogWrite(GREEN,255); } else analogWrite(GREEN,0);}//그리고 시리얼 모니터에 거리도 띄우게 하고싶은데 코드는//int trigPinTop=12;int echoPinTop=11;int trigPinBot=8;int echoPinBot=9;int cntStair=0;int cntWall=0;long durationTop,distanceTop,durationBot,distanceBot;//void initVal(){ cntStair=0; cntWall=0; }//void checkBarrier(int distanceTop,int distanceBot){ // 1: not,2: stair,3: wall// For the ochaSerial.print(distanceTop); Serial.print(" "); Serial.println(distanceBot);//if(distanceTop>=100&&distanceBot>=90){ initVal(); } // non barrierelse if(distanceTop>=90){ // Stairif(cntStair==0){ initVal(); }if(++cntStair==3){ Serial.println('b'); initVal(); }}else{ // wallif(cntWall==0){ initVal(); }if(++cntWall==3){ Serial.println('a'); initVal(); }}}//void setup(){Serial.begin(9600);pinMode(trigPinTop,OUTPUT); pinMode(echoPinTop,INPUT);pinMode(trigPinBot,OUTPUT); pinMode(echoPinBot,INPUT);}//void loop(){digitalWrite(trigPinTop,HIGH); delayMicroseconds(10); digitalWrite(trigPinTop,LOW);durationTop=pulseIn(echoPinTop,HIGH); distanceTop=(durationTop/2)/29.1;Serial.print("distanceTop"); Serial.println(distanceTop);delay(50);//digitalWrite(trigPinBot,HIGH); delayMicroseconds(10); digitalWrite(trigPinBot,LOW);durationBot=pulseIn(echoPinBot,HIGH); distanceBot=(durationBot/2)/29.1;Serial.print("distanceBot"); Serial.println(distanceBot);delay(50);//checkBarrier(distanceTop,distanceBot);delay(500);}
댓글 0
조회수 5,478등록된 댓글이 없습니다.