其他分享
首页 > 其他分享> > 2021-01-29

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

<iframe allowfullscreen="true" data-mediaembed="tencent" id="3rQkuyKK-1611917672900" src="https://v.qq.com/txp/iframe/player.html?vid=u3224jupu6z"></iframe>

WeChat

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