應(yīng)用背景
??無(wú)論是在家里還是在公司,安防都尤為的重要,與其亡羊補(bǔ)牢,更重要的是防患于未然。安全是目的,防范是手段。通過(guò)防范的手段達(dá)到或?qū)崿F(xiàn)安全的目的,就是安全防范的基本內(nèi)涵。
??本項(xiàng)目就是基于安防的大背景設(shè)計(jì)的一款智能安防系統(tǒng),目前提供的功能有紅外檢測(cè),有毒氣體及煙霧檢測(cè),后續(xù)還會(huì)對(duì)項(xiàng)目功能有所完善。
實(shí)現(xiàn)功能
紅外檢測(cè)
??紅外檢測(cè)使用的是HC-SR501模塊,傳感器在檢測(cè)到紅外信號(hào)后,會(huì)觸發(fā)高電平,將高電平信號(hào)送入蜂鳴器(本項(xiàng)目使用的是有源高電平觸發(fā)蜂鳴器),進(jìn)行報(bào)警,當(dāng)紅外信號(hào)消失后,會(huì)返回低電平,將低電平信號(hào)送入蜂鳴器,停止報(bào)警。
有毒氣體及煙霧檢測(cè)
??有毒氣體及煙霧檢測(cè)使用的是MQ-2模塊(大家如果想實(shí)現(xiàn)別的功能檢測(cè)還可以使用MQ系列的其他模塊),在檢測(cè)到有毒氣體或煙霧時(shí),輸出的模擬量會(huì)變大,根據(jù)不同的使用環(huán)境,我們可以通過(guò)調(diào)整代碼實(shí)現(xiàn)在一定范圍內(nèi)觸發(fā)蜂鳴器報(bào)警。
系統(tǒng)框架

RT-Thread使用情況
??基于官方文檔的試?yán)鼶emo開(kāi)發(fā),使用了FSP。
模塊介紹
HC-SR501
產(chǎn)品特點(diǎn)
??HC-SR501是基于紅外線技術(shù)的自動(dòng)控制模塊,采用LHI778探頭設(shè)計(jì),靈敏度高,可靠性強(qiáng),超低電壓工作模式,廣泛應(yīng)用于各類(lèi)自動(dòng)感應(yīng)電器設(shè)備,尤其是干電池供電的自動(dòng)控制產(chǎn)品。
實(shí)物圖片

電氣參數(shù)

MQ-2
產(chǎn)品特點(diǎn)
??MQ-2氣體傳感器所使用的氣敏材料是在清潔空氣中電導(dǎo)率較低的二氧化錫(SnO2)。當(dāng)傳感器所處環(huán)境中存在可燃?xì)怏w時(shí),傳感器的電導(dǎo)率隨空氣中可燃?xì)怏w濃度的增加而增大。使用簡(jiǎn)單的電路即可將電導(dǎo)率的變化轉(zhuǎn)換為與該氣體濃度相對(duì)應(yīng)的輸出信號(hào)。MQ-2氣體傳感器對(duì)丙烷、煙霧的靈敏度高,對(duì)天然氣和其它可燃蒸氣的檢測(cè)也很理想。這種傳感器可檢測(cè)多種可燃性氣體,是一款適合多種應(yīng)用的低成本傳感器。
實(shí)物圖片

電氣參數(shù)

所需軟硬件
軟件
??RT-Thread Studio,F(xiàn)SP。
硬件
??CPK-RA6M4開(kāi)發(fā)板,USB轉(zhuǎn)串口工具,HC-SR501,MQ-2,蜂鳴器,USB數(shù)據(jù)線,杜邦線若干。
作品完整圖片

視頻演示效果
??基于RT-Thread+RA6M4的智能安防系統(tǒng):https://www.bilibili.com/video/BV16T411G7PF?share_source=copy_web
代碼地址
??Intelligent_security_system:https://gitee.com/tom-onemore/intelligent_security_system
項(xiàng)目過(guò)程
1. 開(kāi)發(fā)環(huán)境搭建
??首先請(qǐng)參考官方教程搭建好環(huán)境:https://mp.weixin.qq.com/s/phEV5jGjTOoe7Y0ihI6ftg
2. 新建RT-Thread標(biāo)準(zhǔn)項(xiàng)目
??首先,我們打開(kāi)RT-Thread Studio,文件—新建—RT-Thread 項(xiàng)目。

