chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

基于 RT-Thread 的 Vision Board 智能電動(dòng)滑板設(shè)計(jì) | 技術(shù)集結(jié)

RT-Thread官方賬號(hào) ? 2026-02-26 20:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1 前言

在2018年我本科在萬(wàn)宇杰老師的帶領(lǐng)下和小伙伴們一起立了校級(jí)重點(diǎn)科研立項(xiàng)——DIY電動(dòng)滑板》,非常懷戀那時(shí)候的干勁,閑暇時(shí)分傍晚和枚金江一起玩滑板飛馳綠道,白天和劉姣一起畫工程圖,晚上和葉俊吉萬(wàn)金華他們做舞蹈機(jī)器人,時(shí)光就是這樣一點(diǎn)點(diǎn)緩緩流淌過(guò)。

不知不覺(jué)中雙元班的同窗們都各自高飛,而我還在艱難的求學(xué)中(2025年10月被OE、11月CEP拒稿)。恰巧也讓我有了新的想法,之前的滑板是用Arduino Uno加拓展板設(shè)計(jì)的硬件,現(xiàn)在運(yùn)輸小船做實(shí)驗(yàn)就由我的滑板小小的身體承受著,每次都要走公里才能到達(dá)海邊?;遢d著小船漫步過(guò)海濱小路,載著我跑過(guò)鄉(xiāng)村小路,載著打印機(jī)溜過(guò)校園大道彎兒,值得高興的是我的滑板已經(jīng)累計(jì)有200公里左右,也沒(méi)有出現(xiàn)什么故障,嘻嘻。

接著這樣的機(jī)會(huì)嘗試用本次《2025 RT-Thread 嵌入式大賽》中的Vision board來(lái)移植原來(lái)的Arduino Uno方案,以此來(lái)紀(jì)念我的青春創(chuàng)作,保留原先Uno拓展板的電氣與硬件。這次比賽首先是繪制類似Arduino Uno原先的端口封裝與Vision board之間的拓展板,其次移植藍(lán)牙控制程序和改進(jìn)主動(dòng)剎車功能。

e07fd472-130c-11f1-96ea-92fbcf53809c.png

2 設(shè)計(jì)方案

本設(shè)計(jì)采用長(zhǎng)板滑板版面,選用直流無(wú)刷電機(jī),購(gòu)買繪制特殊規(guī)格長(zhǎng)板滑板的皮帶輪及電機(jī)架,以航模電池3S5200MAH電池供電。配以專用直流無(wú)刷電機(jī)電調(diào)。主控電路與遙控電路均以Vision Board為核心,使用藍(lán)牙數(shù)據(jù)通訊協(xié)議進(jìn)行無(wú)線數(shù)據(jù)透?jìng)?,采用PWM脈沖寬度調(diào)制方式,采用TOF激光距離傳感器進(jìn)行緊急制動(dòng)判斷。以下為個(gè)模塊設(shè)計(jì)簡(jiǎn)介。

2.1 機(jī)械結(jié)構(gòu)模塊

機(jī)械模塊主要解決傳動(dòng)系統(tǒng)搭建及電機(jī)的安裝。車架架設(shè)計(jì)為高64MM,長(zhǎng)248MM7.25英寸的支架。傳動(dòng)系統(tǒng)采用同步輪傳動(dòng),使用皮帶連接。齒輪比是大輪36齒,小輪12齒,用5M*270,11帶寬齒的齒輪帶連接,傳動(dòng)比為3:1,如圖電機(jī)支架同步輪及配件。

e099d9d0-130c-11f1-96ea-92fbcf53809c.png

2.2 電機(jī)模塊

電機(jī)的KV值,決定著電機(jī)的轉(zhuǎn)速增加量,KV值越大轉(zhuǎn)速越快。電動(dòng)滑板在啟動(dòng)時(shí),由于靜摩擦的原因,啟動(dòng)的階段阻力非常大,之后阻力會(huì)突然變小。所以,電動(dòng)滑板在啟動(dòng)之后常常有頓挫感。電機(jī)的選擇對(duì)滑板的安全性的提升顯得尤為重要。根據(jù)滑板的啟動(dòng)的特性,應(yīng)選用KV值越小的電機(jī)。

2.2.1 電機(jī)選擇

本設(shè)計(jì)電機(jī)選用N5065外轉(zhuǎn)子無(wú)刷電機(jī)270KV,其各項(xiàng)參數(shù)指標(biāo)如圖左邊為無(wú)刷電機(jī)N5065,右邊為C5065

e0b110a0-130c-11f1-96ea-92fbcf53809c.png

