5. 综合实验一 - 环境报警系统

5.1. 实验介绍

5.1.1. 实验物料清单

名称

数量

备注

光敏电阻模块

1

热敏电阻模块

1

火焰检测模块

1

LED

3

扩展板板载

蜂鸣器

1

扩展板板载

按键

1

扩展板板载

5.1.2. 实验现象

LED1(红灯)每秒闪表示系统运行灯。 LED2(绿灯)表示应急灯,光敏弱时亮,强时灭。 LED3(蓝灯)表示温度报警,由热敏电阻模块和火焰检测模块中任意一个DO信号触发,进入报警状态,蜂鸣器一直长响,LED3长亮, 报警状态下必须按KEY1解除报警,蜂鸣器停,LED3灭,恢复到原工作状态,循环。

5.1.3. 实验接线对照表

光敏电阻模块

GPIO扩展

AO

DO

P1_0

GND

GND

VCC

3.3v

热敏电阻模块

GPIO扩展

AO

DO

P1_1

GND

GND

VCC

3.3v

火焰模块模块

GPIO扩展

AO

DO

P1_2

GND

GND

VCC

5v

5.2. 实验操作

5.2.1. 开启插件

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

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

5.2.2. 获取程序

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

5.2.3. configuration.json文件介绍

可以看到,在综合实验的目录下,有一个configuration.json文件:

../_images/show-operation-config.png

该文件记录了相关板卡在本实验所要用到的外设的配置信息,如下图是鲁班猫1所用到的外设的配置信息:

../_images/show-operation-configcontent.png

程序在初始化外设前,会先读取configuration.json文件,根据实际板卡找到属于自己的外设配置信息,再进行初始化。 在程序运行前,可以根据实际情况修改配置文件,如按键的输入事件是不唯一的:

../_images/show-operation-configcontent2.png

注解

后续的每个综合实验都会使用configuration.json文件,将不再介绍。

5.2.4. python代码测试

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

执行如下命令运行程序:

1
sudo python main.py

5.2.5. c代码测试

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

执行如下命令运行程序:

1
2
3
4
5
# 编译程序
make

# 运行程序
sudo ./main