驗(yàn) 干簧管磁體檢測與雙色 LED 提示)
在智能門窗、磁吸開關(guān)、防拆檢測和設(shè)備閉合狀態(tài)判斷這類場景中,系統(tǒng)經(jīng)常需要判斷“某個(gè)帶磁性的物體是否靠近”。干簧管傳感器正適合完成這類檢測任務(wù),它的工作方式非常直觀:磁鐵靠近時(shí),傳感器信號(hào)發(fā)生變化;磁鐵離開時(shí),信號(hào)恢復(fù)到默認(rèn)狀態(tài)。對于硬件編程入門而言,這個(gè)實(shí)驗(yàn)?zāi)馨?GPIO 輸入、中斷觸發(fā)、狀態(tài)顯示和事件計(jì)數(shù)串聯(lián)到同一個(gè)案例中。本實(shí)驗(yàn)使用 CanMV K210 開發(fā)板讀取干簧管傳感器狀態(tài),并通過雙色 LED 顯示檢測結(jié)果。程序中,干簧管信號(hào)接入 IO6,并映射為GPIOHS0輸入;雙色 LED 的紅燈和綠燈分別接入 IO7、IO8,用于顯示觸發(fā)狀態(tài)和空閑狀態(tài)。磁鐵未靠近時(shí),綠燈點(diǎn)亮表示安全或空閑;磁鐵靠近時(shí),信號(hào)從高電平變?yōu)榈碗娖?,觸發(fā)下降沿中斷,紅燈閃爍并記錄觸發(fā)次數(shù)。代碼還加入了 200 毫秒消抖邏輯,避免一次磁鐵靠近被誤識(shí)別成多次事件。學(xué)習(xí)目標(biāo)說明理解磁控檢測認(rèn)識(shí)干簧管如何通過磁鐵靠近或離開產(chǎn)生電平變化掌握 GPIO 輸入使用GPIO.IN和GPIO.PULL_UP讀取傳感器狀態(tài)掌握中斷觸發(fā)使用下降沿中斷捕獲磁鐵靠近事件理解雙色 LED 提示通過紅燈和綠燈區(qū)分觸發(fā)狀態(tài)與空閑狀態(tài)建立安全調(diào)試意識(shí)關(guān)注 LED、模塊供電和接線異常帶來的發(fā)熱風(fēng)險(xiǎn)這個(gè)實(shí)驗(yàn)不只是判斷“有磁鐵”或“沒有磁鐵”,更重要的是理解智能硬件中的事件驅(qū)動(dòng)思路。普通輪詢會(huì)不斷讀取當(dāng)前狀態(tài),中斷機(jī)制則可以在關(guān)鍵變化發(fā)生時(shí)記錄一次事件。結(jié)合雙色 LED、串口打印和累計(jì)次數(shù),磁鐵靠近這個(gè)物理動(dòng)作就能變成程序中的狀態(tài)變化、觸發(fā)提示和事件統(tǒng)計(jì)。文章目錄理論基礎(chǔ)硬件設(shè)施軟件代碼擴(kuò)展應(yīng)用總結(jié)理論基礎(chǔ)干簧管是一類磁控開關(guān)器件,內(nèi)部通常由兩片可被磁場影響的金屬簧片組成。當(dāng)磁鐵靠近時(shí),簧片狀態(tài)發(fā)生變化,傳感器輸出電平隨之改變;當(dāng)磁鐵離開時(shí),傳感器恢復(fù)到默認(rèn)狀態(tài)。它常用于門窗磁吸檢測、設(shè)備外殼防拆、物體到位檢測和磁控開關(guān)場景。本實(shí)驗(yàn)把干簧管信號(hào)接入 CanMV K210 的 IO6,并通過上拉輸入方式讀取電平。上拉輸入可以讓信號(hào)在未觸發(fā)時(shí)保持高電平,磁鐵靠近時(shí)信號(hào)被拉低。程序?qū)⒌碗娖蕉x為觸發(fā)狀態(tài),也就是REED_ACTIVE = 0;將高電平定義為空閑狀態(tài),也就是REED_INACTIVE = 1。這種邏輯在磁吸檢測類項(xiàng)目中非常常見,因?yàn)樗馨选按盆F靠近”轉(zhuǎn)換成清晰的高低電平變化。雙色 LED 用來提供可視化狀態(tài)反饋。當(dāng)前代碼假設(shè) LED 為低電平點(diǎn)亮,因此LED_ON = 0,LED_OFF = 1。磁鐵未靠近時(shí),綠燈點(diǎn)亮表示空閑或安全;磁鐵靠近時(shí),紅燈點(diǎn)亮表示觸發(fā);中斷捕獲到靠近事件后,紅燈會(huì)閃爍兩次作為事件提示。這樣一來,串口輸出、LED 狀態(tài)和磁鐵動(dòng)作之間就形成了對應(yīng)關(guān)系。