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

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

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

3天內(nèi)不再提示

ESP32結(jié)合EzDIO制作人臉辨識門鎖

jf_cVC5iyAO ? 來源:易心Microbit編程 ? 作者:易心Microbit編程 ? 2023-04-11 10:07 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、制作介紹

EzDIO擴展板是一塊三用的I/O擴充板,適用micro:bit、LinkIt 7697與ESP32三種控制板,不同的是以杜邦排針和Grove插座取代原先的功能,讓用戶決定自己要連接什么模塊。

9f9d6f08-d798-11ed-bfe3-dac502259ad0.jpg

本篇文章將以人臉辨識門鎖的主題,并用EzDIO作為擴充板,示范如何將不同的模塊,經(jīng)由程序整合在一起。

二、所需材料

首先需要選擇控制板,不同的控制板將決定你的程序撰寫風格,以及項目的走向。例如你比較習慣使用MakeCode來開發(fā),那只能選擇micro:bit ,畢竟LinkIt 7697與ESP32并不支持MakeCode,并且意味著單靠這塊控制板,將沒辦法開發(fā)IoT功能,除非外接其他的模塊或透過不同的方式達成。

為了之后能將數(shù)據(jù)上傳至Google Sheet,或是指定的MQTT Broker。所以在LinkIt 7697與ESP32中猶豫了好久,最后決定選擇目前較少被提及的ESP32做為本次主題的控制板。

接著是選擇最重要的AI視覺傳感器,除了速度要快,還要方便,最好能記錄人臉數(shù)據(jù)并儲存下來,綜合了以上幾點,選擇了最多人使用的HuskyLens。除了人臉辨識開鎖外,還希望加上RFID傳感器,避免辨識故障時還能用卡片解鎖。

其他就是繼電器、電磁鎖、顯示屏幕、觸發(fā)辨識用按鈕與提示用蜂鳴器,然后是供電用的變壓器與連接傳感器需要的連接線。

● 材料清單

9fa69038-d798-11ed-bfe3-dac502259ad0.jpg

9fca8fce-d798-11ed-bfe3-dac502259ad0.jpg

過程中為了將繼電器連接電源與電磁鎖,會需要用到「剝線鉗」與「電烙鐵」。線與線焊接后為了保護,可以準備「電工膠帶」或是「熱縮套管」。

三、接線組裝

材料備齊后就可以開始將各模塊,透過連接線接在EzDIO上面,主控板ESP32有自己對應(yīng)的位置,我想大家應(yīng)該不陌生,至于其他模塊可以參考接下來的介紹。

● 電磁鎖加工

在連接之前我們需要先加工電磁鎖,將「電源轉(zhuǎn)接頭」與「電磁鎖」焊接在一起,并針對連接至「繼電器」的線頭加錫,如下圖所示:

9fef409e-d798-11ed-bfe3-dac502259ad0.jpg

分別剪去「電源轉(zhuǎn)接頭」與「電磁鎖」的連接器后,用剝線鉗剝出一小段線,先將黑色線對黑色線焊接在一起,這邊是用電工膠帶將焊接點包起來保護。接著將兩端的紅色在線錫,以便較好鎖在「繼電器」上。

● 連接繼電器

選用的「電磁鎖」是屬于通電后解鎖的類型,所以將它安裝在「繼電器」的常開位置。在未通電的情況下,電磁鎖將保持鎖上的狀態(tài),接線方式如下圖所示:

a0183f6c-d798-11ed-bfe3-dac502259ad0.jpg

繼電器可以連接在任何數(shù)字輸出的腳位,本次選用的繼電器是排針連接的類型,因此采用杜邦線連接,將其連接在EzDIO右邊的杜邦排針區(qū),接線參照下表所示:

a021f32c-d798-11ed-bfe3-dac502259ad0.jpg

a037c2f6-d798-11ed-bfe3-dac502259ad0.jpg

EzDIO 與繼電器接線圖

● 連接OLED顯示屏幕

