0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于RT-Thread+RA6M4的智能安防系統(tǒng)詳解

物聯(lián)網(wǎng)技術分享 ? 來源:物聯(lián)網(wǎng)技術分享 ? 作者:物聯(lián)網(wǎng)技術分享 ? 2022-06-23 14:34 ? 次閱讀

應用背景

??無論是在家里還是在公司,安防都尤為的重要,與其亡羊補牢,更重要的是防患于未然。安全是目的,防范是手段。通過防范的手段達到或實現(xiàn)安全的目的,就是安全防范的基本內涵。
??本項目就是基于安防的大背景設計的一款智能安防系統(tǒng),目前提供的功能有紅外檢測,有毒氣體及煙霧檢測,后續(xù)還會對項目功能有所完善。

實現(xiàn)功能

紅外檢測

??紅外檢測使用的是HC-SR501模塊,傳感器在檢測到紅外信號后,會觸發(fā)高電平,將高電平信號送入蜂鳴器(本項目使用的是有源高電平觸發(fā)蜂鳴器),進行報警,當紅外信號消失后,會返回低電平,將低電平信號送入蜂鳴器,停止報警。

有毒氣體及煙霧檢測

??有毒氣體及煙霧檢測使用的是MQ-2模塊(大家如果想實現(xiàn)別的功能檢測還可以使用MQ系列的其他模塊),在檢測到有毒氣體或煙霧時,輸出的模擬量會變大,根據(jù)不同的使用環(huán)境,我們可以通過調整代碼實現(xiàn)在一定范圍內觸發(fā)蜂鳴器報警。

系統(tǒng)框架

pYYBAGK0IZCAasHPAADIYMo_3sY202.png

RT-Thread使用情況

??基于官方文檔的試例Demo開發(fā),使用了FSP。

模塊介紹

HC-SR501

產品特點

??HC-SR501是基于紅外線技術的自動控制模塊,采用LHI778探頭設計,靈敏度高,可靠性強,超低電壓工作模式,廣泛應用于各類自動感應電器設備,尤其是干電池供電的自動控制產品。

實物圖片

pYYBAGK0IaaASOxPAANdZaeE8vs315.png

電氣參數(shù)

poYBAGK0IeuAFfYlAAIh6FOETXw405.png

MQ-2

產品特點

??MQ-2氣體傳感器所使用的氣敏材料是在清潔空氣中電導率較低的二氧化錫(SnO2)。當傳感器所處環(huán)境中存在可燃氣體時,傳感器的電導率隨空氣中可燃氣體濃度的增加而增大。使用簡單的電路即可將電導率的變化轉換為與該氣體濃度相對應的輸出信號。MQ-2氣體傳感器對丙烷、煙霧的靈敏度高,對天然氣和其它可燃蒸氣的檢測也很理想。這種傳感器可檢測多種可燃性氣體,是一款適合多種應用的低成本傳感器。

實物圖片

pYYBAGK0IgCAf2-0AALDthBPftY109.png

電氣參數(shù)

poYBAGK0IeuAFfYlAAIh6FOETXw405.png

所需軟硬件

軟件

??RT-Thread Studio,F(xiàn)SP。

硬件

??CPK-RA6M4開發(fā)板,USB轉串口工具,HC-SR501,MQ-2,蜂鳴器,USB數(shù)據(jù)線,杜邦線若干。

作品完整圖片

pYYBAGK0Ii2ALsvhACbQN_xGFdg087.png

視頻演示效果

??基于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

項目過程

1. 開發(fā)環(huán)境搭建

??首先請參考官方教程搭建好環(huán)境:https://mp.weixin.qq.com/s/phEV5jGjTOoe7Y0ihI6ftg

2. 新建RT-Thread標準項目

??首先,我們打開RT-Thread Studio,文件—新建—RT-Thread 項目。

pYYBAGK0Bz6AaB66AAC-tyLV5N8958.png

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

pYYBAGK0I6uAGxCvAAC0c_a1FIc370.png

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

poYBAGK0I-2AXB2DAACbnL33M1E718.png

??文件名自擬,點擊完成。

pYYBAGK0I72AYQl7AABdkDXxjmo032.png

??輸入以下代碼,點擊保存。

/*
 * 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 設備名稱 */
