基于Wemos D1的感应开盖垃圾桶

参考:基于Wemos D1的感应开盖垃圾桶(增加自己的代码实现部分)
作者:LEO-max
发布时间:2020-12-29 15:21:26
网址:https://blog.csdn.net/zouchengzhi1021/article/details/111880104?spm=1001.2014.3001.5502

硬件平台介绍 WeMos D1

在这里插入图片描述

特性

  1. 基于ESP-8266EX
  2. Arduino兼容,使用arduino IDE来编程
  3. 11 * I/O 引脚
  4. 1 * ADC引脚(输入范围0-3.3V)
  5. 板载5V 1A开关电源(高输入电压24V)
**工作中**
  1. 和STM32模块开发类似,集成度高
  2. 更经济便宜
软件环境介绍

Arduino开发环境

优点:

  1. 集成很多开发库如串口,网络,sg90等各种硬件开发接口,迅捷开发
  2. 自带串口调试工具
缺点:
  1. 程序编译速度慢

超声波模块介绍

在这里插入图片描述

超声波传感器模块上面通常有两个超声波元件器,一个用于发射,一个用于接受。电路板上有4个引脚:VCC(正极)、Trig(触发)、Echo(回应)、GND(接地)

主要参数:
  1. 工作电压与电流:5V、15mA
  2. 感测距离:2~400cm
  3. 感测角度:不大于15°
  4. 被测物体的面积不要小于50cm²并且尽量平整
  5. 具备温度补偿电路

在超声波模块的出发脚位输入10微秒以上的高电位,即可发射超声波。发射超声波之后,与接收到传回的超声波之前,“响应”脚位呈现高电位,因此,程序可从“响应”脚位的高电位脉冲持续时间,换算出被测物的距离。

超声波模块原理:

在这里插入图片描述

在这里插入图片描述

响应测距核心代码

const byte trigPin = 10;
const int echoPin = 9;
unsigned long d;
unsigned long ping(){
	digitalWrite(trigPIN, HIGH)delayMicroseconds(10);	//发送一个10us脉冲
	digitalWrite(trigPin, LOW);
	return pulseIn(echoPin, HIGH);	//波传过程echo高点品,计算高电平时间就获取波传输时间,单位是us

}

void setup(){
	pinMode(trigPin, OUTPUT)
	pinMode(echoPin, INPUT);
	Serial.begin(115200);
}

void loop(){
	d = ping()/58;
	Serial.print(d);
	Serial.print("cm");
	Serial.printn();
	delay(1000);
}		

自己实现感应开盖功能的代码

#include <Servo.h>

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

Servo myDuoji;
long getTime(){
  
  digitalWrite(Trig, HIGH);
  delayMicroseconds(10);
  digitalWrite(Trig, LOW);

  return pulseIn(Echo, HIGH);
  }

void initChaoShengBo()
{
  pinMode(Echo,INPUT);
  pinMode(Trig,OUTPUT);
 
 }

void setup() {
  initChaoShengBo();
  myDuoji.attach(DuoPIN);
  
}

void loop() {
  // put your main code here, to run repeatedly:
  long dis;
  dis = (getTime())/58;
  if(dis < 10){
      myDuoji.write(90);
      delay(2000);
   }
   else{
      myDuoji.write(180);  
   }
   
}

关于距离中除以58的说明

声音在干燥、20℃的空气中的传播速度大约为343m/s,即34300cm/s,换算单位,34300 / 1,000,000cm/us。即为0.0343cm/us,再换一个角度,1/0.0343cm/us,即29.15us/cm,这就意味这,291.5us表示10cm的距离,1cm就是29.15us, 但是从发送到接受,声音走过2倍的距离。所以实际距离就是1cm对应58.3us。实际整个测距过程是测的发出声波到收到回波的时间,程序里的时间是us,换成距离cm,要除以58(58.3)

SG90舵机

在这里插入图片描述
型号:SG90 重量13克 角度90°~270°
红色线为电压 棕色线为地线 橙色线为信号线
尺寸:21.5mm11.8mm22.7mm
重量:9克
五负载速度:0.12s/60° (4.8V)
堵转扭矩:1.2-1.4公斤/厘米(4.8V)
使用温度:-30℃~60℃
死区设定:7us
工作电压:4.8V-6V

接线

超声波测距模块

1.VCC接Wemos板的5V口
2.Trig接Wemos板的D8
3.Echo接Wemos板的D2
4.Gnd接Wemos板的GND

 
 
  • 1
  • 2
  • 3
  • 4

SG90舵机

1.橙色线接Wemos板的D5
2.红色线接Wemos板的3.3V
3.灰色线接Wemos板的另一个GND

 
 
  • 1
  • 2
  • 3

成品如下

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值