首先從電機(jī)型號(hào)上來(lái)說(shuō)n5065表示電機(jī)尺寸為:直徑50mm,長(zhǎng)度65mm。前面的n和c表示系列號(hào),其中n系列做工和工作效率高于c系,N電機(jī)比C電機(jī)功率大,發(fā)熱小,扭力大。N電機(jī)比C電機(jī)的磁鐵長(zhǎng)度和定子長(zhǎng)度稍微長(zhǎng)一些,n系尾部為平面,c系尾部為錐形。詳細(xì)參數(shù)如下: 可以看到,n5065的功率要比c5065大,一個(gè)是1820W,一個(gè)是1665W。電壓比c5065高,重量也比c5065重50g。(注:這里只說(shuō)了KV值400得,你也可以選擇270的) 根據(jù)公式:轉(zhuǎn)速=KV值X電壓; n5065電機(jī)轉(zhuǎn)速=KV (400)x22(v)=8800rpm ; c5065電機(jī)轉(zhuǎn)速=KV (400) x20(v)=8000rpm ;

2.2.2 電機(jī)控制

單片機(jī)的控制信號(hào),可以輕松輸出0或1,如果需要控制電機(jī)信號(hào)就需要PWM脈沖寬度調(diào)制,也可參考SG90舵機(jī)控制。在本設(shè)計(jì)中使用KV值為270KV的N5065無(wú)刷電機(jī),無(wú)刷電機(jī)和有刷電機(jī)有相似之處,也有轉(zhuǎn)子和定子,只不過(guò)和有刷電機(jī)的結(jié)構(gòu)相反;有刷電機(jī)的轉(zhuǎn)子是線圈繞組,和動(dòng)力輸出軸相連,定子是永磁磁鋼;無(wú)刷電機(jī)的轉(zhuǎn)子是永磁磁鋼,連同外殼一起和輸出軸相連,定子是繞組線圈,去掉了有刷電機(jī)用來(lái)交替變換電磁場(chǎng)的換向電刷,故稱之為無(wú)刷電機(jī)。依靠改變輸入到無(wú)刷電機(jī)定子線圈上的電流波交變頻率和波形,在繞組線圈周圍形成一個(gè)繞電機(jī)幾何軸心旋轉(zhuǎn)的磁場(chǎng),這個(gè)磁場(chǎng)驅(qū)動(dòng)轉(zhuǎn)子上的永磁磁鋼轉(zhuǎn)動(dòng),電機(jī)就轉(zhuǎn)起來(lái)了,電機(jī)的性能和磁鋼數(shù)量、磁鋼磁通強(qiáng)度、電機(jī)輸入電壓大小等因素有關(guān),更與無(wú)刷電機(jī)的控制性能有很大關(guān)系,因?yàn)檩斎氲氖侵绷麟?,電流需要電子調(diào)速器將其變成3相交流電,還需要從遙控器接收機(jī)那里接收控制信號(hào),控制電機(jī)的轉(zhuǎn)速,以滿足模型使用需要。相比于傳統(tǒng)直流有刷電機(jī)相比,無(wú)刷電機(jī)能量密度高,力矩大,重量輕,性能好等優(yōu)點(diǎn)。增強(qiáng)了電機(jī)的可靠性,但是無(wú)刷電機(jī)的驅(qū)動(dòng)比有刷電機(jī)要復(fù)雜得多,需要通過(guò)專門的電子驅(qū)動(dòng)器才能正常工作,為降低開(kāi)發(fā)難度的目的,該部分采用了車模用的無(wú)刷電機(jī)調(diào)速器,該調(diào)速器可根據(jù)輸入的PWM信號(hào)占空比的大小來(lái)控制無(wú)刷電機(jī)的轉(zhuǎn)速。

2.3 主控板及其遙控模塊

本設(shè)計(jì)選用Vision board作為控制芯片,手機(jī)app收發(fā)作為上位機(jī)遙控。app使用參考

e0cfb3c0-130c-11f1-96ea-92fbcf53809c.png

2.3.1 主控芯片選擇

Vision Board搭載全球首顆480 MHz Arm Cortex-M85芯片,擁有Helium和TrustZone技術(shù)的加持。SDK包里集成了OpenMV機(jī)器視覺(jué)例程,配合MicroPython 解釋器,使其可以流暢地開(kāi)發(fā)機(jī)器視覺(jué)應(yīng)用。Vision Board搭載了全球首款基于 ARM Cortex-M85 架構(gòu)的瑞薩電子RA8 MCU,6.39 CoreMark/MHz,可以快速而高效地運(yùn)行機(jī)器視覺(jué)算法,實(shí)現(xiàn)圖像處理、等功能。雖然在這個(gè)電動(dòng)滑板大材小用,但是給代碼框架和使用安全上提高了不少。

e100aa84-130c-11f1-96ea-92fbcf53809c.png

參考資料見(jiàn):https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/%E7%91%9E%E8%90%A8VisionBoard%E5%BC%80%E5%8F%91%E5%AE%9E%E8%B7%B5%E6%8C%87%E5%8D%97

2.3.2 無(wú)線通信模塊的選取