#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;

    /* 查找設備 */
    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)
        {
            /* 使能設備 */
            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);

            /* 轉換為對應電壓值,3.3V對應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); /*打開蜂鳴器*/
                }
            else
                {
                    rt_pin_write(BUZZER, PIN_LOW); /*關閉蜂鳴器*/
                }
        }

    /* 關閉通道 */
    ret1 = rt_adc_disable(adc_dev, ADC_DEV_CHANNEL_1);
    ret2 = rt_adc_disable(adc_dev, ADC_DEV_CHANNEL_2);
    return ret1;
    return ret2;
}
/* 導出到 msh 命令列表中 */
MSH_CMD_EXPORT(adc_vol_sample, adc voltage convert sample);

??接著我們打開FSP,會跳出一個彈窗提示,點擊“是”,然后選擇FSP的安裝文件夾,點擊“選擇文件夾”,等待進入FSP即可。

poYBAGK0JG2AOqaRAAAvx2y5KTY396.pngpYYBAGK0JH2ABCU1AABQ9pXrFdU661.png

??下圖為FSP界面。

poYBAGK0JJiAYAG7AAIiy1IK2_c643.png

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

poYBAGK0JKaAUzQAAADkyfdIuVM635.png

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

poYBAGK0JLmASeg1AAGQZNajSiI644.png

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

pYYBAGK0JMeAcx9SAADs1KQAHJo375.png

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

pYYBAGK0JNiAJcyIAADx_9Bq6YY393.png

??接著我們回到Studio中,在新建的項目下,進入RT-Thread Settings,找到組件和服務層,鼠標放到Pins上,會彈出候選框,選擇配置項。然后選擇硬件,點擊芯片設備驅動,打開Enable ADC,接著打開Enable ADC0,保存。

poYBAGK0JOeANL4yAACUTua9lDc096.png

??回到我們剛剛新建的.c文件,點擊編譯,控制臺顯示0 errors, 0 warnings,到這里我們的代碼部分完成,將程序下載到開發(fā)板,可以正常工作,具體代碼和演示請參考上文的代碼和視頻地址。

3. 接線方式

RA6M4

USB轉串口

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設備: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用戶手冊: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

致謝

??感謝主辦方及一切幫助過我的人。

審核編輯:符乾江

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6030

    文章

    44491

    瀏覽量

    632018
  • 物聯(lián)網(wǎng)

    關注

    2900

    文章

    44082

    瀏覽量

    370279
  • 瑞薩電子
    +關注

    關注

    37

    文章

    2829

    瀏覽量

    72120
  • RT-Thread
    +關注

    關注

    31

    文章

    1261

    瀏覽量

    39841
  • RA6M4
    +關注

    關注

    0

    文章

    51

    瀏覽量

    422
