www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 工業(yè)控制 > 電路設(shè)計項目集錦
[導(dǎo)讀]幾個星期前,當我去一家餐館的時候,這種臺燈的變體真的弄傷了我的手指。這東西是要通過觸摸來控制的,但要用一種神秘的方式。有足夠的理由進一步研究使用ESP32。當然,使用Micropython是成功的。這是該系列下一集的結(jié)果

如果光輸出可以直接在設(shè)備上進行交互控制,那就太好了。現(xiàn)在我們將構(gòu)建并編程一個設(shè)備。

幾個星期前,當我去一家餐館的時候,這種臺燈的變體真的弄傷了我的手指。這東西是要通過觸摸來控制的,但要用一種神秘的方式。有足夠的理由進一步研究使用ESP32。當然,使用Micropython是成功的。這是該系列下一集的結(jié)果

帶有觸摸控制的臺燈

有了手機應(yīng)用程序,你自然有很多選擇來控制臺燈。但是問題已經(jīng)從決定開始了——無線局域網(wǎng)通過路由器還是通過控制器自己的接入點。這必須在課程中考慮到,或者在開始時就已經(jīng)有了。

如果光輸出可以直接在設(shè)備上進行交互控制,那就太好了?,F(xiàn)在我們將構(gòu)建并編程一個設(shè)備。首選控制器是ESP32,因為它有觸摸板輸入。進一步考慮使用ESP8266或樹莓派Pico,然后產(chǎn)生了觸摸問題的進一步解決方案。我們將在下一集中討論這些問題。今天我們繼續(xù)討論ESP32。我將展示如何將數(shù)據(jù)永久存儲在NVS區(qū)域中,以及如何實現(xiàn)進程并行執(zhí)行。至少第一個功能只提供ESP32。

對于使用的控制器板ESP32 Dev Kit C V4,需要兩個面包板來開發(fā)電路,它們通過電流軌放在一起。這是為跳線獲得足夠自由接觸點的唯一方法。

圖1:ESP32的設(shè)置

作為觸摸板,我使用了電路板和波峰的剩余部分。小鋁孩子將服務(wù)于生產(chǎn)系統(tǒng)。

我使用RGB LED來顯示運行狀態(tài)。戒指上led的顏色可以單獨設(shè)置和下調(diào)。RGB LED顯示顏色??偣灿形宸N情況:紅、綠、藍、白、中。

預(yù)電阻的尺寸是這樣的,一起發(fā)出白光。藍色的,尤其是綠色的LED比紅色的要亮得多。因此,電阻值的差異很大。如果你想要一個更輕的顯示,就取更小的歐姆值。

圖2中的電路圖顯示了所有部件是如何組合在一起的。

圖2:帶有ESP32和觸摸板的電路

作為能源供應(yīng),我選擇了18650型的鋰離子電池,加上一個帶有加載部分和5V輸出的電池所有者。我在USB A插座的連接旋轉(zhuǎn)上焊接了我的電路的供應(yīng)線。這樣我就不用USB插頭了,仍然可以使用板上的機械開關(guān)。它將指向房屋朝向地面,以及在圖2中板子上端的加載插座。

因為燈里放面包板的空間太小了,我設(shè)計了一個電路板,上面可以容納幾個單獨的零件。您可以按照下載PDF文件的方式進行布局。

圖3:傳感器燈-布局

我在實驗設(shè)置中使用了RGB LED模塊。對于燈本身,我發(fā)現(xiàn)該系列的一個led更理想,因為它更容易組裝在蓋子上。LED只是用雙組分粘合劑粘在框架上。

圖4:帶有公共陰極的RGB LED

燈具部件

房屋框架和蓋子由木材制成??蚣苡?5毫米的楓木板組成,45毫米× 150毫米。作為蓋子,我拿了一個5毫米厚的板,其中一個木制圓柱體粘在中間的黃銅管的中心。

圖5:燈具部件

圖6:粘接前的框架條

圖7:安裝在外殼框架和燈座在蓋子

圖8:傳感器按鍵和信號LED

燈頭坐落在一個230毫米長的黃銅管與6mm ?。

圖9:燈頭內(nèi)的LED環(huán)

Micropython -語言-模塊和程序

