内容介绍
内容介绍
在本次Fastbond活动当中,我选择了环境监测作为主题,具体完成项目是一个一氧化碳报警器。
在环境监测这一领域,我认为最重要的就是毒气类的监测因为它的危险性,而一氧化碳又是我们生活中比较容易遇到的一种毒气,于是我选择做这样的一个CO检测器。
该报警器使用了一块MAX32660评估板作为主控,使用MQ135作为一氧化碳监测传感器,使用AD8531作为电压跟随器来稳定输入信号避免误差,使用一块128*64的OLED屏幕来作为显示。
MAX32660评估板是MAXIM公司开发的一款结构紧凑的开发平台,适用于低功耗开发场景。
AD8531是Analog Device公司开发的一款高输出电流运算放大器,可使用低电流驱动高电流。
在代码部分,我使用KEIL来进行编译。关于OLED屏幕的资料可以在网上直接找到,这里就使用现成的代码库。而传感器则是输出为高是正常,输出为零即为CO浓度较高。主要代码如下:
int main(void)
{
gpio_cfg_t LED;
gpio_cfg_t DOUT;
LED.port = LED_PORT;
LED.mask = LED_OUT;
LED.pad = GPIO_PAD_NONE;
LED.func = GPIO_FUNC_OUT;
GPIO_Config(&LED);
DOUT.port = DOUT_PORT;
DOUT.mask = DOUT_IN;
DOUT.pad = GPIO_PAD_PULL_UP;
DOUT.func = GPIO_FUNC_IN;
GPIO_Config(&DOUT);
oled_init();
OLED_Clear();
while(1)
{
if (GPIO_InGet(&DOUT)) {
/* Input pin was high, set the output pin. */
GPIO_OutClr(&LED);
common();
} else {
/* Input pin was low, clear the output pin. */
GPIO_OutSet(&LED);
alarm();
}
OLED_Refresh();
mxc_delay(200000);
}
}
而为了使电路更加简洁,我用kicad画了一块PCB板来放置电路并安插器件。
经过拼接后,整个报警装置的样子如下:
最后,进行报警器效果的演示。当CO浓度较低,在安全范围时,显示屏显示SAFE CO RATE,警示灯不亮,而到了危险浓度,显示屏上显示warning!并且警示灯会亮。
经过本次项目,我对于一些功能在代码上的实现有了新的感悟,也对于开发产生了更浓厚的兴趣,希望以后能参与更多好玩的项目。
软硬件
附件下载
ARM.zip
项目文件
max&ad.zip
电路板文件
团队介绍
团队成员
1234567888888
评论
0 / 100
查看更多
猜你喜欢
Fastbond-环境监测之 定时图像采集在日常的工作生活中,定时图像采集可以发挥非常重要的作用,如农作物的生长情况监测,气象状况监测,天文现象的监测。本产品期望解决用户如下痛点:可编程控制,容量可低成本拓展,长时间供电,性价比高,可控制LED外设
john
2823
Fastbond环境监测之噪声分析利用一个简单的麦克风前置放大器模块,搭配运算放大器对音频信号进行放大,然后利用arduino atmega 328进行采集处理,最终显示在LCD屏幕上。
鱼儿游
1126
FastBond2阶段1- 基于STM32的烟雾报警器基于STM32的烟雾报警器是一种能够及时检测室内烟雾并发出警报的设备,利用STM32微控制器和烟雾传感器实现高效准确的烟雾检测和报警功能。
wangye
662