本設(shè)計(jì)的無(wú)線通信模塊選擇經(jīng)典HC-05主從機(jī)一體藍(lán)牙模塊,該模塊能耗低,穩(wěn)定性強(qiáng),具有很好的抗干擾能力。選用藍(lán)牙模塊以后,可以實(shí)現(xiàn)雙向通訊,加入顯示模塊及其他傳感器模塊后,遙控器可顯示電池電量,行駛速度,行駛里程和載重等。為之后功能的增加和改進(jìn),提供了便利,同時(shí)大量搭載藍(lán)牙的設(shè)備可以用于控制滑板,例如開(kāi)發(fā)手機(jī)APP控制端,將手機(jī)作為遙控端使用。

e1223d34-130c-11f1-96ea-92fbcf53809c.png

本設(shè)計(jì)的遙控器和主控板上,分別有一塊Vision board和一個(gè)HC-05藍(lán)牙模塊。藍(lán)牙模塊設(shè)置了自動(dòng)配對(duì)之后,上電之后它們就進(jìn)入“傳輸”狀態(tài),這時(shí),使用函數(shù)串口8編寫讀取解析程序,便可實(shí)現(xiàn)遙控器與主控板之間的數(shù)據(jù)傳輸。

2.3.3 自動(dòng)緊急剎車控制

防追尾系統(tǒng)對(duì)于駕駛員來(lái)說(shuō)是一大必要輔助駕駛利器。此次設(shè)計(jì)的防追尾系統(tǒng)主要利用超聲波在空氣中的傳播速度和關(guān)系進(jìn)行測(cè)量。超聲波具有指向性強(qiáng)、能量消耗慢且在介質(zhì)中傳播距離較遠(yuǎn)特點(diǎn)。其實(shí)說(shuō)到超聲波,我們就會(huì)想到蝙蝠,是的,它的工作原理就是模仿蝙蝠的。先發(fā)出一個(gè)聲音,然后在接收返回的聲音,通過(guò)發(fā)出和返回的時(shí)間差來(lái)可以計(jì)算出距離,就這么簡(jiǎn)單。所以我們就要有一個(gè)機(jī)制,發(fā)出多長(zhǎng)的光信號(hào),回收采集的理論上應(yīng)該是發(fā)出的同時(shí)就要采樣收集了。

原先的方案是超聲波測(cè)距,之前實(shí)測(cè)發(fā)現(xiàn)會(huì)頻繁誤觸,而且采樣時(shí)間非常長(zhǎng)(兩次連續(xù)判斷1.5m障礙物大約需要0.5s,如果車速在2m/s,會(huì)明顯剎車來(lái)不及,主要是反應(yīng)時(shí)間有點(diǎn)長(zhǎng),發(fā)生碰撞危險(xiǎn)),這次采用I2c距離TOF傳感器,看看效果應(yīng)該要好一點(diǎn)點(diǎn)。

e140ea9a-130c-11f1-96ea-92fbcf53809c.png

3 實(shí)驗(yàn)步驟

3.1 實(shí)驗(yàn)材料

主控板:Vision board開(kāi)發(fā)板,sensor shield拓展板,USB數(shù)據(jù)線

傳感器:TOF傳感器,光照傳感器

執(zhí)行器:N5056無(wú)刷電機(jī),LED燈,一路高電平觸發(fā)繼電器,有源蜂鳴器

通訊:藍(lán)牙HC05

輔助硬件:滑板,同步帶結(jié)構(gòu),盒子,泡沫,熱熔膠,公母線若干

軟件:一臺(tái)安裝RT-Thread開(kāi)發(fā)環(huán)境的電腦

3.2 根據(jù)原理圖搭建電路圖

實(shí)驗(yàn)原理圖:

e15727d8-130c-11f1-96ea-92fbcf53809c.png

藍(lán)牙RX接uart8的TX,藍(lán)牙TX接uart8的RX

有源蜂鳴器引腳2

繼電器引腳4,然后單獨(dú)接led燈與外接電源串聯(lián)

ESC定義無(wú)刷電機(jī)引腳9,電調(diào)提供電源

TOF測(cè)距SDA接A4,SCL接A5

光照檢測(cè)接A0

3.4 PCB及三維圖

e16feb2e-130c-11f1-96ea-92fbcf53809c.png

整體元器件非常少,就2202.54排母下面連接Vision board,然后6/2*8/10排母在上方連接Arduino Uno拓展板。

下面是硬件細(xì)節(jié)圖

拓展板焊接效果

e1932d96-130c-11f1-96ea-92fbcf53809c.png

控制器電源電調(diào)都安裝在防水盒中

e1bc6418-130c-11f1-96ea-92fbcf53809c.png

控制盒整體外觀

e1e4bf12-130c-11f1-96ea-92fbcf53809c.png

3.5 源碼分享

配置串口2

e2169582-130c-11f1-96ea-92fbcf53809c.png

