智能垃圾桶
这是一个用于控制智能垃圾桶的 Arduino 代码。 当物体在垃圾桶前方 20 厘米范围内时,其盖子会自动打开。 该项目使用了 SG90 舵机电机和 HC-SR04 超声波距离传感器。
所需元件
在这个项目中,我们需要以下元件。
购买整套套件会更方便,以下是链接:
名称 |
套件所含项目 |
链接 |
|---|---|---|
Elite Explorer 套件 |
300+ |
您也可以从下面的链接单独购买。
元件介绍 |
购买链接 |
|---|---|
- |
|
接线
原理图
代码
备注
您可以直接打开路径
elite-explorer-kit-main\fun_project\07_smart_trash_can下的07_smart_trash_can.ino文件。或者将这段代码复制到 Arduino IDE 中。
工作原理
以下是代码的逐步说明:
导入库并定义常量/变量:
导入
Servo.h库用于控制 SG90 舵机电机。 定义了舵机电机、超声波传感器以及其他所需常量和变量的参数。setup():以 9600 的波特率初始化与计算机的串行通信。 配置超声波传感器的触发和回波引脚。 将舵机电机连接到其控制引脚,并将其初始位置设置为关闭角度。设置角度后,断开舵机电机的连接以节省电力。
loop():测量距离三次并存储每次测量的值。 计算三次测量的平均距离。 如果平均距离小于或等于 20 厘米(定义的距离阈值),则舵机电机旋转到打开角度(0 度)。 否则,舵机电机在延迟一秒钟后返回到关闭位置(90 度)。不使用时断开舵机电机的连接以节省电力。
readDistance():向超声波传感器的触发引脚发送一个脉冲。 测量回波引脚的脉冲宽度并计算距离值。 此计算使用空气中的声速根据脉冲时间计算距离。