要安裝托尼,你會在這里找到一個詳細的說明(英文版)。還有一個關(guān)于ESP芯片上的Micropython固件(截至2022年6月18日)如何被燒毀的描述。

Micropython是一種解釋器語言。Arduino IDE與Arduino IDE的主要區(qū)別在于,你只需要在ESP32上閃爍Micropython固件一次,以便控制器理解Micropython指令。您可以使用Thonny,μpycraft或ESPTOOL.PY。對于安東尼,我在這里描述了這個過程。

一旦固件閃過,你就可以很容易地在對話框中與控制器對話,測試單個命令并立即看到答案,而無需事先編譯和傳輸整個程序。這正是Arduino IDE困擾我的地方。如果您可以檢查語法和硬件的簡單測試,以便在編寫程序之前通過命令行嘗試和改進函數(shù)和整個程序部分,則可以節(jié)省大量時間。出于這個目的,我總是喜歡創(chuàng)建小型測試程序。作為一種宏,它們總結(jié)了重復(fù)出現(xiàn)的命令。然后從這些程序片段開發(fā)整個應(yīng)用程序。

自動啟動

如果程序要通過打開控制器自動啟動,請將程序文本復(fù)制到新創(chuàng)建的空白磁貼中。將該文件保存在WorkSpace中的Main.py中,并將其上傳到ESP芯片。該程序?qū)⒃谙麓螐?fù)位或開機時自動啟動。

測試程序

tony - ide中當前編輯器窗口中的程序通過F5按鈕手動啟動。這可以比鼠標點擊開始按鈕或通過菜單運行更快地完成。只有程序中使用的模塊必須在ESP32的flash中。

在兩者之間,Arduino id ?

如果您以后將控制器與Arduino IDE一起使用,只需以通常的方式刷新程序。然而,ESP32/ESP8266隨后忘記了它曾經(jīng)說過Micropython。相反,任何包含Arduino IDE或AT-Firmware或Lua或…可以很容易地提供micropython固件。這個過程總是像這里描述的那樣。

新像素環(huán)

類型WS2812新像素led包含三個單獨的led,釋放紅色,綠色或藍色光。它們由控制器尋址,控制器通過一種時鐘為800kHz的總線系統(tǒng)接收指令。

在I2C總線或SPI總線上,來自控制器(例如ESP32)的信號以相同的方式到達總線上的所有從機,每個人都能看到一切。它與WS2812模塊不同。每個構(gòu)建塊都有一個數(shù)據(jù)輸入和數(shù)據(jù)輸出。通過連接I2C總線或SPI總線,幾個構(gòu)建模塊可以級聯(lián),來自控制器的信號,例如ESP32,以相同的方式到達總線上的所有從機,每個人都能看到一切。它與WS2812模塊不同。每個構(gòu)建塊都有一個數(shù)據(jù)輸入和數(shù)據(jù)輸出。幾個構(gòu)建塊可以級聯(lián)在I2C總線或SPI總線上,來自控制器的信號,例如ESP32,以相同的方式到達總線上的所有從機,每個人都看到一切。它與WS2812模塊不同。每個構(gòu)建塊都有一個數(shù)據(jù)輸入和數(shù)據(jù)輸出。幾個構(gòu)建塊可以為單個顏色級聯(lián)。我們以一個列表的形式給出顏色代碼,每個WS2812有三個字節(jié)。

讓我們從一個嘗試開始。我們使用圖2的結(jié)構(gòu)。首先導(dǎo)入Class Pin和Neopixel。我創(chuàng)建了一個GPIO引腳對象作為結(jié)果,從而實例化了一個具有八個組件的新像素對象。

neopixel實例neo包含一個Bytearar和write()方法,通過該方法Bytearar的內(nèi)容被傳輸?shù)絥eopixel環(huán)。

