呢個教學係以下嘅一部分: SunFounder Raspberry Pi Pico Pico 4WD 智能汽车套件
与此组相关的文件将集中显示。其他视频的链接位于本文下方。
課程第8課,共10課:Raspberry Pi Pico 智能車 – 第8課:舵機同物體跟隨
呢堂課嚟自Robojax嘅Raspberry Pi Pico智能車課程,會探討伺服馬達嘅功能,以及點樣用佢嚟整一個跟住物件或者「跟住你隻手」嘅機械人。呢個項目唔止係簡單嘅摩打控制,仲示範咗點樣將伺服驅動嘅超聲波感應器同智能Python邏輯結合,整出一架會主動搵同跟住範圍內物件嘅車。呢個係機械人學入面一個基本概念,令你可以整到互動項目,好似跟住人嘅機械人、會玩拋接嘅智能寵物,或者會追蹤移動嘅自動保安鏡頭。呢堂課仲會講第二個簡單啲嘅項目:一架會自動接近、推開同後退離開特定距離範圍內物件嘅車。
硬件同零件
呢個項目係基於SunFounder Raspberry Pi Pico 4WD車套件。呢堂課用到嘅主要零件有:
- Raspberry Pi Pico板
- 4WD智能車底盤連摩打
- 伺服摩打(最好用金屬齒輪伺服摩打,耐用啲)
- 超聲波距離感應器(HC-SR04)
- 摩打驅動板(車套件入面有)
- RGB LED(用嚟做視覺回饋)
- 電源(車用嘅電池盒)
伺服摩打係呢堂課功能嘅核心。同一般會不停轉嘅直流摩打唔同,伺服摩打係設計嚟轉到同保持喺一個特定角度位置,通常係0到180度之間。咁樣就非常適合用嚟精確咁瞄準超聲波感應器。伺服摩打嘅質素通常取決於佢嘅齒輪材料(膠定金屬)同埋扭力,呢啲會決定佢嘅強度同耐用性。
運作原理
下面嘅圖表解釋咗個程式點樣運作。
接線指南
呢堂課嘅接線好直接,因為佢係建基於已經組裝好嘅車套件。最關鍵嘅連接係伺服摩打,佢一定要連去Pico上面一個特定嘅GPIO針腳。
喺影片入面,導師將伺服摩打連去Raspberry Pi Pico上面嘅18號針腳。超聲波感應器裝咗喺伺服摩打嘅舵盤上面,等佢可以左右轉動嚟掃描周圍。其餘摩打、RGB LED同電源嘅接線就假設喺之前嘅課程已經接好。
如果想睇詳細嘅視覺指南,請參考下面嘅接線圖。
程式碼解釋
呢堂課嘅Python程式碼係圍住一個自訂嘅pico_4wd函式庫嚟寫,呢個函式庫簡化咗複雜嘅硬件互動。用戶可以設定嘅部分喺程式最頂,用嚟控制架車嘅行為。
以下係你可以調整嘅主要變數,用嚟自訂你機械人嘅「跟手」行為:
car.RADAR_REFERENCE = 25:呢個係感應器「睇到」嘅最遠距離,以厘米計。任何超過呢個距離嘅物件都會被忽略。你可以加大呢個數值令架車更敏感,或者減細佢要求物件近啲。car.RADAR_MAX_ANGLE = 45同car.RADAR_MIN_ANGLE = -45:呢啲定義咗伺服摩打會掃描嘅最左(45)同最右(-45)角度。咁樣就形成咗架車前面一個90度嘅視野。car.RADAR_STEP_ANGLE = 10:呢個係伺服摩打喺每個掃描點之間移動嘅增量(以度計)。較細嘅步距(例如5)會畀到更精細嘅解像度,但係完成一次完整掃描會耐啲。較大嘅步距(例如15)掃描快啲,但係精確度低啲。MOTOR_FORWARD_POWER = 40:呢個設定架車向前移動去追蹤偵測到嘅物件時所用嘅摩打功率(0-100)。調整呢個可以改變架車追嘅速度。MOTOR_TURNING_POWER = 40:呢個設定架車轉彎面向物件時所用嘅摩打功率。數值高啲會令架車轉彎轉得更進取。
main()函數嘅主要邏輯係一個不停循環。佢首先呼叫car.radar_scan(),呢個會返回一個由'1'同'0'組成嘅字串,代表每個掃描角度有冇偵測到物件('1'代表物件喺參考距離之內)。然後個程式會分析呢個字串,搵出最大嘅連續'1'群組,即係代表偵測到物件嘅中心位置。根據呢個中心喺掃描範圍入面嘅位置,架車就會被命令向左轉、向右轉或者向前移動,令自己對準個物件然後跟住佢。
現場項目示範
呢條影片清楚示範咗個項目嘅實際運作。導師首先執行一個測試腳本,展示點樣將伺服摩打移動到精確角度,例如90度、0度同負90度。呢個對於理解伺服摩打嘅範圍,以及正確安裝超聲波感測器嚟講係好重要。
安裝咗感測器之後,就會展示「跟手」功能。當導師將隻手喺車前面移動,裝喺伺服摩打上嘅感測器就會左右掃描。車嘅邏輯會處理感測器數據,然後轉動車輪,向偵測到嘅手嘅方向轉向, effectively 喺地板上面跟住隻手移動。呢個示範突出咗架車點樣追蹤一個移動嘅物體,並相應調整方向。另外仲展示咗第二個項目,就係如果偵測到物體喺10至20厘米之間,架車就會被編程去靠近並推開嗰個物體;如果物體太近(低過10厘米),架車就會後退。
重點要點
呢一課係一個好好嘅入門,教你點樣用伺服摩打嚟創造互動式機械人行為。透過將伺服摩打同距離感測器結合,你可以整到一個有「視覺」嘅機械人,能夠主動追蹤同回應周圍環境。能夠調整參數,例如掃描角度、步進大小同摩打功率,令你可以精細控制機械人嘅行為,呢個係任何機械人項目嘅關鍵技能。
章節
- [00:00] 伺服摩打同物體跟隨簡介
- [01:48] 課程套件功能同能力
- [03:08] 了解伺服摩打運作
- [06:08] 用Python代碼測試伺服摩打
- [09:59] 解釋「跟手」功能
- [10:49] 示範「跟手」功能
- [15:37] 項目:推動物體同後退
- [18:40] 推動物體項目示範
- [19:25] 總結同下一步
呢個教學係以下嘅一部分: SunFounder Raspberry Pi Pico Pico 4WD 智能汽车套件
- 課程 第1課,共10課:SunFounder嘅Raspberry Pi Pico 4WD智能車套件,由Robojax製作
- 課程 第2課,共10課:用基礎Python驅動樹莓派Pico 4WD智能車套件
- 課程 第3課(共10課):由Robojax組裝SunFounder Raspberry Pi Pico 4WD智能車套件
- 課程 第4課,共10課:樹莓派Pico擴展板,用於4WD智能車套件
- 課程 第5課,共10課:用樹莓派Pico控制RGB LED WS2812B
- 課程 第6課(共10課):使用樹莓派Pico 4WD智能車套件控制直流馬達
- 第7課,共10課:線路追蹤、懸崖偵測 校準灰度感測器 Raspberry Pi Pico 車
- 課程 第9課,共10課:使用樹莓派Pico 4WD智能車進行避障
- 課程 第10課,共10課:用手機App控制Raspberry Pi Pico 4WD智能車套件
# Lesson 8/10 Pi Car Pico 4WD: Follow hand
# Download and resource page https://robojax.com/RJT630
import pico_4wd as car
car.RADAR_REFERENCE = 25
car.RADAR_MAX_ANGLE = 45
car.RADAR_MIN_ANGLE = -45
car.RADAR_STEP_ANGLE = 10
MOTOR_FORWARD_POWER = 40
MOTOR_TURNING_POWER = 40
def main():
while True:
radar_data = car.radar_scan()
if isinstance(radar_data, int):
continue
radar_data = [str(i) for i in radar_data]
radar_data = "".join(radar_data)
paths = radar_data.split("1")
length_list = []
for path in paths:
length_list.append(len(path))
if max(length_list) == 0:
car.move("stop")
else:
i = length_list.index(max(length_list))
pos = radar_data.index(paths[i])
pos += (len(paths[i]) - 1) / 2
delta = len(radar_data) / 3
if pos < delta:
car.move("right", MOTOR_TURNING_POWER)
elif pos > 2 * delta:
car.move("left", MOTOR_TURNING_POWER)
else:
#if radar_data[int(len(radar_data)/2-1)] == "0":
# car.move("stop")
#else:
car.move("forward", MOTOR_FORWARD_POWER)
try:
main()
finally:
car.move("stop")
car.set_light_off()
Common Course Links
- Purchase SunFounder Pico 4WD Smart Car Kit from AliExpress
- Purchase SunFounder Pico 4WD Smart Car Kit from eBay
- Amazon Canada: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon France: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Germany: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Italy: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Japan: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Spain: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon UK: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon USA: Purchase Pico 4WD Smart Car Kit buy SunFounder
- Purchase Pico 4WD Smart Car Kit from SunFounder.com
- SunFounder Pico-4wd Car Kit Documentation
- Video Play List of 10 lesson on SunFounder Pico 4WD Smart Car Kit
資源與參考資料
暫時冇資源。
文件📁
冇文件可用。