14. 综合实验三 - 环境感应设备

14.1. 实验介绍

14.1.1. 实验物料清单

名称

数量

备注

OLED屏

1

DHT11温湿度传感器

1

扩展板板载

按键

1

扩展板板载

5v电机风扇

1

循迹模块

1

舵机

1

14.1.2. 实验现象介绍

OLED屏幕显示DHT11温湿度数据,板载按键Key1可以开启或关闭电机风扇,关闭时任何条件都不转。 风扇开启时默认缓速旋转,当温度上升到一定值时高速旋转,温度下降到一定值时回到缓速旋转。 循迹(反射式红外)模块被触发时,舵机旋转45度并停顿2秒后回位,用于模拟手动触发设备开关。

14.1.3. 实验接线

OLED屏接线:参考《8.I2C接口 OLED屏幕》章节。

5V电机风扇接线:将扩展板的AO1或BO1接电机正级,AO2或BO2接电机负极。

红外寻迹模块:

光敏电阻模块

GPIO扩展

DO

P1_0

GND

GND

VCC

3.3v

舵机接线:参考《12.舵机接口》章节。

14.2. 实验操作

14.2.1. 开启插件

本次实验以鲁班猫1为例,执行如下命令并开启相关插件:

1
sudo vi /boot/uEnv/uEnv.txt
../_images/show-dtbo6.png

14.2.2. 获取程序

综合实验三程序位于lubancat_rk_code_storage/expansion_board/experiment/experiment_3_environmental-unit, 将experiment_3_environmental-unit整个文件夹拷贝到板卡。

本实验要用到的外设配置已经在配置文件configuration.json中定义,运行程序前可按实际情况修改。一般 只需要修改按键的输入事件,因为每次上电后,这些输入事件的注册顺序不一定每次相同。

14.2.3. python代码测试

python测试代码为:python/main.py

执行如下命令运行程序:

1
2
3
4
5
# 进入python程序目录
cd python

# 运行程序
sudo python main.py

14.2.4. c代码测试

c测试代码为:c/main.c

执行如下命令运行程序:

1
2
3
4
5
6
7
8
# 进入c程序目录
cd c

# 编译程序
make

# 运行程序
sudo ./main

程序运行后,OLED会显示温湿度数据。通过按下板载按键Key1使能和关闭电机,在电机使能状态下, 环境温度低于阈值时,电机匀速旋转,当环境温度超过阈值时,电机加速旋转。电机在关闭状态下不受温度控制。 当红外模块检测到物体时,舵机旋转45度,2秒后复位。