參考:https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/%E7%91%9E%E8%90%A8VisionBoard%E5%BC%80%E5%8F%91%E5%AE%9E%E8%B7%B5%E6%8C%87%E5%8D%97?id=%e4%b8%80%e3%80%81ra8d1-vision-board%e4%b8%8a%e7%9a%84uart%e5%ae%9e%e8%b7%b5%ef%bc%88%e5%88%98%e5%bb%ba%e5%8d%8eou%ef%bc%89

配置PWM12

e23a6fe8-130c-11f1-96ea-92fbcf53809c.png

參考:https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/%E7%91%9E%E8%90%A8VisionBoard%E5%BC%80%E5%8F%91%E5%AE%9E%E8%B7%B5%E6%8C%87%E5%8D%97?id=%e4%b9%9d%e3%80%81ra8d1-vision-board%e4%b8%8a%e7%9a%84pwm%e5%ae%9e%e8%b7%b5%ef%bc%88%e4%b8%81%e6%8c%af%e5%af%8c%ef%bc%89

配置軟件I2C

e25cd3da-130c-11f1-96ea-92fbcf53809c.pnge27b6840-130c-11f1-96ea-92fbcf53809c.pnge2a06cee-130c-11f1-96ea-92fbcf53809c.png

參考:https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/%E7%91%9E%E8%90%A8VisionBoard%E5%BC%80%E5%8F%91%E5%AE%9E%E8%B7%B5%E6%8C%87%E5%8D%97?id=%e5%8d%81%e4%b8%89%e3%80%81ra8d1-vision-board%e4%b8%8a%e7%9a%84iic%e5%ae%9e%e8%b7%b5%ef%bc%88%e6%ac%a7%e5%b0%8f%e9%be%99%ef%bc%89

配置ADC

e2b812d6-130c-11f1-96ea-92fbcf53809c.png

參考:https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/%E7%91%9E%E8%90%A8VisionBoard%E5%BC%80%E5%8F%91%E5%AE%9E%E8%B7%B5%E6%8C%87%E5%8D%97?id=%e5%85%ad%e3%80%81ra8d1-vision-board%e4%b8%8a%e7%9a%84adc%e5%ae%9e%e8%b7%b5%ef%bc%88%e4%be%af%e6%b3%bd%e5%8d%8e%ef%bc%89

rt-thread設(shè)備驅(qū)動(dòng)勾選

e2cb16c4-130c-11f1-96ea-92fbcf53809c.png

下面是程序控制源碼

