初学Arduino环境下WeMos D1制造简单智能垃圾桶项目(蜂鸣器、 SG90舵机、超声波模块)

项目代码

#include <Servo.h>
#define DuoPIN D5
#define  Echo D2
#define  Trig D8
#define  BEEP D7
Servo myDuoJi;
void  initChaoShenBo()
{pinMode(Trig,OUTPUT);pinMode(Echo,INPUT);
}
long Gettime()
{digitalWrite(Trig,HIGH);delayMicroseconds(10);   // 延时 10微妙digitalWrite(Trig,LOW);return pulseIn(Echo, HIGH);
}
void setup() {initChaoShenBo();myDuoJi.attach(DuoPIN);Serial.begin(115200);pinMode(BEEP,OUTPUT);digitalWrite(BEEP,HIGH);
}void loop() {long dis;dis=Gettime()/58;Serial.print(dis);Serial.println("cm");if( dis < 10 ){digitalWrite(BEEP,LOW);        //蜂鸣器 低电平myDuoJi.write(-180);           //舵机转动delay(1000); }else{digitalWrite(BEEP,HIGH);myDuoJi.write(80);}     delay(500);
}

简单的复习以下Arduino下的一些指令函数

1、pinMode( )
功能:指定特定端口是作为输入还是输出的
代码原型:pinMode(pin,mode)
其中 pin为想要设定的端口号;mode为选择模式,由 INPUT,OUTPUT,INPUT_PULLUP三种模式
代码案例: pinMode(Trig,OUTPUT);
pinMode(Echo,INPUT);
2、digitalWrite( )
功能:设置控制引脚高低电平
代码原型:digitalWrite(pin, value)
其中pin为你选择设置的引脚,value为你要设置的值,有两种HIGH,LOW
代码案例: digitalWrite(Trig,HIGH);
digitalWrite(Trig,LOW);
3、digitalRead( )
功能:读取引脚电平状态
代码原型:digitalRead( pin)
其中pin 为读取引脚
代码案例: cmd=digitalRead( D5 );
4、两种延时函数
delay(ms) 无返回值,延时时间的单位为ms;
delayMicroseconds (us) 单位为us;

串口通信函数

1、Serial.begin( )
用于设置串口的波特率,波特率是指每秒传输的比特数,除以8就说每秒传输的字节数,一般用9600、115200、19200、57600
2、Serial.available( )
判断串口是否结束到数据,返回值为int型
3、Serial.read( )
用与将串口的数据读入,该函数返回值为Int型
4、Serial.print( )
用于从串口输出数据 如Serial.print(dis);
5、Serial.println( )
比Serial.print 多了回车换行动能

初学Arduino环境下WeMos D1制造简单智能垃圾桶项目(蜂鸣器、 SG90舵机、超声波模块)相关推荐

  1. Arduino IDE环境下WeMos D1开发板引脚定义和映射

    Arduino IDE环境下WeMos D1开发板引脚定义和映射

  2. 基于WeMos D1+esp8266的智能垃圾桶和智能家居

    1.环境搭建 本次主要是用ArduinoIDE平台来进行开发,可以去官网进行下载:Arduino - Home 也可去网盘下载,在这里为大家准备了网盘连接: 链接:https://pan.baidu. ...

  3. Arduino IDE环境下WeMoS D1mini引脚定义和映射

    Arduino IDE环境下WeMoS D1mini引脚定义和映射

  4. 解决Arduino环境下ESP8266模块无限重启崩溃问题

    问题背景: 最近使用ESP8266模块(NodeMCU)在Arduino环境下进行开发调试时遇到了一个ESP8266模块无限重启崩溃的问题.这个问题不是第一次发生了,很久之前遇到了后面也不知道怎么解决 ...

  5. 《ESP32 学习笔记》 之Arduino环境下 使用DAC模拟输出(是真的DAC哦!)完成两路呼吸灯

    在 Arduino 环境下经常使用的 analogWrite(PIN, arg) 语法并不是真正的DAC模拟输出,也只是1kHZ的PWM 波模拟而成! 支持DAC功能的引脚请查看:引脚定义 本次ESP ...

  6. 北航计算机测试控制智能车,“车路协同环境下车辆群体智能控制理论与测试验证”项目顺利通过科技部中期检查...

    2020年11月25日,科技部高技术研究发展中心"综合交通运输与智能交通"重点专项管理办公室组织专家在北京完成了对我校牵头的"车路协同环境下车辆群体智能控制理论与测试验证 ...

  7. 5G环境下工业互联网向向智能制造过渡

    Industrial IoT in 5G environment towards smart manufacturing 5GIIoT Background IIoT: 技术趋势 适用于IIoT的通信 ...

  8. Arduino笔记-Arduino UNO与WeMos D1串口通信(数据交互)

    原理图是这样的: 设备A代表Arduino UNO设备B代表WeMos D1. 实际连接图如下: 程序运行截图如下: 这个是Arduino上的串口打印,前面那个S表示Arduino发送字符S,当接收到 ...

  9. 阿里云ECS服务器Linux环境下配置php服务器(三)--项目部署篇

    在前两篇里,我们分别介绍了如何购买阿里云服务器,安装基本软件和配置(请看阿里云ECS服务器Linux环境下配置php服务器(一)--基础配置篇) 以及如何安装使用phpMyAdmin(请看阿里云ECS ...

最新文章

  1. 2019年上半年收集到的人工智能强化学习干货文章
  2. 高性能的MySQL(5)索引策略
  3. 最强人脸检测来了 yolov5 face
  4. 使用 pg_dump 迁移 postgresql
  5. QT的QGeoRoutingManager类的使用
  6. STM32f4 ARM Bootloader
  7. angularjs 上传
  8. android设置高德的3d,高德地图3D版的使用方法
  9. 甲骨文谷歌继续打官司:美最高法院同意复审 Java API 版权诉讼案
  10. (十)Struts2 值栈/OGNL
  11. Android项目开发实战——简单备忘录
  12. matlab rsenc函数,Xilinx RS编码IP核仿真验证
  13. Qt之QTreeWidget增删节点
  14. C++的游戏--贪吃蛇
  15. 如何学习三点透视?该注意什么?
  16. 【vue】vue用了keep-alive生命周期只执行一次怎么办?
  17. WebService 理论详解、JWS(Java Web Service) 快速入门
  18. day4 css复合选择器元素背景
  19. div和span的标签属性及说明
  20. H5页面是什么意思?H5游戏怎么做?

热门文章

  1. 文件操作系列之三——(windows中的文件操作)
  2. LeetCode_904 水果成篮
  3. std::string::substr
  4. 数据中台总体技术架构
  5. 955.WLB 红包封面来啦!送给希望不加班的你~
  6. 媒体称中国在秘鲁千万吨级世界特大型铜矿被暂停
  7. 错误与编程——抛弃 C程序设计 中的谬误与恶习
  8. mac os 多窗口固定顺序的方法
  9. 开发板ARM+FPGA架构运动控制卡 运动控制器
  10. 坐标换与雅克比矩阵 Jacobian