使用neoI處理數(shù)組的前三個元素,并傳遞紅色,綠色和藍色,0xe0, 0x07和0x3c的值。在內(nèi)部,這使得私有函數(shù)setitem()。這些值以改變后的順序輸入緩沖區(qū)。正如我們將看到的曲線,這是我在邏輯分析儀的幫助下記錄的。這些值是在緩沖區(qū)中發(fā)送的。一個0對應(yīng)于一個近似的窄脈沖。500NS寬度后面跟著a)。這些值以改變后的順序輸入緩沖區(qū)。正如我們將看到的曲線,這是我在邏輯分析儀的幫助下記錄的。這些值是在緩沖區(qū)中發(fā)送的。一個0對應(yīng)于一個近似的窄脈沖。500NS寬度后面跟著a)。這些值以改變后的順序輸入緩沖區(qū)。正如我們將看到的曲線,這是我在邏輯分析儀的幫助下記錄的。這些值是在緩沖區(qū)中發(fā)送的。一個0對應(yīng)于一個近似的窄脈沖。500NS的寬度按交換順序發(fā)送。這與數(shù)據(jù)表中的信息相對應(yīng),也可以通過以下方式進行驗證。

圖10:RGB = 0xe0, 0x07, 0x3c, 0xF0, 0xF0, 0xF0的脈沖序列

在第一個WS2812B的輸出中,丟失了三個字節(jié)0xe0、0x07和0x3c,這已經(jīng)吞噬了這個構(gòu)建塊。相反,代碼0xF0, 0xF0, 0xF0出現(xiàn)時間延遲,即第二個組件的代碼。邏輯分析儀通道1的輸入連接到第一個LED入口的測量,通道2連接到它的輸出。

現(xiàn)在我們知道WS2812B上的袋鼠是如何運行的,并且可以轉(zhuǎn)向燈的程序。

這個項目

我們想用三個傳感器板來控制新led。通過GPIO33的觸摸板進行顏色選擇。有五個通道:開/關(guān)、紅、綠、藍和明/暗。強度增加到GPIO32,降低到GPIO27。這三個活動的操作在后臺以三個函數(shù)并行運行。這是通過asyncio模塊實現(xiàn)的。

起初,我試圖做模塊為_thread使用。這在兩個過程中工作得很好,但拒絕為第三方服務(wù)。我找不出原因是什么。所以我們使用asyncio。

我們先從進口業(yè)務(wù)說起。該模塊支持我們使用觸摸板的方法。我們需要LED輸出的引腳。在Neopixel上我們管理LED環(huán)的WS2812B。別名NP允許我們使用更短的拼寫。這些方法用于模塊時間的小小睡sleep和Sleep_ms。在C-Python中,我們也錯過了這個模塊的別名。類NVS只對ESP32可用,ESP32可以從我們導(dǎo)入類的地方看到。NVS是非易失性存儲的縮寫。這允許我們在系統(tǒng)中永久存儲數(shù)據(jù)。我們用它來取下我們最喜歡的顏色組合,然后在冷啟動時再次自動加載。(下載:timeout.py touch.py touchlamp .py)

NVS區(qū)域被劃分為名稱空間(name spaces),其中有符號32位數(shù)字和所謂的二進制blob,所以字節(jié)對象所以字節(jié)字符串。我們的分區(qū)名為config。

這里我們設(shè)置觸摸板對象。第一個參數(shù)是GPIO引腳號。因此GPIO33代表Touch8, GPIO32代表Touch9, GPIO27代表Touch7。第二個參數(shù)是觸摸板被歸類為觸摸的限制。當觸摸時,讀取值和方法掉落,觸摸()傳遞1,否則傳遞0。

為了設(shè)置限制值,我們直接要求TP對象的相應(yīng)收據(jù),而不需要觸摸。

然后是觸摸。

我們將LED環(huán)的信號線連接到GPIO13上。戒指有8個led,同樣你也可以使用一個有12個led的戒指。當然,它也會更快地耗盡電池。使用8系列環(huán),電流消耗在40mA到250ma之間。當使用2200毫安時,根據(jù)亮度設(shè)置的不同,負載足夠使用大約8小時。

我已經(jīng)列出了上面5個通道的含義。顏色的顏色作為代碼列表“All LEDs out”=[0.0.0]。

接下來是NVS區(qū)域中保存和讀取顏色代碼的例程定義。顏色名稱用作鍵,值來自列表元素。重要:只有使用commit()命令才能傳輸?shù)絻?nèi)存。

閱讀更容易。我們以列表的形式返回顏色值。如果省略方括號,將得到一個返回對象Tupel。我們不需要這樣做,因為我們想要改變程序中的元素值,而這在tupel中是不可能的。

在開始時,名稱空間config仍然為空。因此,讀訪問拋出一個Try Except攔截的異常。我們不讀取顏色代碼,而是在內(nèi)存中編寫上面定義的代碼。在下一個開始,鍵紅,綠和藍存在。

