国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

如何用鴻蒙開發板輕松做一個報警器(內附教程)

OpenHarmony技術社區 ? 來源:鴻蒙技術社區 ? 作者:唐佐林 ? 2021-10-11 14:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

通過前面兩篇貼子的介紹,相信大家已經掌握如何使用 Python 操作 GPIO 和 I2C 了。

那么今天我們可以更進一步,通過 Python 中的 GPIO 和 PWM 接口使蜂鳴器發聲。

當然,如果只是實現這個功能就太無聊了,所以我們可以擴展一下,做個稍微有意思一些的東西。

嗯。。。想想做點啥呢?!翻箱倒柜一番之后,我找到了下面這塊擴展板。

這是小熊派鴻蒙開發套件中的“智慧安防”擴展板,板子上搭配了一個紅外傳感器和一個蜂鳴器。

基于這個板子,可以開發一個簡單的安防案例:當紅外傳感器有感應(有人靠近)時,觸發蜂鳴器發出警告(發聲)。

在開始之前需要先介紹一個新概念:脈沖寬度調制(Pulse Width Modulation),即:PWM。

這是一個屬于硬件電路層面的概念,對于物聯網開發來說不需要特別深入的對它進行研究,只需要掌握基本原理后應用到開發中即可。

簡單的說,PWM 就是利用數字信號輸出模擬信號的一種技術。眾所周知,現代計算機系統是數字驅動的,即:所有計算機部件在高低電平的交替驅動下工作。

如果所有的外設都是數字的,那么事情就很簡單了,直接 GPIO 連接就可以通信

然而,有些外設就不是數字的,而是模擬的,需要接收模擬信號(如:正弦波信號),所以需要借助處理器使用 PWM 技術實現模擬信號。

基本原理如下:

8caba956-2a46-11ec-82a8-dac502259ad0.png

根據電工電子學老師的說法,如果需要產生這樣的一個正弦波,可以用多個方波代替,其效果是相同的。

8d2b9652-2a46-11ec-82a8-dac502259ad0.png

圖 a) 中的正弦波可以用一個個幅值相同但是寬度不同的方波代替,如圖 b) ,只要這些方波與 t 軸圍起來的面積和原始正弦波與 t 軸圍起來的面積相同即可。

有了上面的原理之后,接下來需要討論的就是:如何調節出等效的方波?

為了解決這個問題,需要了解占空比的概念!占空比指在一個周期內,信號處于高電平的時間占據整個信號周期的百分比。

8dae4ee4-2a46-11ec-82a8-dac502259ad0.jpg

在上圖中一個周期是 4ms ,而高電平在一個周期中的持續時間是 1ms,所以占空比為 25% 。

掌握了這些理論性的東西之后,就可以考慮如何實操的問題了:怎么實現 PWM 信號(方波信號)輸出?

很幸運,Hi3861中自帶了 PWM 模塊,所以在代碼層面只需要調用相關 API 接口向 PWM 模塊設置必要參數,就可以輸出需要的連續 PWM 信號(方波信號)。

8e23649a-2a46-11ec-82a8-dac502259ad0.jpg

上面表格中的接口功能可謂一目了然,幾乎可以做到“開箱即用”,唯一需要做解釋的就是 start(port,duty,freq)這個函數。

port 表示 PWM 信號的輸出通道編號,freq 用于控制 PWM 信號的輸出頻率,duty 用于指定占空比,占空比的值為 duty 和 freq 的比值。

Ok!有了這些鋪墊,可以上代碼了!

8ea15076-2a46-11ec-82a8-dac502259ad0.png

Snippet 1部分的代碼先對 GPIO_7 進行初始化和功能設置,目的是接收 is1 也就是紅外傳感器的感應信號,當 Hi3861 接收到這個紅外感應信號就會觸發回調 is1_callback() 。

Snippet 2 部分的代碼復用 GPIO_8 使其連接 PWM 模塊,目的是對 PWM 進行參數設置。

這里可以更進一步的給大家科普一下 GPIO 和 PWM 的關系:在理論上可以直接用 GPIO 產生需要的方波信號,但現實中并不會這么做!

原因很簡單,這么做會耗費大量的處理器資源,并且產生的方波信號頻率有限。