/*? Copyright (c) 2024, YourName? 項(xiàng)目:基于 RT-Thread 的電機(jī) ESC 控制(移植自 Arduino)? 功能:通過(guò)串口接收指令控制電機(jī)轉(zhuǎn)速、LED、蜂鳴器,集成VL53L0X主動(dòng)剎車和光線檢測(cè)自動(dòng)夜燈? 已移除:超聲波、光敏電阻、自動(dòng)急停? 新增:所有速度檔位切換必須平滑加減速(逐步 ±1,每次延時(shí) 50ms)? 修復(fù):ESC電調(diào)上電初始化問(wèn)題? 新增:VL53L0X激光測(cè)距主動(dòng)剎車功能? 新增:光線檢測(cè)自動(dòng)夜燈功能*/#include#include#include#include"hal_data.h"http:// ====================== 引腳 / 設(shè)備 宏定義 ======================#definePWM_DEV_NAME "pwm12" // PWM設(shè)備名,請(qǐng)根據(jù)實(shí)際連接修改#definePWM_CHANNEL 0 // PWM通道#defineLED_PIN BSP_IO_PORT_00_PIN_01// LED引腳(根據(jù)實(shí)際修改)#defineBUZZER_PIN BSP_IO_PORT_05_PIN_05// 蜂鳴器引腳(根據(jù)實(shí)際修改)#defineSERIAL_DEVICE_NAME"uart2" // 串口設(shè)備名,如USB轉(zhuǎn)串口 / 藍(lán)牙模塊// ====================== VL53L0X 配置 ======================#defineTOF_DEVICE_NAME "tof_vl53l0x"http:// VL53L0X設(shè)備名#defineBRAKE_DISTANCE 1000 // 剎車距離閾值:1000mm = 1m#defineBRAKE_SAMPLE_COUNT2 // 連續(xù)檢測(cè)次數(shù)// ====================== ADC 光線檢測(cè)配置 ======================#defineADC_DEV_NAME "adc1" // ADC 設(shè)備名稱#defineADC_DEV_CHANNEL 4 // ADC 通道#defineREFER_VOLTAGE 330 // 參考電壓 3.3V,數(shù)據(jù)精度乘以100保留2位小數(shù)#defineCONVERT_BITS (1<1400000) pulse_ns=1400000; returnpulse_ns;}// ====================== 蜂鳴器控制 ======================voidbuzzer_beep(int count, int duration_ms){ for(int i=0; ispeed_min) { item-=2;// 每次減2,更快減速 // 防止低于最小值 if(itemitem)?1:-1; rt_kprintf("[Smooth] Changing speed from %d to %d...\r\n", item, target); while(item!=target) { item+=step; // 防止超過(guò)目標(biāo) if((step>0&&item>target)||(step0&&distance=BRAKE_SAMPLE_COUNT) { emergency_brake(); brake_counter=0;// 重置計(jì)數(shù)器 } } else { // 距離安全,重置計(jì)數(shù)器 if(brake_counter>0) { rt_kprintf("[VL53L0X] Distance safe: %d mm. Reset brake counter.\r\n", distance); brake_counter=0; // 注意:這里不關(guān)閉LED,因?yàn)長(zhǎng)ED可能由光線控制 } } } else { rt_kprintf("[VL53L0X] ERROR: Failed to read distance data.\r\n"); } } else { // 系統(tǒng)未啟動(dòng)或剎車禁用,重置計(jì)數(shù)器 brake_counter=0; } rt_thread_mdelay(50);// 50ms檢測(cè)周期 }}// ====================== 光線檢測(cè)線程 ======================staticvoidlight_monitor_thread_entry(void*parameter){ rt_kprintf("[LIGHT] Light monitoring thread started.\r\n"); // 初始化ADC設(shè)備 adc_dev=(rt_adc_device_t)rt_device_find(ADC_DEV_NAME); if(adc_dev==RT_NULL) { rt_kprintf("[LIGHT] ERROR: Cannot find ADC device: %s\r\n",ADC_DEV_NAME); return; } rt_kprintf("[LIGHT] ADC device initialized successfully.\r\n"); while(1) { // 只有系統(tǒng)已啟動(dòng)時(shí)才進(jìn)行光線檢測(cè) if(is_started) { auto_light_control(); } rt_thread_mdelay(LIGHT_SAMPLE_DELAY);// 2秒檢測(cè)一次 }}// ====================== 指令動(dòng)作處理函數(shù) ======================voidaction(constchar*throttle){ rt_kprintf("[Action] Received: %s\r\n", throttle); if(strcmp(throttle,"stop")==0) { smooth_set_speed(speed_level); // 注意:這里不控制LED關(guān)閉,因?yàn)榭赡苡晒饩€控制 buzzer_beep(1,500); rt_kprintf("[Action] STOPPED. Speed set to level.\r\n"); is_started=false; brake_counter=0;// 重置剎車計(jì)數(shù)器 } elseif (strcmp(throttle,"decrease")==0) { int target=item-speed_add; if(targetspeed_max) target=speed_max; smooth_set_speed(target); buzzer_beep(1,200); rt_kprintf("[Action] INCREASED (smooth). Speed: %d\r\n", item); } elseif (strcmp(throttle,"one")==0) { smooth_set_speed(speed_one); buzzer_beep(1,150); rt_kprintf("[Action] SPEED 1 (smooth). Speed: %d\r\n", item); } elseif (strcmp(throttle,"two")==0) { smooth_set_speed(speed_two); buzzer_beep(2,150); rt_kprintf("[Action] SPEED 2 (smooth). Speed: %d\r\n", item); } elseif (strcmp(throttle,"three")==0) { smooth_set_speed(speed_three); buzzer_beep(3,150); rt_kprintf("[Action] SPEED 3 (smooth). Speed: %d\r\n", item); } elseif (strcmp(throttle,"four")==0) { smooth_set_speed(speed_max); buzzer_beep(4,150); rt_kprintf("[Action] SPEED 4 (MAX, smooth). Speed: %d\r\n", item); } elseif (strcmp(throttle,"turn on")==0) { manual_light_control=true;// 進(jìn)入手動(dòng)控制模式 led_on(); buzzer_beep(1,200); rt_kprintf("[Action] LED ON (Manual control)\r\n"); } elseif (strcmp(throttle,"turn off")==0) { manual_light_control=true;// 進(jìn)入手動(dòng)控制模式 led_off(); buzzer_beep(1,200); rt_kprintf("[Action] LED OFF (Manual control)\r\n"); } elseif (strcmp(throttle,"auto light")==0) { manual_light_control=false;// 退出手動(dòng)控制,返回自動(dòng)模式 rt_kprintf("[Action] Auto light control ENABLED\r\n"); buzzer_beep(1,200); } elseif (strcmp(throttle,"buzzer on")==0) { buzzer_beep(2,300); rt_kprintf("[Action] BUZZER ON\r\n"); } elseif (strcmp(throttle,"buzzer off")==0) { buzzer_beep(2,100); rt_kprintf("[Action] BUZZER OFF\r\n"); } elseif (strcmp(throttle,"init esc")==0) { esc_init_sequence(); } elseif (strcmp(throttle,"brake on")==0) { auto_brake_enabled=true; rt_kprintf("[Action] Auto brake ENABLED\r\n"); buzzer_beep(1,200); } elseif (strcmp(throttle,"brake off")==0) { auto_brake_enabled=false; rt_kprintf("[Action] Auto brake DISABLED\r\n"); buzzer_beep(2,200); } elseif (strcmp(throttle,"light on")==0) { auto_light_enabled=true; rt_kprintf("[Action] Auto light ENABLED\r\n"); buzzer_beep(1,200); } elseif (strcmp(throttle,"light off")==0) { auto_light_enabled=false; rt_kprintf("[Action] Auto light DISABLED\r\n"); buzzer_beep(2,200); } elseif (strcmp(throttle,"test brake")==0) { rt_kprintf("[Action] Testing emergency brake...\r\n"); emergency_brake(); } elseif (strcmp(throttle,"light status")==0) { rt_kprintf("[LIGHT] Current light level: %d, Threshold: %d, Auto: %s, Manual: %s\r\n", current_light_level,LIGHT_THRESHOLD, auto_light_enabled?"ON":"OFF", manual_light_control?"ON":"OFF"); } else { rt_kprintf("[Action] Unknown command: %s\r\n", throttle); }}// ====================== 串口指令線程 ======================staticvoidserial_cmd_thread_entry(void*parameter){ rt_size_t len; while(1) { memset(rx_buffer,0, sizeof(rx_buffer)); len=rt_device_read(serial_dev,0, rx_buffer, sizeof(rx_buffer)-1); if(len>0) { // 去除換行符和回車符 for(int i=0; i