??接著,在彈出的框中我們依次選擇基于開(kāi)發(fā)板,起項(xiàng)目名稱(chēng)(自擬),其余保持默認(rèn)(最好也檢查一下),點(diǎn)擊完成。

??等待進(jìn)度條走完,項(xiàng)目創(chuàng)建成功,在Studio左側(cè)的項(xiàng)目資源管理器中可以找到我們新建的項(xiàng)目。打開(kāi)項(xiàng)目文件夾,在src文件夾中新建一個(gè).c文件。

??文件名自擬,點(diǎn)擊完成。

??輸入以下代碼,點(diǎn)擊保存。
/*
* Copyright (c) 2006-2021, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2022-06-21 Tom_onemore the first version
*/
#include
#include
#include "hal_data.h"
#define ADC_DEV_NAME "adc0" /* ADC 設(shè)備名稱(chēng) */
#define ADC_DEV_CHANNEL_1 0 /* ADC 通道 HC-SR501 */
#define ADC_DEV_CHANNEL_2 1 /* ADC 通道 MQ-2 */
#define BUZZER BSP_IO_PORT_06_PIN_11 /* 蜂鳴器I/O引腳 */
static int adc_vol_sample(int argc, char *argv[])
{
rt_adc_device_t adc_dev;
rt_uint32_t value1, vol1, value2, vol2;
rt_err_t ret1 = RT_EOK;
rt_err_t ret2 = RT_EOK;
/* 查找設(shè)備 */
adc_dev = (rt_adc_device_t)rt_device_find(ADC_DEV_NAME);
if (adc_dev == RT_NULL)
{
rt_kprintf("adc sample run failed! can't find %s device!\n", ADC_DEV_NAME);
return RT_ERROR;
}
/* 初始化蜂鳴器引腳為低電平 */
rt_pin_write(BUZZER, PIN_LOW);
while(1)
{
/* 使能設(shè)備 */
ret1 = rt_adc_enable(adc_dev, ADC_DEV_CHANNEL_1);
ret2 = rt_adc_enable(adc_dev, ADC_DEV_CHANNEL_2);
/* 讀取采樣值 */
value1 = rt_adc_read(adc_dev, ADC_DEV_CHANNEL_1);
value2 = rt_adc_read(adc_dev, ADC_DEV_CHANNEL_2);
rt_kprintf("the value1 is :%d the value2 is :%d \n", value1,value2);
/* 轉(zhuǎn)換為對(duì)應(yīng)電壓值,3.3V對(duì)應(yīng)12位最大值4096,數(shù)據(jù)精度乘以100保留2位小數(shù) */
vol1 = value1 * 330 / 4096;
vol2 = value2 * 330 / 4096;
rt_kprintf("the voltage1 is :%d.%02d the voltage2 is :%d.%02d\n", vol1 / 100, vol1 % 100, vol2 / 100, vol2 % 100);
if (vol1 > 3.3 || vol2 > 13 )
{
rt_pin_write(BUZZER, PIN_HIGH); /*打開(kāi)蜂鳴器*/
}
else
{
rt_pin_write(BUZZER, PIN_LOW); /*關(guān)閉蜂鳴器*/
}
}
/* 關(guān)閉通道 */
ret1 = rt_adc_disable(adc_dev, ADC_DEV_CHANNEL_1);
ret2 = rt_adc_disable(adc_dev, ADC_DEV_CHANNEL_2);
return ret1;
return ret2;
}
/* 導(dǎo)出到 msh 命令列表中 */
MSH_CMD_EXPORT(adc_vol_sample, adc voltage convert sample);
??接著我們打開(kāi)FSP,會(huì)跳出一個(gè)彈窗提示,點(diǎn)擊“是”,然后選擇FSP的安裝文件夾,點(diǎn)擊“選擇文件夾”,等待進(jìn)入FSP即可。


??下圖為FSP界面。

??選擇Pins,在Pin Selection中依次點(diǎn)擊Peripherals—Analog:ADC—ADC0,然后再Pin Configuration中將P002~P005上鎖。

??接著選擇Stacks,在右上角點(diǎn)擊New Stack—Analog—ADC(a_adc)。

??在左下角Settings中,點(diǎn)擊Common—Parameter Checking,將Value改為Enabled。