OLED使用的是I2C接口,I2C的接線對應(yīng)如下表,我們使用的模塊是Grove插座,所以只要拿「Grove連接線」,一頭接在OLED上,另一頭接在EzDIO上方5個I2C插座的其中一個即可。

a04c7d7c-d798-11ed-bfe3-dac502259ad0.jpg

a067f2e6-d798-11ed-bfe3-dac502259ad0.jpg

EzDIO 與OLED顯示屏幕接線圖

● 連接RFID傳感器

本次選用的RFID傳感器與OLED一樣是I2C接口,也同樣都是Grove插座。Grove連接線一頭接在RFID傳感器上,另一頭接在EzDIO上方5個I2C插座的其中一個即可。

a072dcec-d798-11ed-bfe3-dac502259ad0.jpg

a097073e-d798-11ed-bfe3-dac502259ad0.jpg

EzDIO 與RFID傳感器接線圖

● 連接按鈕

按鈕是作為觸發(fā)人臉辨識使用,只有在對準人臉并按下按鈕時,才會發(fā)動解鎖功能。主要用來避免,當人經(jīng)過時不小心觸發(fā)解鎖。

按鈕可連接在具有數(shù)字輸入功能的腳位上,例如可安裝在IO15。因為這邊使用的按鈕是Grove插座的,所以在排針旁的GPIO插座區(qū),找尋對應(yīng)的位置連接即可,Grove插座位置在「CN16」,接線對應(yīng)如下表所示:

a0bf9154-d798-11ed-bfe3-dac502259ad0.jpg

a0cbf494-d798-11ed-bfe3-dac502259ad0.jpg

EzDIO 與按鈕接線圖

● 連接蜂鳴器

蜂鳴器能幫助我們了解裝置的狀態(tài),透過聲音的變化,我們能清楚知道是否感應(yīng)成功,或是解鎖成功。蜂鳴器連接在輸出的腳位,這邊選擇的模塊是Grove類型,連接方式與按鈕模塊相同,唯一不同的是,ESP32部分腳位只允許輸入,需要避開那些腳位,筆者選擇連接IO14(對應(yīng)ESP32的腳位是27),Grove插座位置在「CN15」,接線對應(yīng)如下表所示:

a0e27598-d798-11ed-bfe3-dac502259ad0.jpg

a0f645a0-d798-11ed-bfe3-dac502259ad0.jpg

EzDIO 與蜂鳴器接線圖

● 連接HuskyLens

HuskyLens可以選擇I2C或是UART連接,并有附上連接線。筆者選擇連接在I2C,因為附贈的連接線另一頭為杜邦母頭,可連接在EzDIO的杜邦排針區(qū),接線對應(yīng)如下表所示:

a1148dd0-d798-11ed-bfe3-dac502259ad0.jpg

a129812c-d798-11ed-bfe3-dac502259ad0.jpg

EzDIO 與HuskyLens 接線圖

完成上述步驟后,所有的模塊與裝置皆已連接完畢,你可以找一塊板子并透過螺絲、螺帽,將所有部件固定起來。板子可以是木板或是壓克力,排列完畢后用雷切或電鉆鉆洞都可以,也能依照自己的需求,安裝在適當?shù)奈恢茫杂砂l(fā)揮。

本次范例是用一塊3mm大小適中的木板,并使用手持電鉆鉆孔,將所有東西都固定在木板上,并用標簽機打印了一張標示貼紙,看起來有模有樣,如下圖所示:

a132e3c0-d798-11ed-bfe3-dac502259ad0.jpg

四、程序撰寫

撰寫程序的軟件,使用「BlocklyDuino F1」。

在刻錄程序的過程中,發(fā)現(xiàn)原先在BlocklyDuino F1里的HuskyLens鏈接庫無法使用在ESP32上面,后來經(jīng)由查找HuskyLens官方說明網(wǎng)站,發(fā)現(xiàn)有較新的版本可用于ESP32,但反而無法用在LinkIt 7697。經(jīng)我們工程師修改后可兼容兩塊主控板,修改后的鏈接庫連結(jié)如下:

提醒大家使用前記得先更新為較新的鏈接庫。

https://github.com/CIRCUSPi/CIRCUSPi.github.io/raw/main/extlibrary/HUSKYLENSArduino-master.zip

●安裝HuskyLens新的鏈接庫

1. 首先打開BlocklyDuino F1的「文件夾」,接著依照下列順序依須點開文件夾,以便找到存放總鏈接庫的文件夾:

a1526e7a-d798-11ed-bfe3-dac502259ad0.jpg

2. 接著刪除原先在文件夾內(nèi)的舊鏈接庫「HUSKYLENS」,刪除后先不要關(guān)閉文件夾,待會兒要將新的鏈接庫復(fù)制過來。

a168e966-d798-11ed-bfe3-dac502259ad0.jpg

3. 解壓縮剛剛下載下來的新鏈接庫,并復(fù)制文件夾內(nèi)的「HUSKYLENS」,貼到剛剛BlocklyDuino F1的鏈接庫文件夾「libraries」內(nèi)。

a192350a-d798-11ed-bfe3-dac502259ad0.jpg

完成上述步驟,就完成鏈接庫安裝了。新、舊鏈接庫內(nèi)容差異不小,請不要用覆蓋的,確實刪除后再貼上新的鏈接庫,比較不會有問題。

● 功能規(guī)劃

1. 首先是人臉辨識解鎖的功能,預(yù)先設(shè)定HuskyLens儲存要辨識的人臉,當HuskyLens通電后就會開始執(zhí)行任務(wù),并經(jīng)由連接線回傳數(shù)據(jù),此時若是按下按鈕,就讓程序去比對是否是記錄過的人臉,比對成功則開鎖,并于3秒后鎖上。

2. 接著是RFID感應(yīng)解鎖,同樣得預(yù)先知道卡片號碼,當感應(yīng)到相同號碼則開鎖,并于3秒后鎖上。

3. 蜂鳴器與OLED可用于感應(yīng)、開鎖與感應(yīng)錯誤時發(fā)出提示。

● 設(shè)定HuskyLens

在使用人臉辨識功能之前,需要進行一些設(shè)定,例如確認是否為I2C通訊,或是記錄人臉數(shù)據(jù)等等,你可以參考官方文件的教學,請記錄一張人臉,用于程序比對解鎖用。

https://wiki.dfrobot.com/HUSKYLENS_V1.0_SKU_SEN0305_SEN0336#target_15

● 范例程序鏈接

完成上述功能的程序不會太復(fù)雜,可以直接下載「范例程序」,解壓縮后請用BlocklyDuino開啟,我們可以從程序中學習。

https://github.com/CIRCUSPi/CIRCUSPi.github.io/raw/main/example/EzDIO_Example.zip

其中共有兩個范例程序,一個是單純讀取RFID卡片號碼的程序,用來讀出手邊卡片的編號,比對卡片號碼時使用;另一個則是完成上述功能的辨識解鎖程序。

● 讀取RFID卡片號碼程序說明(EzDIO_read_RFID)

RFID傳感器在感測到卡片數(shù)據(jù)時會讀到號碼,反之為空值。透過變量「card」將數(shù)據(jù)儲存下來后比對,若有讀到數(shù)據(jù)則顯示在OLED上面。

a1a7c028-d798-11ed-bfe3-dac502259ad0.jpg

將程序刻錄后執(zhí)行,請將讀取到的數(shù)據(jù)記下來,以便填入「EzDIO_Face_unlock」這個程序中。

a1c968a4-d798-11ed-bfe3-dac502259ad0.jpg

● 辨識解鎖程序說明(EzDIO_Face_unlock)

程序可以分成三部份,分別是「初始化」、「重復(fù)執(zhí)行」與「函式群」。初始化不外乎就是功能設(shè)定與狀態(tài)賦予,重復(fù)執(zhí)行則處理所有功能,包含辨識、RFID感應(yīng)、開鎖……等。最后的函式群是指,將一些重復(fù)用到的功能包成函式(或稱子程序),主要用于簡化程序并提升修改時的效率,進而增加可讀性。接下來讓我們觀看每個部份:

1. 初始化

在這部份我們針對需要預(yù)先初始化的功能,進行初始化,像是OLED與HuskyLens。并設(shè)定兩個全局變量「door」、「card」,用來記錄是否開門以及儲存卡片的號碼。

因為OLED顯示的文字大小有限,所以采用圖片轉(zhuǎn)換XBM的方式,即可顯示任意圖案或文字,自定義的位圖有"open"(開鎖)、"lock"(上鎖)、"n1~n3"(顯示數(shù)字)、"noperson"(沒有紀錄)等六個,最后是在所有功能不停執(zhí)行前,先于OLED屏幕顯示「上鎖」。

a1d8367c-d798-11ed-bfe3-dac502259ad0.jpg

2. 函式群

共有四個函式:

【check_OK】開鎖成功并設(shè)定顯示與音效,并將「door」這個變量設(shè)定為1。

【check_ERROR】解鎖失敗并設(shè)定屏幕顯示沒有紀錄與連續(xù)音效,最后顯示上鎖。

【start_sound】感應(yīng)卡片或按下辨識按鈕時發(fā)出音效。

【open_and_lock】啟動電磁鎖開鎖并顯示倒數(shù),待3秒過后將「door」這個變量設(shè)定為0,并上鎖與顯示。

a1fb0a62-d798-11ed-bfe3-dac502259ad0.jpg

3. 重復(fù)執(zhí)行

在重復(fù)執(zhí)行內(nèi)也分成三個部份,分別是「HuskyLens運行時間」、「RFID讀取階段」、「是否開鎖階段」。

HuskyLens運行時間:首先從HuskyLens取得一組辨識數(shù)據(jù),接著確認是否按下按鈕,來進行身份比對,若比對成功則執(zhí)行【check_OK】,若沒有辨識到或身份比對錯誤,則執(zhí)行【check_ERROR】。

RFID讀取階段:一樣先取得感應(yīng)號碼,若沒有感應(yīng)到卡片則會取得「空字符串」,感應(yīng)到號碼后將進行比對,比對成功則執(zhí)行【check_OK】,比對錯誤則執(zhí)行【check_ERROR】。

是否開鎖階段:上述兩大階段若有開鎖成功,均會調(diào)整變量「door」的數(shù)值為1,在這階段只要偵測到「door」數(shù)值為1,則執(zhí)行【open_and_lock】,執(zhí)行完畢后會將「door」這個變量設(shè)定為0。

三個階段執(zhí)行完后,最后的「延遲100毫秒」是為了避免程序重復(fù)執(zhí)行過快,導(dǎo)致數(shù)據(jù)接收錯誤。

a20ef1c6-d798-11ed-bfe3-dac502259ad0.jpg

3. 重復(fù)執(zhí)行

在重復(fù)執(zhí)行內(nèi)也分成三個部份,分別是「HuskyLens運行時間」、「RFID讀取階段」、「是否開鎖階段」。

HuskyLens運行時間:首先從HuskyLens取得一組辨識數(shù)據(jù),接著確認是否按下按鈕,來進行身份比對,若比對成功則執(zhí)行【check_OK】,若沒有辨識到或身份比對錯誤,則執(zhí)行【check_ERROR】。

RFID讀取階段:一樣先取得感應(yīng)號碼,若沒有感應(yīng)到卡片則會取得「空字符串」,感應(yīng)到號碼后將進行比對,比對成功則執(zhí)行【check_OK】,比對錯誤則執(zhí)行【check_ERROR】。

是否開鎖階段:上述兩大階段若有開鎖成功,均會調(diào)整變量「door」的數(shù)值為1,在這階段只要偵測到「door」數(shù)值為1,則執(zhí)行【open_and_lock】,執(zhí)行完畢后會將「door」這個變量設(shè)定為0。

三個階段執(zhí)行完后,最后的「延遲100毫秒」是為了避免程序重復(fù)執(zhí)行過快,導(dǎo)致數(shù)據(jù)接收錯誤。