我們繼續(xù)定義其他變量和對象。如果我們在操作過程中切換led變暗,則實現(xiàn)是當前顏色代碼的短暫中間存儲器。那我們就帶走真的。

然后我們定義RGB LED的輸出。我們把物體放在tupel led中。因為對象引用沒有改變,所以可以安全地使用tupel。對于形狀,也可以采用tupel。這些元件依次是燃料,并決定如何將電纜切換到信號LED。channel中是四個通道的名稱,這是我們在Replica中輸出所需要的。

函數(shù)lum()用顏色代碼填充新像素緩沖區(qū),并通過GPIO13輸出將緩沖區(qū)內(nèi)容發(fā)送到環(huán)。

現(xiàn)在開始使用asyncio模塊。因此,我們定義了三個用于觸摸控制的函數(shù)。使用TP1時,如果我們切換通道,將當前顏色保存為Nvs。config并將戒指調(diào)暗。我們用觸摸觸控板的周期來解碼每種情況下應(yīng)該發(fā)生的情況。

在異步系統(tǒng)中表示進程的函數(shù)必須以asyncdef方式啟動。該過程在函數(shù)離開后立即結(jié)束。我們不希望那樣,所以這個過程就像一個無限循環(huán)一樣運行。對象的channel和color經(jīng)歷我們必須在其他地方使用的潛在變化,所以我們在啟動函數(shù)時將它們聲明為全局。

我們用asyncio-Variant的asyncio.sleep_ms()代替正常的超時的Sleep_ms()。用線條

我們向系統(tǒng)發(fā)出信號,告知該進程可以在此時中斷,以便操作其他進程。

只要pad TP1沒有被觸碰,那么這個循環(huán)就會空著運行。如果確定了觸摸,則傳遞觸摸()1,并使用getduration()確定持續(xù)時間(以毫秒為單位)。

一個短的水龍頭帶來的周期遠低于100。

如果保持時間小于500ms,我們計數(shù)通道并將信號RGB切換到相應(yīng)的顏色。通過模5除數(shù)的形成,我們將其取值范圍限制在0…4,從而接收到一個環(huán)形計數(shù)器。

如果保持時間在半秒到兩秒之間,我們觸發(fā)當前顏色的存儲。

LED環(huán)變暗超過兩秒。

函數(shù)showchannel()操作信號LED的輸出。通道號被移交并測試是否符合有效區(qū)域。如果不是這種情況,則拋出異常。led (i)一個接一個地表示紅色,綠色和藍色的三個輸出。在num上訪問相應(yīng)的模式,并在模式的元組中尋址值。

showchannel(3)調(diào)用通道3(藍色)的模式(0.0.1),并設(shè)置Ledr = 0, LedG = 0和LEDB = 1。

具有Async Def的函數(shù)被啟動時,行為是協(xié)作的,它們允許多個進程彼此并行執(zhí)行,因此被稱為協(xié)程。使用協(xié)同程序increate(),我們計算所設(shè)置通道的顏色值。顏色、實現(xiàn)和注釋的變化必須在流程之外可見,即全局可見。該進程被永久地保存在while循環(huán)中,并且可以被中斷。

通道1到3,一個離散的顏色被控制。如果我們控制顏色值增加時的附加值。在第10次運行時,為了避免不必要的副作用,第5次運行時,我們將顏色值限制為最大255。列表中對應(yīng)的元素顏色為。1中的通道數(shù)減少1個PTR。

在通道4中,所有分量的顏色增加相同的值3。在[255,255,255]處結(jié)束。當向后移動時,只有白光的強度降低。原來設(shè)定的顏色不再達到。目前這不是很好,但應(yīng)該在sensorlampy2.0的另一集中進行優(yōu)化。

信號LED在通道0處變暗。在減少選項卡中,當前的顏色代碼為realciintermediated,代碼為[0.0.0]。這里,在increate()中,顏色代碼被恢復(fù)并發(fā)送到環(huán)。旗子說:讓我們把它放回去。

函數(shù)遞減()如果我們做類似的工作,不是加,而是用顏色值做減法。

主程序也是作為協(xié)程編寫的。首先,我們創(chuàng)建一個事件循環(huán)。它接管了對任務(wù)過程的控制。作為參數(shù),我們傳遞函數(shù)并解釋事件循環(huán)應(yīng)該是一個永久的運行器。