??然后點(diǎn)擊Module g_adc0 ADC(r_adc)—Input—Channel Scan Mask(channel availability varies by MCU),將Channel 0和Channel 1打√,然后保存,點(diǎn)擊右上角Generate Project Content,關(guān)閉FSP。

??接著我們回到Studio中,在新建的項(xiàng)目下,進(jìn)入RT-Thread Settings,找到組件和服務(wù)層,鼠標(biāo)放到Pins上,會(huì)彈出候選框,選擇配置項(xiàng)。然后選擇硬件,點(diǎn)擊芯片設(shè)備驅(qū)動(dòng),打開(kāi)Enable ADC,接著打開(kāi)Enable ADC0,保存。

??回到我們剛剛新建的.c文件,點(diǎn)擊編譯,控制臺(tái)顯示0 errors, 0 warnings,到這里我們的代碼部分完成,將程序下載到開(kāi)發(fā)板,可以正常工作,具體代碼和演示請(qǐng)參考上文的代碼和視頻地址。
3. 接線方式
RA6M4 |
USB轉(zhuǎn)串口 |
P613 |
TXD |
P614 |
RXD |
RA6M4 |
HC-SR501 |
P000 |
OUT |
VCC |
VCC |
GND |
GND |
RA6M4 |
MQ-2 |
P001 |
AO |
VCC |
VCC |
GND |
GND |
|
DO懸空 |
RA6M4 |
蜂鳴器 |
P611 |
I/O |
VCC |
VCC |
GND |
GND |
參考資料
1. ADC設(shè)備:https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/programming-manual/device/adc/adc
2. CPK-RA6M4介紹:https://www2.renesas.cn/jp/zh/products/microcontrollers-microprocessors/ra-cortex-m-mcus/cpk-ra6m4-evaluation-board
3. CPK-RA6M4用戶手冊(cè):https://www2.renesas.cn/cn/zh/document/mah/1527156?language=zh&r=1527191
4. CPK-RA6M4原理圖:https://oss-club.rt-thread.org/uploads/20220314/460d66bee9aa09a6036f302890ebc737.pdf
5. RT-Thread BSP:https://gitee.com/rtthread/rt-thread/tree/gitee_master/bsp/renesas
6. RT-Thread 官網(wǎng):https://club.rt-thread.org/index.html
7. 瑞薩電子官網(wǎng):https://www2.renesas.cn/cn/zh
致謝
??感謝主辦方及一切幫助過(guò)我的人。
審核編輯:符乾江
-
單片機(jī)
+關(guān)注
關(guān)注
6067文章
44989瀏覽量
650347 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2930文章
46230瀏覽量
392295 -
瑞薩電子
+關(guān)注
關(guān)注
37文章
2929瀏覽量
73270 -
RT-Thread
+關(guān)注
關(guān)注
32文章
1406瀏覽量
41921 -
RA6M4
+關(guān)注
關(guān)注
0文章
51瀏覽量
700
發(fā)布評(píng)論請(qǐng)先 登錄
【RA-Eco-RA6M4開(kāi)發(fā)板評(píng)測(cè)】——2.串口打印
RT-Thread榮獲2025優(yōu)秀開(kāi)源項(xiàng)目 | 新聞速遞

愛(ài)普生RA8804CE實(shí)時(shí)時(shí)鐘模塊在安防監(jiān)控中的應(yīng)用

揭秘RT-Thread上的AUTOSAR CP系統(tǒng)

【RA-Eco-RA4M2開(kāi)發(fā)板評(píng)測(cè)】利用第二個(gè)I2C接口驅(qū)動(dòng)OLED
【RA-Eco-RA4M2開(kāi)發(fā)板評(píng)測(cè)】RT-Thread上驅(qū)動(dòng)I2C溫濕度傳感器
【RA-Eco-RA4M2開(kāi)發(fā)板評(píng)測(cè)】RA-Eco-RA4M2 移植FreeRTOS
【RA-Eco-RA4M2開(kāi)發(fā)板評(píng)測(cè)】開(kāi)箱和RT-Thread上手操作
Deepseek上單片機(jī)?RT-Thread上跑通大語(yǔ)言模型

基于PSOC6的智能環(huán)境監(jiān)控系統(tǒng)

RT-Thread操作系統(tǒng)應(yīng)用開(kāi)發(fā)寒假師資培訓(xùn)

評(píng)論