找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7557|回复: 0
打印 上一主题 下一主题
收起左侧

arduino多超声波同时控制的方法

[复制链接]
跳转到指定楼层
楼主
ID:379088 发表于 2018-7-25 17:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#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);
    }



}


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表