标题: arduino多超声波同时控制的方法 [打印本页]

作者: MT不吃鸡    时间: 2018-7-25 17:42
标题: arduino多超声波同时控制的方法
#include <Servo.h>    // 声明调用Servo.h
float distance1;
float distance2;
float distance3;
#define T1 3
#define R1 4         //第一個超聲波
#define T2 5         //第二個超聲波
#define R2 6
#define T3 7        //第三個超聲波
#define R3 8
#define LED 2       //LED的引脚

void setup()
{
pinMode(T1,OUTPUT);
pinMode(T2,OUTPUT);
pinMode(T3,OUTPUT);
pinMode(R1,INPUT);
pinMode(R2,INPUT);
pinMode(R3,INPUT);
pinMode(LED,OUTPUT);
Serial.begin(9600);
}

void loop()
{

  /********第一個超聲波的距離***************/
digitalWrite(T1,LOW);   
delayMicroseconds(2);//拉低電平
digitalWrite(T1,HIGH);//給12us的高電平   
delayMicroseconds(10);//拉低電平
digitalWrite(T1,LOW);

distance1=pulseIn(R1,HIGH)/58;     
delay(10);
/*****************************************/

  /********第二個超聲波的距離***************/
digitalWrite(T2,LOW);   
delayMicroseconds(2);//拉低電平
digitalWrite(T2,HIGH);//給12us的高電平   
delayMicroseconds(10);//拉低電平
digitalWrite(T2,LOW);

distance2=pulseIn(R2,HIGH)/58;     
delay(10);
/*****************************************/

  /********第3個超聲波的距離***************/
digitalWrite(T3,LOW);   
delayMicroseconds(2);//拉低電平
digitalWrite(T3,HIGH);//給12us的高電平   
delayMicroseconds(10);//拉低電平
digitalWrite(T3,LOW);

distance3=pulseIn(R3,HIGH)/58;     
delay(10);
/*****************************************/

if(distance2<30)
{

  digitalWrite(LED,HIGH);
  }
  else
  {

    digitalWrite(LED,LOW);
    }



}







欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1