11. 综合实验二 - OLED多功能菜单

11.1. 实验介绍

11.1.1. 实验物料清单

名称

数量

备注

OLED屏

1

超声波模块

1

蜂鸣器

1

扩展板板载

DHT11温湿度传感器

1

扩展板板载

MPU6050姿态传感器

1

心率血氧模块

1

光敏电阻模块

1

热敏电阻模块

1

EC11旋转编码器

1

按键

1

扩展板板载

11.1.2. 实验现象

该实验会基于OLED屏显示一个多功能信息菜单,该信息菜单有5个菜单项,分别是超声波菜单、DHT11菜单、MPU6050菜单、心率血氧菜单、光敏热敏菜单, 通过旋转编码器的左右旋转来选择菜单项,按下旋转编码器进入菜单项。通过按下板载按键key2返回上级菜单。

11.1.3. 实验接线

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

超声波模块接线:参考《6.超声波传感器》章节。

MPU6050姿态传感器和心率血氧模块共用一个I2C接口:参考《9.I2C接口 传感器》章节。

光敏电阻模块和热敏电阻模块:

光敏电阻模块

GPIO扩展

热敏电阻模块

GPIO扩展

AO

AO

DO

P1_0

DO

P1_1

GND

GND

GND

GND

VCC

3.3v

VCC

3.3v

EC11旋转编码器接线:参考《10.EC11旋钮编码器接口》章节。

11.2. 实验操作

11.2.1. 开启插件

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

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

11.2.2. 获取程序

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

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

11.2.3. python代码测试

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

执行如下命令运行程序:

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

# 运行程序
sudo python main.py

11.2.4. c代码测试

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

执行如下命令运行程序:

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

# 编译程序
make

# 运行程序
sudo ./main

通过EC11顺逆时针旋转切换菜单,按下EC11按键进入目标菜单,按下板载Key2按键返回。

超声波菜单:

../_images/show-operation-runcode-hcsr04.png

DHT11菜单:

../_images/show-operation-runcode-dht11.png

MPU6050菜单:

../_images/show-operation-runcode-mpu6050.png

心率血氧菜单:

../_images/show-operation-runcode-max30102.png

光敏热敏菜单:

../_images/show-operation-runcode-ldrntc.png