a21f2366-d798-11ed-bfe3-dac502259ad0.jpg

以上就是以ESP32為控制板,結(jié)合EzDIO擴展板與相關(guān)模塊制作的人臉辨識門鎖項目。

審核編輯:湯梓紅

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

    關(guān)注

    91

    文章

    39793

    瀏覽量

    301407
  • 蜂鳴器
    +關(guān)注

    關(guān)注

    12

    文章

    900

    瀏覽量

    47765
  • 擴展板
    +關(guān)注

    關(guān)注

    0

    文章

    116

    瀏覽量

    11828
  • 人臉辨識
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

    7064
  • ESP32
    +關(guān)注

    關(guān)注

    26

    文章

    1195

    瀏覽量

    21703

原文標題:ESP32 結(jié)合EzDIO 制作人臉辨識門鎖

文章出處:【微信號:易心Microbit編程,微信公眾號:易心Microbit編程】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    無需安裝!在瀏覽器里就能玩轉(zhuǎn)ESP32/ESP8266,這個神器絕了!

    無需安裝!在瀏覽器里就能玩轉(zhuǎn)ESP32/ESP8266,這個神器絕了!【往期精選】十年嵌入式最深的痛,不是Bug,而是抓不到日志!vivo宣布原生支持HomeAssistant生態(tài)設(shè)備接入(含
    的頭像 發(fā)表于 01-10 10:01 ?851次閱讀
    無需安裝!在瀏覽器里就能玩轉(zhuǎn)<b class='flag-5'>ESP32</b>/<b class='flag-5'>ESP</b>8266,這個神器絕了!

    ESP32 Wi-Fi 控制 LED 燈的原理

    在智能家居、物聯(lián)網(wǎng)設(shè)備中,用手機通過Wi-Fi控制燈光、風扇或插座,已經(jīng)非常普遍。而在嵌入式開發(fā)中,ESP32是最常用的Wi-Fi模塊之一。本文將帶你系統(tǒng)理解:ESP32是如何通過Wi-Fi實現(xiàn)遠程
    的頭像 發(fā)表于 01-09 19:04 ?298次閱讀
    <b class='flag-5'>ESP32</b> Wi-Fi 控制 LED 燈的原理

    ESP32藍牙驅(qū)動MAX98357對音頻音樂播放

    本文介紹了MAX98357音頻模塊的基本特性,并利用ESP32的藍牙功能程序驅(qū)動此模塊,最后用手機藍牙連接ESP32播放手機音樂
    的頭像 發(fā)表于 12-19 19:55 ?2650次閱讀
    <b class='flag-5'>ESP32</b>藍牙驅(qū)動MAX98357對音頻音樂播放

    VSCode + ESP-IDF環(huán)境下給ESP32-S3項目添加頭文件

    VSCode + ESP-IDF環(huán)境下給ESP32-S3項目添加頭文件
    的頭像 發(fā)表于 11-28 07:27 ?2326次閱讀

    #ESP32S3野牛小智

    ESP32
    丙丁先生
    發(fā)布于 :2025年11月25日 08:34:06

    ESP32-WROOM-32 技術(shù)規(guī)格書

    電子發(fā)燒友網(wǎng)站提供《ESP32-WROOM-32 技術(shù)規(guī)格書.pdf》資料免費下載
    發(fā)表于 11-11 17:27 ?0次下載

    ESP8266和ESP32開發(fā)板常見的2種下載方式

    ESP32ESP8266是性價比很高而且使用較為廣泛的的Wi-Fi模塊,在物聯(lián)網(wǎng)(IoT)領(lǐng)域的DIY項目中可以首先考慮這2款產(chǎn)品。 兩款芯片都屬于32位處理器。ESP32是低功耗雙核80MHz
    的頭像 發(fā)表于 11-10 20:30 ?966次閱讀
    <b class='flag-5'>ESP</b>8266和<b class='flag-5'>ESP32</b>開發(fā)板常見的2種下載方式

    樂鑫ESP32-C6和ESP32-C61究竟該如何選擇?一文讀懂本質(zhì)區(qū)別

    樂鑫科技推出的ESP32-C6和ESP32-C61均支持Wi-Fi6,但定位不同。ESP32-C6是多協(xié)議樞紐,集成Wi-Fi6、藍牙5、Zigbee和Thread,適合智能家居網(wǎng)關(guān)和Matter
    的頭像 發(fā)表于 10-28 14:17 ?2063次閱讀
    樂鑫<b class='flag-5'>ESP32</b>-C6和<b class='flag-5'>ESP32</b>-C61究竟該如何選擇?一文讀懂本質(zhì)區(qū)別

    專為 ESP32-P4C5 核心板打造的高效開發(fā)利器

    SDK+詳盡文檔,新手秒上手,高手效率翻倍!雙芯片設(shè)計,釋放澎湃性能ESP32-P4C5核心板采用樂鑫科技的ESP32-P4+ESP32-C5雙芯架構(gòu)!·ESP32-P
    的頭像 發(fā)表于 08-11 18:19 ?1198次閱讀
    專為 <b class='flag-5'>ESP32</b>-P4C5 核心板打造的高效開發(fā)利器

    ESP32-運行網(wǎng)頁服務(wù)器(Web Server)-實用篇

    在前一篇文章《ESP32-運行網(wǎng)頁服務(wù)器(WebServer)-入門篇》,我們介紹了ESP32運行網(wǎng)頁服務(wù)器(WebServer)的原理,然后我們基于ESP32實現(xiàn)了一個demo代碼;看到很多同學都留言發(fā)表了自己的看法,有很多同
    的頭像 發(fā)表于 07-28 18:05 ?3653次閱讀
    <b class='flag-5'>ESP32</b>-運行網(wǎng)頁服務(wù)器(Web Server)-實用篇

    ESP32開發(fā)板元件資料

    ESP32開發(fā)板元件
    發(fā)表于 07-21 14:47 ?15次下載

    基于ESP32C3的智能小車設(shè)計

    你有沒有想過,從零開始親手制作一輛堅固耐用的遙控越野車?今天,小編就帶你走進一個融合機械、電子與物聯(lián)網(wǎng)的精彩DIY項目——一款由 Seeed Studio XIAO ESP32C3 強力驅(qū)動的 3D打印4x4 RC漫游車!
    的頭像 發(fā)表于 06-04 11:11 ?2399次閱讀
    基于<b class='flag-5'>ESP32</b>C3的智能小車設(shè)計

    樂鑫ESP32-C5全面進入量產(chǎn)

    樂鑫信息科技 (688018.SH) 宣布,ESP32-C5 現(xiàn)已全面進入量產(chǎn)。
    的頭像 發(fā)表于 05-06 16:50 ?1397次閱讀

    樂鑫ESP32-C5全面進入量產(chǎn)!啟明云端樂鑫科技代理商

    樂鑫信息科技(688018.SH)宣布,ESP32-C5現(xiàn)已全面進入量產(chǎn)。作為行業(yè)首款2.4&5GHz雙頻Wi-Fi6的RISC-VSoC,ESP32-C5同時集成Bluetooth5(LE
    的頭像 發(fā)表于 04-30 18:10 ?1256次閱讀
    樂鑫<b class='flag-5'>ESP32</b>-C5全面進入量產(chǎn)!啟明云端樂鑫科技代理商

    ESP32運行網(wǎng)頁服務(wù)器 (Web-Server)-入門篇

    什么是ESP32WebServer?ESP32WebServer是在ESP32微控制器上運行的一個嵌入式網(wǎng)頁服務(wù)器。它能夠處理HTTP請求并作出響應(yīng),使用戶可以通過網(wǎng)絡(luò)瀏覽器與設(shè)備進行通訊和交互
    的頭像 發(fā)表于 03-09 14:24 ?7570次閱讀
    <b class='flag-5'>ESP32</b>運行網(wǎng)頁服務(wù)器 (Web-Server)-入門篇