需要修改rt_config.h中adc0為1:#define BSP_USING_ADC1

e2e40a62-130c-11f1-96ea-92fbcf53809c.png

這是一個(gè)基于RT-Thread的智能電機(jī)控制系統(tǒng),通過(guò)串口指令控制無(wú)刷電機(jī)轉(zhuǎn)速,集成了VL53L0X激光測(cè)距主動(dòng)剎車和光線檢測(cè)自動(dòng)夜燈功能,具備多線程安全保護(hù)和智能決策能力。

e300f49c-130c-11f1-96ea-92fbcf53809c.png

流程說(shuō)明:

多線程并行:三個(gè)獨(dú)立線程分別處理用戶指令、障礙物監(jiān)測(cè)和光線檢測(cè)

安全保護(hù):距離監(jiān)測(cè)線程具有較高優(yōu)先級(jí),確保及時(shí)剎車

智能決策:基于連續(xù)檢測(cè)和閾值判斷,避免誤觸發(fā)

模式切換:支持手動(dòng)/自動(dòng)模式靈活切換

平滑控制:電機(jī)速度變化采用漸進(jìn)式調(diào)節(jié),提升系統(tǒng)穩(wěn)定性

4 動(dòng)手操作

a.首先進(jìn)行光照檢測(cè),如光線較弱則自動(dòng)打開(kāi)前燈;

b.連接好藍(lán)牙,發(fā)送“start”字符串開(kāi)始遙控,發(fā)送“one”,“two”,“three”,“four”即可實(shí)現(xiàn)穩(wěn)步增速,發(fā)送“increase”、“dicrease”即可實(shí)現(xiàn)精準(zhǔn)調(diào)速,發(fā)送“turn on”、“turn off”即可打開(kāi)前燈led繼電器,發(fā)送“buzeer on”、“buzeer off”即可觸發(fā)有源蜂鳴器聲響,app不完全配置

e31fb328-130c-11f1-96ea-92fbcf53809c.png

c.發(fā)送stop即可實(shí)現(xiàn)關(guān)閉所有增益,發(fā)送“reset”即可實(shí)現(xiàn)復(fù)位跳出循環(huán),再次發(fā)送發(fā)送“start”字符串又開(kāi)始遙控。超聲波測(cè)距檢測(cè)前方物體距離小于100cm及時(shí)關(guān)閉所有增益,起到自動(dòng)緊急剎車保護(hù),程序中執(zhí)行動(dòng)作時(shí)有蜂鳴器響應(yīng)反饋;還有心跳包程序,可判斷是否藍(lán)牙斷開(kāi)(若斷開(kāi)及時(shí)關(guān)閉所有增益,起到失控保護(hù)),滑板演示。

這是一個(gè)功能完善、安全機(jī)制到位的嵌入式智能控制系統(tǒng),移植了原先Arduino Uno項(xiàng)目,替換更好地TOF距離傳感器,體現(xiàn)了Vision Board多傳感器融合與實(shí)時(shí)控制的良好實(shí)踐。

建議:

希望RT-Thread與華秋國(guó)內(nèi)廠商多多合作定期舉辦嵌入式開(kāi)發(fā)活動(dòng),讓更加優(yōu)質(zhì)的國(guó)產(chǎn)嵌入式生態(tài)做大做強(qiáng);

期待RT-Thread平臺(tái)推出更多有質(zhì)量有意義持續(xù)性的創(chuàng)客活動(dòng)!希望RT不僅開(kāi)展線上活動(dòng),后期可以嘗試線下活動(dòng),多多與開(kāi)發(fā)者,企業(yè),高?;?dòng),共同探索內(nèi)需外患。