收藏 人收藏

    評論

    相關推薦

    智能化包含哪些系統(tǒng)

    智能化是指利用現(xiàn)代信息技術,包括物聯(lián)網(wǎng)、云計算、大數(shù)據(jù)、人工智能等,對傳統(tǒng)的安全防范系統(tǒng)進行升級改造,實現(xiàn)對安全防范工作的自動化、
    的頭像 發(fā)表于 10-10 10:20 ?306次閱讀

    藍牙模塊在智能系統(tǒng)中的應用

    隨著科技的日新月異,智能系統(tǒng)已經(jīng)逐漸滲透到我們生活的每一個角落,為人們的生命和財產安全提供了強有力的保障。藍牙模塊作為智能
    的頭像 發(fā)表于 07-19 14:00 ?295次閱讀

    RT-Thread 新里程碑達成——GitHub Star 破萬!

    RT-Thread實時操作系統(tǒng)開源項目在GitHub上的star數(shù)量突破一萬!截止發(fā)文,RT-Thread作為實時操作系統(tǒng)在業(yè)界Star數(shù)量排名第一!倉庫地址:https://gith
    的頭像 發(fā)表于 07-04 08:35 ?378次閱讀
    <b class='flag-5'>RT-Thread</b> 新里程碑達成——GitHub Star 破萬!

    66日杭州站RT-Thread線下workshop,探索RT-Thread混合部署新模式!

    66日下午我們將在杭州舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺上實現(xiàn)同時運行RT-Thread和linux,本次workshop邀請到
    的頭像 發(fā)表于 05-28 08:35 ?388次閱讀
    <b class='flag-5'>6</b>月<b class='flag-5'>6</b>日杭州站<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    RT-Thread混合部署Workshop北京站來啦!

    4月25日,下午我們將在北京舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺上實現(xiàn)同時運行RT-Thread和linux,本次workshop邀請到RT-Threa
    的頭像 發(fā)表于 04-19 08:34 ?384次閱讀
    <b class='flag-5'>RT-Thread</b>混合部署Workshop北京站來啦!

    4月25日北京站RT-Thread線下workshop,探索RT-Thread混合部署新模式

    4月25日,下午我們將在北京舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺上實現(xiàn)同時運行RT-Thread和linux,本次workshop邀請到RT-Threa
    的頭像 發(fā)表于 04-16 08:35 ?382次閱讀
    <b class='flag-5'>4</b>月25日北京站<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式

    機器視覺RT-Thread Vision Board主要特點

    RT-Thread 與 瑞薩電子 攜手推出全新的硬件產品—— Vision?Board ! RT-Thread?Vision?Board 為工程師們提供了一個靈活、全面的開發(fā)平臺,助力開發(fā)者在機器
    的頭像 發(fā)表于 04-15 08:35 ?521次閱讀

    4月10日-深圳-workshop】RT-Thread帶你探索混合部署新模式

    4月10日我們將在深圳福田舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺上實現(xiàn)同時運行RT-Thread和linux,本次workshop邀請到RT-Thread
    的頭像 發(fā)表于 04-04 08:34 ?285次閱讀
    【<b class='flag-5'>4</b>月10日-深圳-workshop】<b class='flag-5'>RT-Thread</b>帶你探索混合部署新模式

    瑞薩與RT-Thread推出基于RT-Thread&amp;OpenMV的RA8人機交互方案

    瑞薩與戰(zhàn)略合作伙伴RT-Thread攜手于2024年2月底正式發(fā)布了全新的硬件產品——基于RT-Thread&OpenMV的RA8人機交互解決方案Vision Board。
    的頭像 發(fā)表于 04-01 14:10 ?827次閱讀
    瑞薩與<b class='flag-5'>RT-Thread</b>推出基于<b class='flag-5'>RT-Thread</b>&amp;OpenMV的<b class='flag-5'>RA</b>8人機交互方案

    4月10日深圳場RT-Thread線下workshop,探索RT-Thread混合部署新模式!

    4月10日我們將在深圳福田舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺上實現(xiàn)同時運行RT-Thread和linux,本次workshop邀請到RT-Thread
    的頭像 發(fā)表于 03-27 11:36 ?744次閱讀
    <b class='flag-5'>4</b>月10日深圳場<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    4月10日深圳場RT-Thread線下workshop,探索RT-Thread混合部署新模式!

    4月10日我們將在深圳福田舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺上實現(xiàn)同時運行RT-Thread和linux,本次workshop邀請到RT-Thread
    的頭像 發(fā)表于 03-27 08:34 ?464次閱讀
    <b class='flag-5'>4</b>月10日深圳場<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    智能的網(wǎng)絡配置及網(wǎng)絡搭建

    智能技術的發(fā)展,為我們的生活提供了更高的安全保障。智能
    的頭像 發(fā)表于 01-08 16:19 ?2078次閱讀

    使用SystemView工具分析瑞薩RA6M4芯片上RT-Thread的運行情況

    使用SystemView工具分析瑞薩RA6M4芯片上RT-Thread的運行情況
    的頭像 發(fā)表于 12-11 17:23 ?537次閱讀
    使用SystemView工具分析瑞薩<b class='flag-5'>RA6M4</b>芯片上<b class='flag-5'>RT-Thread</b>的運行情況

    【直播預告】基于RT-Thread &amp; LVGL RA6M3 HMI-Board兒童益智學習機

    五晚,我們有幸邀請到了本次大賽的二等獎得主,他將與我們分享他的作品——基于RT-Thread LVGL RA6M3 HMI-Board兒童益智學習機。 直播信息 直播主題 基于HMI-Board和LVGL
    的頭像 發(fā)表于 11-30 19:05 ?520次閱讀
    【直播預告】基于<b class='flag-5'>RT-Thread</b> &amp; LVGL  <b class='flag-5'>RA6M</b>3 HMI-Board兒童益智學習機

    RA6M3 RT-Thread* LVGL HMI Board開發(fā)實踐指南-GPIO實踐

    RT-Thread即將發(fā)布一系列RA6M3外設驅動的實踐指南,我們將使用瑞薩RA6M3 HMI-Board 開發(fā)板,帶領大家上手RT-Thread設備驅動, 本篇文章將介紹GPIO外設
    的頭像 發(fā)表于 11-30 19:05 ?1116次閱讀
    <b class='flag-5'>RA6M</b>3 <b class='flag-5'>RT-Thread</b>* LVGL HMI Board開發(fā)實踐指南-GPIO實踐