2021-01-29
作者:互联网
基于wemos板和SG90舵机改造的智能开盖垃圾桶
一.使用的基本元器件及其他工具
1.wemos板(那种类型都可以)
2.杜邦线
3.绝缘黑色胶带
4.剪刀
5.超声波模块(一个)
6.热熔枪
**
二.开发环境**
1.基于ArduiNo开发环境
三.对于SG90舵机元器件基本介绍
1.工作电压:4.8V—6V
2.无负载速度:0.12秒/60度(在4.8V的状态下)
3.如何接线
(1)红色线负责正极
(2)棕色线负责接地
(3)橙色线为信号线,为了控制舵机的角度
四.解释Servo类函数的用法
attach | 连接舵机(自带库9/10有效) |
---|---|
write | 角度控制 |
attached () | 检查舵机及是否连接控制板上 |
writecroseconds()– | 更精准的角度控制 |
read() | 读上一次舵机转动角度 |
detach | 断开舵机连接,使接口(9/10脚)可做PWM输出 |
五.成果展示及舵机实物图
1.舵机实物图
2.成果展示
https
https://v.qq.com/x/page/u3224jupu6z.html?sf=uri(原视频连接)
六.总结
垃圾桶这个项目是基于小车项目之上所开发出来的项目,首先,一定要搞清楚要定义的引脚所要实现的功能。其次,要分清舵机的每根线的接口不然接线接错会导致舵机烧坏;还有舵机控制的角度可以根据实际情况自我调整。最后,一定要注意代码的书写规范程度。
七.代码展示
#include <Servo.h>
# define Echo D2 // 引脚接到D2引脚上
# define Trig D8 //引脚接到D8引脚上
# define DuoPIN D5
Servo myDuoJi;
long getTime()
{
digitalWrite(Trig, HIGH); //发送一个10微秒脉冲
delayMicroseconds(10);
digitalWrite(Trig, LOW);
return pulseIn(Echo, HIGH); //波传输过程echo高电平,计算高电平时间就获取波传输的时间,单位是(微秒)
}
void initChaoShengBo() //定义超声波
{
pinMode(Echo, INPUT); //输出引脚
pinMode(Trig, OUTPUT); //输入引脚
}
void setup() {
// put your setup code here, to run once:
myDuoJi.attach(DuoPIN);
initChaoShengBo();
Serial.begin(115200);
}
void loop() {
// put your main code here, to run repeatedly:
long dis;
dis = getTime() / 58;
if (dis < 10) { //定义超声波的距离
delay(250);
myDuoJi.write(180);
}
else {
delay(250);
myDuoJi.write(90); //转动的角度
}
}
标签:10,01,引脚,myDuoJi,舵机,29,角度,2021,Trig 来源: https://blog.csdn.net/weixin_50661064/article/details/113385932