日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 工業(yè)控制 > 電路設(shè)計(jì)項(xiàng)目集錦
[導(dǎo)讀]該設(shè)備基于安裝了開發(fā)人員軟件的DevBoard。該板通過藍(lán)牙連接到受控設(shè)備,并傳輸識(shí)別的語音命令及其傾斜角度。用戶將這個(gè)“遙控器”握在手中,使用傾斜和語音命令來控制機(jī)器人或其他他適應(yīng)的設(shè)備,以便與電路板一起工作,我希望這篇文章能有所幫助。

該設(shè)備基于安裝了開發(fā)人員軟件的DevBoard。該板通過藍(lán)牙連接到受控設(shè)備,并傳輸識(shí)別的語音命令及其傾斜角度。用戶將這個(gè)“遙控器”握在手中,使用傾斜和語音命令來控制機(jī)器人或其他他適應(yīng)的設(shè)備,以便與電路板一起工作,我希望這篇文章能有所幫助。

板上有兩個(gè)微控制器,ESP32-S3和ESP32-C3。

S3已經(jīng)閃過,當(dāng)設(shè)備打開時(shí),機(jī)器人控制程序默認(rèn)啟動(dòng)。無法訪問源代碼,也無法跨flash S3。

交互和對控制器本身進(jìn)行任何更改的能力僅在C3部分可用。它的固件源代碼是開源的,可以在這里找到(對于那些想要更深入地理解或修改交互機(jī)制的人來說)。

第一種方法:單板工作在語音命令識(shí)別模式,選擇固定的命令。

第二種控制方法是控制板子在平面上的傾斜變化。在這種情況下,在X和Y軸上的傾斜角度的實(shí)時(shí)值被發(fā)送到被控設(shè)備,可以轉(zhuǎn)換為運(yùn)動(dòng)控制命令。

要切換到手動(dòng)控制模式,說manual control命令,板屏幕將改變。

雖然語音命令仍然可以識(shí)別和發(fā)送,但您可以繼續(xù)在受控設(shè)備上處理它們。

準(zhǔn)備實(shí)現(xiàn)CrowBOT BOLT

最簡單的入門方法是購買控制模塊和Elecrow的CrowBOT。DevBoard開發(fā)人員已經(jīng)為它添加了工廠固件,包括與開發(fā)板交互的塊。

正如我上面所寫的,開發(fā)者已經(jīng)意識(shí)到與電路板“開箱即用”互動(dòng)的可能性,但對于特定的設(shè)備-來自Elecrow的CrowBOT Bolt。這是一個(gè)訓(xùn)練機(jī)器人,可以用Arduino IDE, Letscode和MicroPython編程。

來自制造商的機(jī)器人的工廠固件可以在Elecrow wiki上獲得,并且它已經(jīng)實(shí)現(xiàn)了機(jī)器人附帶的IR遠(yuǎn)程控制。

我們有興趣比較來自制造商的機(jī)器人原始固件與來自控制器板開發(fā)人員的新固件,以了解代碼并將其用作開發(fā)項(xiàng)目中任何其他設(shè)備程序的基礎(chǔ)。

主要固件更改

?通過藍(lán)牙連接到DevBoard

在機(jī)器人的原始固件中,有可能與藍(lán)牙一起工作,因?yàn)闄C(jī)器人可以配備藍(lán)牙操縱桿進(jìn)行控制。但我們感興趣的是如何連接到我們的董事會(huì)是實(shí)現(xiàn)。

?對語音指令的響應(yīng)

處理來自董事會(huì)和與語音控制相關(guān)的事件

機(jī)器人的DevBoard傾斜控制同樣適用于板的傾斜控制。

?倒車時(shí)的聲音信號(hào)

開發(fā)人員添加了一些有用的小東西,使固件更有趣。例如,機(jī)器人開始在每次倒車時(shí)發(fā)出警告聲,就像今天的許多汽車一樣

?轉(zhuǎn)彎背光(轉(zhuǎn)向燈)

還增加了在轉(zhuǎn)彎時(shí)的背光,這使得使用CrowBOT更加豐富多彩和令人興奮。

讓我們仔細(xì)看看這些變化

在程序的最開始,允許組織多任務(wù)處理的庫的頭文件被鏈接:

這些庫用于創(chuàng)建和管理任務(wù),以及在任務(wù)之間傳遞消息。在未來,這將有助于播放音頻和處理來自DevBoard的命令。

接下來,輸入DevBoard的藍(lán)牙UUID:

這指定了我們的機(jī)器人要連接的設(shè)備。

聲明信號(hào)量和消息緩沖區(qū)來控制任務(wù)的執(zhí)行和它們之間的同步。

什么是信號(hào)量?

我們更容易把信號(hào)量想象成一個(gè)盛著一顆糖的盤子。任務(wù)可以檢查糖果,試著拿走它,并在一段時(shí)間后歸還。它原來只是一個(gè)bool,但由于多線程和相關(guān)問題,它的工作有點(diǎn)復(fù)雜。同樣值得澄清的是,除了二進(jìn)制信號(hào)量(當(dāng)有一個(gè)糖果時(shí)),還有非二進(jìn)制信號(hào)量(多個(gè)糖果)。

在本例中,我們將使用信號(hào)量在任務(wù)之間進(jìn)行通信:

例如,這句話的意思是“等糖果出現(xiàn)在盤子里的時(shí)間越長越好,一旦糖果出現(xiàn),就立即拿走”。

這句話的意思是:“把糖果放回原處”。

定義來自DevBoard的消息的最大長度。

