基于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
- 特性
- Arduino开发环境
- 超声波模块介绍
- 响应测距核心代码
- 自己实现感应开盖功能的代码
- 关于距离中除以58的说明
- SG90舵机
- 接线
- 成品如下
硬件平台介绍 WeMos D1
特性
- 基于ESP-8266EX
- Arduino兼容,使用arduino IDE来编程
- 11 * I/O 引脚
- 1 * ADC引脚(输入范围0-3.3V)
- 板载5V 1A开关电源(高输入电压24V)
**工作中**
- 和STM32模块开发类似,集成度高
- 更经济便宜
软件环境介绍
Arduino开发环境
优点:
- 集成很多开发库如串口,网络,sg90等各种硬件开发接口,迅捷开发
- 自带串口调试工具
缺点:
- 程序编译速度慢
超声波模块介绍
超声波传感器模块上面通常有两个超声波元件器,一个用于发射,一个用于接受。电路板上有4个引脚:VCC(正极)、Trig(触发)、Echo(回应)、GND(接地)
主要参数:
- 工作电压与电流:5V、15mA
- 感测距离:2~400cm
- 感测角度:不大于15°
- 被测物体的面积不要小于50cm²并且尽量平整
- 具备温度补偿电路
在超声波模块的出发脚位输入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 D8Servo 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
成品如下
基于Wemos D1的感应开盖垃圾桶相关推荐
- 基于 wemos d1 智能感应开盖垃圾桶
基于WEMOS d1的智能感应开盖垃圾桶 1.需要用的软件: arduino 垃圾桶视频: 智能感应开盖垃圾桶 2.硬件清单 1.Wemos d1 板子 2.超声波模块 3.SG90 舵机 4.垃圾桶 ...
- 基于Wemos的智能感应开盖垃圾桶——日记
参考:基于Wemos的智能感应开盖垃圾桶--日记 作者:9art0 发布时间:2020-09-24 00:40:59 网址:https://blog.csdn.net/GatoWong/article ...
- 基于Wemos的智能感应开盖垃圾桶
基于Wemos的智能感应开盖垃圾桶 前言 硬件部分 软件部分 一.舵机控制 二.超声波控制 三.项目整体代码 思考 前言 记录嵌入式学习的第一个小项目吧,基于Wemos的智能感应开盖垃圾桶(上官可编程 ...
- 初识嵌入式之WeMos D1超声波感应开盖垃圾桶
目录 硬件平台介绍:WeMos D1 开发环境介绍:ARDUINO开发环境 WeMos的IO口测试:驱动蜂鸣器 蜂鸣器 接线 由于该芯片基于串口连接------安装串口驱动 开发环境配置 选择端口 让 ...
- 基于Wemos D1的智能感应开盖垃圾桶
硬件:这个项目我们主要用到的东西有环保型垃圾桶,Wemos D1模块,舵机,超声波模块,串口助手,若干条杜邦线等等. 环境:arduino 思路:首先这个项目又超声波,wemos d1模块,舵机SG9 ...
- 基于Wemos的感应开盖垃圾桶
基于Wemos的感应开盖垃圾桶 一.绪论 1.研究背景 2.研究意义 二.系统总体设计方案 1.设计思路 2.硬件平台功能介绍 3.软件开发环境 三.设计思路实现步骤 1.Wemos的IO口研究驱动蜂 ...
- 51单片机之感应开盖垃圾桶
目录 定时器 晶振 时钟周期 机械周期 每经过一个机械周期经过多长时间 定时器和计数器的区别 定时器相关寄存器 定时10ms,相关寄存器的配置 单片机中断 什么是中断 中断源 中断优先级 中断函数 中 ...
- 基于51单片机来开发的智能感应开盖垃圾桶
为什么要引入定时器呢? 因为定时到报表的时候,可以由硬件执行那部分程序,软件部分仍然单独运行. 一.智能垃圾桶需求分析: 当距离小于等于10时,垃圾桶开盖持续两秒钟,否则垃圾桶关闭盖子 当检测到震动时 ...
- 第四篇 小项目整合-感应开盖垃圾桶v3.0
目录 一.项目概述 1.功能描述 2.所需硬件 3.接线说明 二.开发步骤 1.SG90和HC-SR04代码整合 2.添加按键控制(433M)和开盖滴滴声(蜂鸣器) 3.添加震动控制(外部中断配合)
最新文章
- 工具 | 四元数长什么样?这个小工具将旋转量可视化+相互转换,效果直观!
- openssl、x509、crt、cer、key、csr、ssl、tls
- 从这篇文章可以看出有些错误,由此可以看出,还是看msdn要好的多,这是我的经验
- VC++中,如何定义callback函数和它的触发事件?
- replication debug for PRODUCT_MAT
- [BZOJ2152]聪聪可可(点分治)
- 安卓 qemu 运行linux,在Qemu的beagleboard上运行Android
- C++ Reference: Standard C++ Library reference: C Library: cwctype: wint_t
- 扫描仪服务器正在运行中,针对使用 Acrobat 时出现的扫描仪问题的故障排除提示...
- 人工智能的历史(History of artificial intelligence)
- JavaScript大师Nicholas C. Zakas又一大作出中文版了
- SpringBoot基础学习之整合Swagger框架(下篇)
- arduino esp32 读福申甲醛传感器
- C# 的1ms延时函数
- ECCV 2022 旷视入选论文亮点解读(上)
- Non-UTF-8 code starting with ‘\xb5‘ in file D:\eclipse\Python\test\__init__.
- 斐波那契数列 - 递推公式及通项公式 代码
- WEB开发技能树-JavaScript-DOM
- 琢石成器――windows环境下32位汇编语言程序设计(第三版)笔记
- python的递归为什么难理解_为什么Python有最大的递归深度?
热门文章
- z-index ie无效
- canvas--初级
- 【oracle】关于创建表时用default指定默认值的坑
- Sqoop拒绝连接错误
- UEditor 百度富文本编辑器 .Net实例
- 编程挑战:字符串的完美度
- 嵌入式系统文件系统比较 jffs2, yaffs, cramfs, romfs, ramdisk, ramfs/tmpfs
- halcon Bit图位像素处理算子,持续更新
- HALCON示例程序obj_diff.hdev算子obj_diff 的使用
- 误删了microsoft visual c++后如何正常运行matlab