非常感謝RT-Thread舉行活動(dòng),大家都為這個(gè)國(guó)內(nèi)嵌入式生態(tài)出一份力,只要努力認(rèn)真做了都會(huì)有所收獲,期盼這些作品在將來(lái)某一天為構(gòu)建美好未來(lái)貢獻(xiàn)一份微博之力!

我后期會(huì)持續(xù)更新我測(cè)評(píng)的一系列國(guó)內(nèi)開(kāi)發(fā)板測(cè)評(píng),并且會(huì)積極參加有質(zhì)量的玄鐵杯活動(dòng),每天都一點(diǎn)點(diǎn)結(jié)合實(shí)際需求聯(lián)動(dòng)豐富生活,從而實(shí)現(xiàn)對(duì)外部世界進(jìn)行充分的感知,盡最大努力認(rèn)識(shí)這個(gè)有機(jī)與無(wú)機(jī)的環(huán)境,科學(xué)地合理地進(jìn)行創(chuàng)作和發(fā)揮效益,然后為人類社會(huì)發(fā)展貢獻(xiàn)一點(diǎn)微薄之力。

再次非常感謝RT-Thread的相關(guān)組織者支持等等,期待這一次的成績(jī)喲!

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

    關(guān)注

    0

    文章

    39

    瀏覽量

    20362
  • Vision
    +關(guān)注

    關(guān)注

    1

    文章

    205

    瀏覽量

    19413
  • 電動(dòng)滑板
    +關(guān)注

    關(guān)注

    0

    文章

    24

    瀏覽量

    7149
  • RT-Thread
    +關(guān)注

    關(guān)注

    32

    文章

    1608

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    RT-Thread Vector軟件包:嵌入式開(kāi)發(fā)的動(dòng)態(tài)數(shù)組容器 | 技術(shù)集結(jié)

    RT-Thread Vector軟件包:嵌入式開(kāi)發(fā)的動(dòng)態(tài)數(shù)組容器 | 技術(shù)集結(jié)
    的頭像 發(fā)表于 01-25 09:33 ?5353次閱讀
    <b class='flag-5'>RT-Thread</b> Vector軟件包:嵌入式開(kāi)發(fā)的動(dòng)態(tài)數(shù)組容器 | <b class='flag-5'>技術(shù)</b><b class='flag-5'>集結(jié)</b>

    使用RT-Thread studio編譯Vision-Board例程后報(bào)錯(cuò)的原因?

    使用RT-Thread studio 編譯Vision-Board例程后報(bào)下面的錯(cuò)誤,手冊(cè)上要求安裝的支持包已經(jīng)安裝過(guò)了,請(qǐng)問(wèn)這是什么原因呢 23:54:45 **** Incremental
    發(fā)表于 03-26 08:15

    RT-Thread編程指南

    RT-Thread編程指南——RT-Thread開(kāi)發(fā)組(2015-03-31)。RT-Thread做為國(guó)內(nèi)有較大影響力的開(kāi)源實(shí)時(shí)操作系統(tǒng),本文是RT-Thread實(shí)時(shí)操作系統(tǒng)的編程指南
    發(fā)表于 11-26 16:06 ?0次下載

    RT-Thread全球技術(shù)大會(huì):RT-Thread開(kāi)源重塑軟件發(fā)展新生態(tài)

    RT-Thread全球技術(shù)大會(huì):RT-Thread開(kāi)源重塑軟件發(fā)展新生態(tài),市場(chǎng)空間巨大,以開(kāi)放的心態(tài)不斷提升技術(shù)水平,大膽創(chuàng)新,迎接挑戰(zhàn)! ? ? ? 審核編輯:彭靜
    的頭像 發(fā)表于 05-27 10:47 ?1823次閱讀
    <b class='flag-5'>RT-Thread</b>全球<b class='flag-5'>技術(shù)</b>大會(huì):<b class='flag-5'>RT-Thread</b>開(kāi)源重塑軟件發(fā)展新生態(tài)

    RT-Thread全球技術(shù)大會(huì):螢石研發(fā)團(tuán)隊(duì)使用RT-Thread技術(shù)挑戰(zhàn)

    RT-Thread全球技術(shù)大會(huì):研發(fā)團(tuán)隊(duì)使用RT-Thread技術(shù)挑戰(zhàn) ? ? ? ? 審核編輯:彭靜
    的頭像 發(fā)表于 05-27 11:36 ?2155次閱讀
    <b class='flag-5'>RT-Thread</b>全球<b class='flag-5'>技術(shù)</b>大會(huì):螢石研發(fā)團(tuán)隊(duì)使用<b class='flag-5'>RT-Thread</b>的<b class='flag-5'>技術(shù)</b>挑戰(zhàn)

    2022 RT-Thread全球技術(shù)大會(huì):螢石EZIOT SDK對(duì)RT-Thread的支持

    2022 RT-Thread全球技術(shù)大會(huì):RT-Thread在攝像頭及IoT設(shè)備上的實(shí)踐經(jīng)驗(yàn)分享
    的頭像 發(fā)表于 05-27 11:08 ?1874次閱讀
    2022 <b class='flag-5'>RT-Thread</b>全球<b class='flag-5'>技術(shù)</b>大會(huì):螢石EZIOT SDK對(duì)<b class='flag-5'>RT-Thread</b>的支持

    RT-Thread全球技術(shù)大會(huì):RT-Thread Smart更好的兼容Linux生態(tài)

    RT-Thread全球技術(shù)大會(huì):RT-Thread Smart更好的兼容Linux生態(tài) ? ? ? ? ? ? 審核編輯:彭靜
    的頭像 發(fā)表于 05-27 14:31 ?2593次閱讀
    <b class='flag-5'>RT-Thread</b>全球<b class='flag-5'>技術(shù)</b>大會(huì):<b class='flag-5'>RT-Thread</b> Smart更好的兼容Linux生態(tài)

    RT-Thread全球技術(shù)大會(huì):Kconfig在RT-Thread中的工作機(jī)制

    RT-Thread全球技術(shù)大會(huì):Kconfig在RT-Thread中的工作機(jī)制 ? ? ? ? ? ? ? 審核編輯:彭靜
    的頭像 發(fā)表于 05-27 14:49 ?2335次閱讀
    <b class='flag-5'>RT-Thread</b>全球<b class='flag-5'>技術(shù)</b>大會(huì):Kconfig在<b class='flag-5'>RT-Thread</b>中的工作機(jī)制

    RT-Thread全球技術(shù)大會(huì):在RT-Thread上編寫測(cè)試用例

    RT-Thread全球技術(shù)大會(huì):在RT-Thread上編寫測(cè)試用例 ? ? ? ? ? 審核編輯:彭靜
    的頭像 發(fā)表于 05-27 16:28 ?2090次閱讀
    <b class='flag-5'>RT-Thread</b>全球<b class='flag-5'>技術(shù)</b>大會(huì):在<b class='flag-5'>RT-Thread</b>上編寫測(cè)試用例

    RT-Thread全球技術(shù)大會(huì):RT-Thread測(cè)試用例集合案例

    RT-Thread全球技術(shù)大會(huì):RT-Thread測(cè)試用例集合案例 ? ? ? ? ? 審核編輯:彭靜
    的頭像 發(fā)表于 05-27 16:34 ?2806次閱讀
    <b class='flag-5'>RT-Thread</b>全球<b class='flag-5'>技術(shù)</b>大會(huì):<b class='flag-5'>RT-Thread</b>測(cè)試用例集合案例

    RT-Thread全球技術(shù)大會(huì):RT-Thread對(duì)POSIX的實(shí)現(xiàn)情況介紹

    RT-Thread全球技術(shù)大會(huì):RT-Thread對(duì)POSIX的實(shí)現(xiàn)情況介紹 ? ? ? ? ? ? 審核編輯:彭靜
    的頭像 發(fā)表于 05-27 16:52 ?2585次閱讀
    <b class='flag-5'>RT-Thread</b>全球<b class='flag-5'>技術(shù)</b>大會(huì):<b class='flag-5'>RT-Thread</b>對(duì)POSIX的實(shí)現(xiàn)情況介紹

    RT-Thread文檔_RT-Thread 簡(jiǎn)介

    RT-Thread文檔_RT-Thread 簡(jiǎn)介
    發(fā)表于 02-22 18:22 ?5次下載
    <b class='flag-5'>RT-Thread</b>文檔_<b class='flag-5'>RT-Thread</b> 簡(jiǎn)介

    RT-Thread文檔_RT-Thread SMP 介紹與移植

    RT-Thread文檔_RT-Thread SMP 介紹與移植
    發(fā)表于 02-22 18:31 ?9次下載
    <b class='flag-5'>RT-Thread</b>文檔_<b class='flag-5'>RT-Thread</b> SMP 介紹與移植

    機(jī)器視覺(jué)RT-Thread Vision Board主要特點(diǎn)

    RT-Thread 與 瑞薩電子 攜手推出全新的硬件產(chǎn)品—— Vision?Board ! RT-Thread?Vision?
    的頭像 發(fā)表于 04-15 08:35 ?1743次閱讀

    瑞薩與RT-Thread推出基于RT-Thread&amp;OpenMV的RA8人機(jī)交互方案

    瑞薩與戰(zhàn)略合作伙伴RT-Thread攜手于2024年2月底正式發(fā)布了全新的硬件產(chǎn)品——基于RT-Thread&OpenMV的RA8人機(jī)交互解決方案Vision Board
    的頭像 發(fā)表于 04-01 14:10 ?2217次閱讀
    瑞薩與<b class='flag-5'>RT-Thread</b>推出基于<b class='flag-5'>RT-Thread</b>&amp;OpenMV的RA8人機(jī)交互方案