提供給電動(dòng)機(jī)的絕對值的間隔。沒有這個(gè)限制,機(jī)器人的馬達(dá)只會(huì)嗡嗡作響,但不會(huì)工作。增加最小轉(zhuǎn)速有助于在低功率時(shí)消除噪聲。

箝位功能允許您通過設(shè)置其下限和上限來限制某些值的變化范圍。

這個(gè)函數(shù)執(zhí)行一個(gè)多項(xiàng)式坐標(biāo)變換。這用于將從DevBoard接收到的傾斜角度轉(zhuǎn)換為提供給電機(jī)的功率。注意這個(gè)變換是非線性的。如前所述,電機(jī)的工作功率間隔為[-255…,接收角度在[-45…]45)。

如果我們?yōu)槊總€(gè)電機(jī)取3個(gè)三維點(diǎn)(橫搖,俯仰和期望功率值)并進(jìn)行插值,我們可以得到這個(gè)變換的公式。例如,對于左馬達(dá),我們?nèi)↑c(diǎn):

(45,45,256) - DevBoard向前和向右轉(zhuǎn)動(dòng),因此我們應(yīng)該以最大功率轉(zhuǎn)動(dòng)左電機(jī)以向右轉(zhuǎn)動(dòng)。

(-22.5, 45, 128) - DevBoard面朝前方,略偏左,這意味著我們應(yīng)該向前移動(dòng),但也要向左轉(zhuǎn),所以預(yù)計(jì)電機(jī)功率為一半。

(0,0,0,0) -不傾斜-不移動(dòng)。

如果我們進(jìn)行雙線性插值,我們得到左電機(jī)的公式:l = 1.3274074074074107x+ 3.792592592592593y +0.012641975308641975xy

正確的電機(jī)的值是相似的。

led_callback和buzzer_callback過程分別用于更新led的狀態(tài)和控制蜂鳴器。每隔一段時(shí)間就會(huì)叫他們。

不斷嘗試捕獲信號(hào)量的任務(wù),如果成功,則播放音樂。Tone數(shù)組包含要播放的頻率,Time數(shù)組包含播放特定音符的時(shí)間。信號(hào)量在主任務(wù)中釋放,允許PLAY MUSIC語音命令異步執(zhí)行。

主要任務(wù)是這樣的:

改變速度因子(對于更快的速度和更慢的速度語音命令)

速度因子本身(用于GO FORWARD和GO BACK命令)

是否處于傾斜控制模式:

當(dāng)我們切換到傾斜控制模式時(shí),我們開始定期調(diào)用led_callback和buzzer_callback。

切換到語音控制模式時(shí),關(guān)閉電機(jī)和LED,停止led_callback和buzzer_callback的周期性調(diào)用:

打開(front_lights_en == true)或關(guān)閉(front_lights_en == false)“前燈”

消息緩沖

期待來自緩沖區(qū)的消息。一旦收到,將其轉(zhuǎn)換為字符串。

消息中出現(xiàn)XY表示收到了來自傾斜傳感器的數(shù)據(jù)。如果我們沒有在傾斜控制模式,我們收到了XY,切換到它。

我們以語音方式執(zhí)行命令。

現(xiàn)在在傾斜控制模式下處理語音命令。

讓我們來看看傾角的處理:

我們從消息中得到兩個(gè)字節(jié):X和Y角度

我們將值限制在[-45…]45)

將傾斜角度轉(zhuǎn)換為電機(jī)值。

如果提供給電機(jī)的值足夠小,我們只需將它們設(shè)置為零。這基本上只是上述電機(jī)的“消聲器”。

這可能需要對機(jī)器人的“前燈”進(jìn)行一點(diǎn)解釋:

除了RGB led(遠(yuǎn)光燈),還有一個(gè)4個(gè)前燈陣列:

led[0] -右后方

led[1] -左后方

led[2] -正面右

led[3] -前左

默認(rèn)情況下,前燈是關(guān)閉的。

我們限制了馬達(dá)的功率,如果向前/向左移動(dòng),我們打開前轉(zhuǎn)向燈。

左馬達(dá)也是一樣

倒車時(shí),我們打開倒車信號(hào)

最后,我們告訴馬達(dá)它們的功率。

這個(gè)程序負(fù)責(zé)接收來自控制設(shè)備的消息。

關(guān)于藍(lán)牙通信丟失

我們關(guān)掉馬達(dá),釋放信號(hào)。

創(chuàng)建信號(hào)量、緩沖區(qū)和任務(wù)

在連接到設(shè)備時(shí),我們用默認(rèn)值初始化燈和電機(jī):

當(dāng)連接時(shí),我們嘗試捕獲設(shè)備斷開信號(hào)量。

基本上,我們期待一個(gè)斷開信號(hào)。當(dāng)我們得到它時(shí),我們繼續(xù)尋找設(shè)備。

結(jié)論

讓我們總結(jié)一下討論過的固件變化:

1. 增加了多線程,用于并行處理命令,而不管它們的接收情況,以及聲音的異步播放

2. 兩種不同功能的控制模式

3. DevBoard旋轉(zhuǎn)角度到電機(jī)功率值的多項(xiàng)式轉(zhuǎn)換

正如您從本文中看到的那樣,這離不開對專有源代碼的一些更改。添加的功能與標(biāo)準(zhǔn)功能非常不同,因此有相當(dāng)多的更改。如果有人在這里發(fā)現(xiàn)有趣的東西,他們可以在他們的項(xiàng)目中使用它。

本文編譯自hackster.io

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

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢抑制與過流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