所以,一般都會引入獨立的 PWM 模塊,處理器通過 GPIO 與這個模塊連接在一起,從而能夠對其進行參數設置。之后,具體產生方波的工作就由 PWM 模塊完成了。

接下來,看看回調函數 is1_callback() 的實現。

8f304812-2a46-11ec-82a8-dac502259ad0.png

代碼很簡單,核心部分就是對變量 pwm_on 進行標記,即:當接收到紅外感應信號的時候將 pwm_on 賦值為 True。

然后呢?然后在別處進行處理!

8fada208-2a46-11ec-82a8-dac502259ad0.png

腳本文件的最后,可以看到處理 pwm_on 為 True 的代碼,即:當 pwm_on 為 True 時,調用 start() 函數促使 1 號 PWM 通道產生方波信號。

而 1 號 PWM 通道連接的是一個蜂鳴器,產生方波信號的最終結果就是使得蜂鳴器發聲。

整體流程如下:

90185d00-2a46-11ec-82a8-dac502259ad0.png

最終效果如下:

90baf36c-2a46-11ec-82a8-dac502259ad0.gif

可以看到,當我靠近開發板時,紅外感應器立即發送感應信號,進而觸發蜂鳴器發聲。

WOW!一個簡單的安防系統就這么完成了!

PS:最新版 Python 引擎庫能夠支持幾乎所有鴻蒙的外設接口,以及基礎浮點運算。

感興趣的同學可下載附件中的代碼和文件自行編程嘗試。

Enjoy It!

代碼開源地址:

https://gitee.com/delphi-tang/python-for-hos

編輯:jq

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

    關注

    26

    文章

    6291

    瀏覽量

    118159
  • GPIO
    +關注

    關注

    16

    文章

    1328

    瀏覽量

    56231
  • 紅外感應器
    +關注

    關注

    0

    文章

    11

    瀏覽量

    8641

原文標題:用鴻蒙開發板做一個報警器,超簡單

