这是很久之前的demo了,今天整理下做个记录,毕竟是学习的过程。
准备材料以及简述
WeMos D1
特性
-
基于ESP-8266EX -
Arduino兼容,使用rduino IDE来编程 -
11 x I/O 引脚 -
1 x ADC 引脚(输入范围0-3.3V) -
板载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;
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() {
long dis;
dis = getTime() / 58;
Serial.print(dis);
Serial.println("cm");
if(dis < 10){
myDuoJi.write(180);
delay(1000);
}else{
myDuoJi.write(60);
}
delay(400);
}
代码写好之后保存上传。
运行效果
接下来我们看看运行效果吧。
|