基于Wemos的感应开盖垃圾桶

这是很久之前的demo了,今天整理下做个记录,毕竟是学习的过程。

准备材料以及简述

WeMos D1

特性

  1. 基于ESP-8266EX

  2. Arduino兼容,使用rduino IDE来编程

  3. 11 x I/O 引脚

  4. 1 x ADC 引脚(输入范围0-3.3V)

  5. 板载5V 1A开关电源(高输入电压24V)

工作中:

和stm32模块开发类似,集成度高

STM32方案也更经济便宜

在这里插入图片描述

超声波模块

超声波传感器模块上面通常有两个超声波元器件,一个用于发射,一个用于接收。电路板上有4个引脚: VCC(正极)、Trig(触发)Echo(回应)、GND(接地),主要参数:
1.工作电压与电流:5V、15mA。
2.感测距离:2~400cm。
3.感测角度:不大于15°。
4.被测物的面积不要小于50cm2并且尽量平整,具备温度补偿电路。
5.在超声波模块的触发脚位输入10微妙以上的高电位,即可发射超声波,发射超声波之后,与接收到传回的超声波之前,“响应”脚位呈现高电位。因此,程序可从“响应”脚位的高电位脉冲持续时间,换算出被测物的距离。

在这里插入图片描述

S90舵机

型号:SG90重量13克角度90度-180度通用

红色是电压,粽色是地线,橙色是信号线
主要参数:
尺寸:21.5mm×11.8mm×22.7mm

重量:9克
无负载速度:0.12秒/60度(4.8V)

堵转扭矩:1.2-1.4公斤/厘米(4.8V)

使用温度:-30N~+60摄氏度
死区设定:7微秒
工作电压:4.8V-6V

在这里插入图片描述

在这里插入图片描述

另外,开发环境是Arduino,和keil对比,Arduino可以集成很多开发库如串口、网络、sg90等;包含各种硬件开发接口,迅捷开发;自带串口调试工具,缺点就是程序编译速度慢。

在这里插入图片描述

操作过程

首先我们看看硬件的连接线。

超声波传感器:
VCC——wemos 5V
GND——wemos GND
Trig——wemos D8
Echo——wemos D2
舵机SG90:
红色——3.3V(正极)
棕色——wemos GND(负极)
橙色——wemos D5(信号线)

然后写入代码。

#include <Servo.h>
#define DuoPIN D5
#define Echo D2
#define Trig D8
Servo myDuoJi;//Servo类


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);
  Serial.begin(115200);//串口测试用了
}

void loop() {
    
    //loop不断地循环获取数据
  //获取距离
  long dis;
  dis = getTime() / 58;//根据超声波的粗略测距原理,除以58
  Serial.print(dis);
  Serial.println("cm");
  if(dis < 10){
    
    
        myDuoJi.write(180);
        delay(1000);
      }else{
    
    
         myDuoJi.write(60);
      }
  delay(400);
}

代码写好之后保存上传。

在这里插入图片描述

运行效果

接下来我们看看运行效果吧。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_44333320/article/details/125696725