我們打開燈并啟動Main()函數(shù)。在那之后,一切都自行進行。在那之后,一切都是通過觸摸觸控板完成的。

本文編譯自hackster.io

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

2025年9月4日 – 專注于引入新品的全球電子元器件和工業(yè)自動化產(chǎn)品授權(quán)代理商貿(mào)澤電子 (Mouser Electronics) 宣布與電子元器件制造商、連接器領(lǐng)域創(chuàng)新企業(yè)Molex合作推出全新互動電子書《The El...

關(guān)鍵字: 機器人 連接器 傳感器

面對市場對更智能產(chǎn)品、更短設(shè)計周期以及更高效靈活生產(chǎn)流程的需求日益增長,設(shè)計與制造企業(yè)紛紛借助人工智能,推動業(yè)務(wù)流程邁向新高度。憑借處理復(fù)雜數(shù)據(jù)的卓越能力與傳遞智能洞見的便捷性,人工智能已準備好在工業(yè)價值鏈的各個環(huán)節(jié)承擔...

關(guān)鍵字: 人工智能 工業(yè)物聯(lián)網(wǎng) 傳感器

傳感器模塊能實現(xiàn)便捷無接觸的后備箱或側(cè)滑門開啟,適配各種車輛架構(gòu) 該24 GHz雷達傳感器可集成于保險杠或底盤上,并通過特定的手勢或腳部動作觸發(fā)響應(yīng) 已為多家歐洲主流車企啟動量產(chǎn)交付 德國布爾2025...

關(guān)鍵字: 傳感器 BSP 觸發(fā) 保險杠

提升工業(yè)系統(tǒng)智能化的方法有多種,其中包括將邊緣和云端人工智能(AI)技術(shù)應(yīng)用于配備模擬和數(shù)字器件的傳感器。鑒于AI技術(shù)方法的多樣性,傳感器設(shè)計人員需要考慮多個相互沖突的要求,包括決策延遲、網(wǎng)絡(luò)使用、功耗/電池壽命以及適合...

關(guān)鍵字: 人工智能 傳感器 AI

不久前,作為行業(yè)領(lǐng)先的傳感器和電源解決方案的領(lǐng)導(dǎo)者之一——Allegro攜手合作伙伴成功舉辦《Allegro高速電機位置檢測解決方案,賦能未來智能驅(qū)動》線上技術(shù)研討會?;谠诖艂鞲蓄I(lǐng)域的技術(shù)積淀與持續(xù)創(chuàng)新,Allegro...

關(guān)鍵字: 傳感器 汽車電子

現(xiàn)已推出評估套件、軟件和文檔,可幫助可穿戴設(shè)備和醫(yī)療保健領(lǐng)域的開發(fā)人員優(yōu)化電源管理

關(guān)鍵字: 電池 電量計 傳感器

【2025年8月26日,德國慕尼黑訊】全球功率系統(tǒng)和物聯(lián)網(wǎng)領(lǐng)域的半導(dǎo)體領(lǐng)導(dǎo)者英飛凌科技股份公司(FSE代碼:IFX / OTCQX代碼:IFNNY)宣布攜手NVIDIA Technology(簡稱:NVIDIA 英偉達,...

關(guān)鍵字: 機器人 傳感器 智能執(zhí)行器

在物聯(lián)網(wǎng)設(shè)備數(shù)量突破千億級的今天,開發(fā)者對核心芯片的訴求已從單一功能轉(zhuǎn)向“全棧集成+生態(tài)協(xié)同”。樂鑫科技推出的ESP32憑借其獨特的“雙核架構(gòu)+無線雙模+開源生態(tài)”組合,成為智能家居、工業(yè)監(jiān)控、可穿戴設(shè)備等領(lǐng)域的首選方案...

關(guān)鍵字: ESP32 物聯(lián)網(wǎng)

Puttshack 的 Trackaball 以 Nordic nRF54L15 系統(tǒng)級芯片 (SoC) 監(jiān)控傳感器并實現(xiàn)低功耗藍牙連接,并以nPM2100 電源管理集成電路(PMIC)節(jié)省耗電

關(guān)鍵字: SoC 傳感器 集成電路
關(guān)閉