文章出處:【微信號:gh_834c4b3d87fe,微信公眾號:OpenHarmony技術社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    性能躍遷,鴻蒙開發新紀元!凌羽派RK3566鴻蒙開發板,開啟全場景開發之旅

    【導語】還在為鴻蒙開發尋找強勁、穩定、高效的硬件平臺?凌羽派RK3566鴻蒙開發板震撼登場!集高性能、全接口、強生態于身,專為
    的頭像 發表于 12-11 17:58 ?2440次閱讀
    性能躍遷,<b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b>新紀元!凌羽派RK3566<b class='flag-5'>鴻蒙</b><b class='flag-5'>開發板</b>,開啟全場景<b class='flag-5'>開發</b>之旅

    想體驗鴻蒙生態,該怎么獲取鴻蒙開發板?有哪些途徑?

    如何快速上手體驗鴻蒙生態? 想體驗鴻蒙生態,該怎么獲取鴻蒙開發板?有哪些途徑?
    發表于 11-29 08:40

    如何申請鴻蒙開發板?想體驗鴻蒙生態。

    如何申請鴻蒙開發板?想體驗鴻蒙生態。
    發表于 11-29 08:34

    4g報警器能不能改成反電魚報警器

    4G報警器通過震動脫落磁鐵來感應報警能不能改成感應電流報警應用場景-魚塘水庫 江河湖泊新能源監控實時感應報警對于電路完全小白求大佬指點下需
    發表于 10-31 23:35

    避坑指南!RK3568開發板選型,這5點沒看清千萬別下手!(迅為驅動開發指南資源)

    避坑指南!RK3568開發板選型,這5點沒看清千萬別下手!(迅為驅動開發指南資源)
    的頭像 發表于 10-30 15:49 ?788次閱讀
    避坑指南!RK3568<b class='flag-5'>開發板</b>選型,這5點沒看清千萬別下手!(<b class='flag-5'>附</b>迅為驅動<b class='flag-5'>開發</b>指南資源)

    觸覺智能Purple Pi OH開發板率先適配OpenHarmony6.0 Release,鴻蒙明星開發板

    2025年9月19日,在官網上線開源鴻蒙OpenHarmony6.0Release僅13天,觸覺智能宣布旗下PurplePiOH開發板成功完成OpenHarmony6.0Release系統適配。這
    的頭像 發表于 10-29 08:00 ?826次閱讀
    觸覺智能Purple Pi OH<b class='flag-5'>開發板</b>率先適配OpenHarmony6.0 Release,<b class='flag-5'>鴻蒙</b>明星<b class='flag-5'>開發板</b>

    【匯思博SEEK100開發板試用體驗】在開發板鴻蒙OS搭建QT開發環境

    開發板簡介 WISBO - SEEK100 開發板是福州匯思博信息技術有限公司基于展銳 SL8541E 設計的款智能終端開發板。展銳
    發表于 08-24 18:34

    輕松配置小智AI語音開發板,安信可IOT小程序功能更新

    版使用教程: 安信可AI語音開發板全面升級商用版!(教程) 為了讓開發體驗更加流暢,安信可IOT小程序本次進行了多項功能升級,起來看看吧 ? PART.01角色音色試聽 選聲音,不
    的頭像 發表于 08-19 17:46 ?1316次閱讀
    <b class='flag-5'>輕松</b>配置小智AI語音<b class='flag-5'>開發板</b>,安信可IOT小程序功能更新

    觸覺智能RK3506開發板通過OpenHarmony 5.1 XTS認證,引領鴻蒙開發新標桿!

    觸覺智能作為瑞芯微專業方案商與開源鴻蒙南向硬件廠家,旗下RK3506開發板及其核心(模組)通過OpenHarmony5.1XTS認證!這消息猶在行業內引起了廣泛關注,標志著觸覺智能
    的頭像 發表于 08-14 23:49 ?1733次閱讀
    觸覺智能RK3506<b class='flag-5'>開發板</b>通過OpenHarmony 5.1 XTS認證,引領<b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b>新標桿!

    何用Arduino Nano/UNO R3開發板給另一個Arduino IDE不能下載的Arduino Nano/UNO R3開發板重新燒錄引導程序bootlaoder

    本文介紹了如何用能夠Arduino IDE下載的Arduino Nano/UNO R3開發板給另一個Arduino IDE不能下載的Arduino Nano/UNO R3開發板重新燒錄
    的頭像 發表于 08-08 20:16 ?3578次閱讀
    如<b class='flag-5'>何用</b>Arduino Nano/UNO R3<b class='flag-5'>開發板</b>給另<b class='flag-5'>一個</b>Arduino IDE不能下載的Arduino Nano/UNO R3<b class='flag-5'>開發板</b>重新燒錄引導程序bootlaoder

    微五科技CF5010RBT60開發板試用體驗+氣體報警器項目demo

    微五科技CF5010RBT60開發板試用體驗+氣體報警器項目上期我們總結了關于CF5010RBT60開發板試用體驗,本篇我給大家分享使
    發表于 08-05 11:38

    開鴻開發板深度體驗:從開源鴻蒙開發到AI場景實踐

    開鴻開發板KaihongBoard-3588S-SBCKaihongBoard-3576-SBC體驗開源鴻蒙能力學習開源鴻蒙開發●●●搭載KaihongOS
    的頭像 發表于 07-03 17:03 ?1621次閱讀
    開鴻<b class='flag-5'>開發板</b>深度體驗:從開源<b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b>到AI場景實踐

    聲光報警器電源線接線時如何確保安全

    聲光報警器工作原理是通過電子電路來實現的。 當報警器被觸發時,電路會使蜂鳴器發出聲音,
    的頭像 發表于 06-30 14:29 ?1712次閱讀

    用芯嶺技術XL433接收發射芯片開發的火災報警器

    門禁、傳感數據傳輸等低功耗場景。 這是客戶用我們的射頻芯片開發的辰西科技火災報警器規格如下: 、產品特點 1.兼容現有315M接收模塊 2.5V MICRO USB供電 3.煙感和熱感同時檢測 4.
    發表于 06-04 11:14

    貝啟BQ3568HM 開發板被選用為 OpenHarmony 明星開發板

    經開放原子開源基金會OpenHarmony社區官方測評評選,貝啟科技BQ3568HM開源鴻蒙開發板被正式選用為OpenHarmony明星開發板。BQ3568HM開源鴻蒙
    的頭像 發表于 05-25 00:22 ?1459次閱讀
    貝啟BQ3568HM <b class='flag-5'>開發板</b>被選用為 OpenHarmony 明星<b class='flag-5'>開發板</b>