基于WeMos D1的智能垃圾桶(Arduino开发平台)

#include <Servo.h>

#define Echo D2
#define Trig D8
#define BEEP D5
#define DuoPIN D6

Servo myDuoji;

//超声波测距(原理:通过测得的时间/58得到距离cm)
long getTime()
{
digitalWrite(Trig, HIGH);
delayMicroseconds(10);
digitalWrite(Trig, LOW);
return pulseIn(Echo, HIGH); //arduino获取往返时间
}

//初始化超声波函数
void initChaoShengBo()
{
//初始化超声波的两个引脚
pinMode(Echo, INPUT);
pinMode(Trig, OUTPUT);
}

void setup(){
initChaoShengBo(); //函数调用,初始化超声波
Serial.begin(115200); //初始化波特率
Serial.println(“start”); //测试串口是否启动,启动成功发送start
pinMode(BEEP, OUTPUT); //将与蜂鸣器相对的D5引脚设为输出引脚
digitalWrite(BEEP, HIGH); //初始化D5引脚为高电平,防止一上电蜂鸣器就响
myDuoji.attach(DuoPIN); //将实例化的舵机与D6口建立联系

}

void loop(){
//获取距离
long dis; //定义距离变量 dis
dis = getTime()/58; //将时间/58即为测得的距离
Serial.print(dis); //在串口助手端输出测试的距离
Serial.println(“cm”); //输出cm单位后,换行
if(dis < 10){
digitalWrite(BEEP, LOW); //蜂鸣器响
myDuoji.write(90); //开盖
}
else{
digitalWrite(BEEP, HIGH); //蜂鸣器停止响
myDuoji.write(180); //关盖
}
delay(500);
}
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值