<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>電子資料>機器人與人類的Connect 4游戲項目

機器人與人類的Connect 4游戲項目

2023-07-13 | zip | 0.00 MB | 次下載 | 免費

資料介紹

描述

背景

這個項目是一個機器人與人類的 Connect 4 游戲,人類在物理游戲板上玩機器人,就像他們在玩另一個玩家一樣。

第 2 步:測試組件

我測試的第一個組件是 16x2 字符 LCD 顯示器。接線非常簡單,但我必須安裝 adafruit_character_lcd.character_lcd 庫才能連接到顯示器。電位器控制顯示器的對比度。

poYBAGSAaFaAZkX8AA0YU4xrUcE545.png
?

接下來我開始連接步進電機。步進電機將通過皮帶和滑輪或線性致動器(當前原型使用步進電機控制線性滑軌)沿著 Connect 4 板的頂部將滴管移動到右柱。我使用了步進電機驅動器,以便更輕松地控制步進電機。步進電機驅動器需要 5V 輸入才能對其進行控制,但 PocketBeagle 只能輸出 3.3V。我使用邏輯電平轉換器信號從 3.3V 轉換為 5V。我使用外部電源(5V,2A)為步進電機供電。接線很簡單,我從 https://github.com/petebachant/BBpystepper 找到了一些測試代碼。

pYYBAGSAaFyAP2m7AAu1TcP5M2E554.png
?

接下來我連接了 360 度連續旋轉伺服電機。伺服電機將用于碎片滴管,將一塊碎片放入右列(事后看來,選擇連續旋轉伺服是一個錯誤,因為它的位置精度和控制不佳)。伺服電機還需要 5V 電源,我通過 PocketBeagle 的 PWM 引腳控制伺服電機。我使用了我的導師 Eric Welsh 的伺服電機測試代碼。

poYBAGSAaF-AZrY8AAFg1O5-PYw19.jpeg
?

最后要連接的硬件USB 攝像頭。連接相機需要將 VB 和 VI 以及 ID 和 GND 引腳連接(我只是將它們焊接在一起)。為了測試相機,我在終端中使用了一些基本代碼:

python3
>>> import cv2
>>> cap = cv2.VideoCapture(0)
>>> ret, frame = cap.read()
>>> cv2.imwrite("temp.jpg", frame)
poYBAGSAaGOAFD67AAO-RtI6exc70.jpeg
?

我為項目的這個階段創建了一個自定義 PCBhttps://github.com/SMSARVER/ENGI301/tree/main/Project_2

第 3 步:OpenCV 代碼

編寫 OpenCV 代碼是該項目中最具挑戰性的部分。我開始編寫代碼來處理 Connect 4 板的圖像,然后修改它以處理來自我的 USB 相機的照片。我在游戲板后面放了一個綠色背景,以便更容易檢測到開放空間。該程序為棋盤拍照并輸出一個 6x7 數組(主要游戲代碼用來表示棋盤的數組),其中包含棋盤上每個空間的值。我使用了一個名為 HoughCircles 的 OpenCV 函數來檢測原始圖像上的所有圓圈,并查看每個圓圈中心像素的顏色。這將創建一個圓圈數組及其顏色,然后我根據它們在圖像中的 y 和 x 位置對其進行排序以創建 6x7 數組。下面是檢測圖像上紅色圓圈的代碼照片。

pYYBAGSAaGWAPlBCAACDR4XU2qU843.jpg
?

第 4 步:選擇更好的電機

在項目的這一點上,我確定使用預先構造的線性致動器而不是自己設計是最好的節省時間并專注于我更感興趣的項目部分。下圖顯示了 NEMA 23 步進電機連接到線性滑軌。該解決方案可實現極高的定位精度和不錯的速度(大約 1 英寸/秒的行進速度)。事后看來,這款電機對我的應用來說太過分了。

poYBAGSAaGmAa2YQAAVJ1Yei4O895.jpeg
?

我使用 Adafruit_BBIO.GPIO 庫編寫了一個腳本來控制線性執行器上的滴管位置。

第 5 步:設計 Piece Dropper

我需要想出一種方法來存儲 21 個 Connect 4 棋子,并一次可靠地將它們釋放到游戲板頂部的狹窄縫隙中。我想到的一個簡單的設計是把所有的零件都堆在一個管子里,然后用球棒敲掉底部的那塊。我使用連續旋轉伺服電機來旋轉球棒,將球棒推過漏斗并推到棋盤上。測試這個機制后,我意識到連續旋轉伺服電機沒有我需要的位置精度。90% 的時間它會旋轉 180 度以掉落一件,但有時它會旋轉太多或太少,從而掉落兩件或不掉落任何一件。我計劃將來在這個應用中使用步進電機。

pYYBAGSAaGyAGT9HAADKoMXreyg490.png
?

第 6 步:設計結構

我想要一個將線性致動器固定在游戲板上方的結構,為電子設備提供空間,并將相機和燈光定位在最佳位置。我選擇用塑料制作我的項目,因為它很容易使用(盡管選擇丙烯酸是一個錯誤,因為它很脆)。我買了一個塑料底座,并在邊緣安裝了兩個厚塑料管以支撐線性致動器。我 3D 打印了安裝座,然后敲擊塑料并使用螺栓將其固定。第二張塑料片和第二根管子將相機和燈定位在游戲板的前面。

poYBAGSAaG6AAcpYAAH638r47SM13.jpeg
?

我為線性致動器、限位開關、相機和燈設計了 3D 打印支架。我必須非常仔細地測量,才能讓所有東西都放在正確的位置。

第 7 步:限位開關

限位開關對于安全和位置精度很重要。我的機器人在線性致動器的兩側使用兩個限位開關來檢測滴管何時脫離軌道(雙關語)。我還使用限位開關在正確的位置開始每個游戲(機器人通過按下限位開關開始游戲,并且知道開關到游戲板上的柱子的距離,它可以準確地移動到那里)。

接線:

目前我的接線是面包板上的鳥巢,但我可以制作 PCB 或創建電線管理系統。在更換電機之前,我為該項目的先前版本設計了 PCB:https://github.com/SMSARVER/ENGI301/tree/main/Project_2

這張顯示 PocketBeagle 引腳的圖片將有助于接線:

pYYBAGSAaN2AAb2AAAj3-7SgmpM028.png
圖像中的內部引腳對應于 PocketBeagle 上的內部引腳
?

液晶顯示器:

LCD_VSS 至 P2_15(接地)

LCD_VDD 到 P2_13 (v_out)

LCD_V0 到電位器中心引腳

LCD_RS 到 P2_10

LCD_RW 至 P2_15

LCD_E 至 P2_17

LCD_D4 至 P2_2

LCD_D5 至 P2_4

LCD_D6 至 P2_6

LCD_D7 至 P2_8

LCD_A 到 P2_13

LCD_K 至 P2_15

電位器右引腳到 P2_13

電位器左側引腳連接到 P2_15(可以交換電位器上的 P2_13 和 P2_15)

poYBAGSAaOSAbYHQAAzsoL9qlug01.jpeg
?

USB相機

P1_5 至 P1_7

P1_13 至 P1_15

P1_7 到 USB_VCC

P1_9 轉 USB_D-

P1_11 轉 USB_D+

P1_13 到 USB_ID

USB_ID 到 USB_GND

pYYBAGSAaOqAfxeEAA0tWir9E7w98.jpeg
?

步進電機驅動器(SMD),連續旋轉伺服器(CRS ),電源5V (PS5),電源30V(PS30):

CRS_- 到 P2_15

CRS_+ 到 P2_13

CRS_PWM 到 P1_36

PS5_- 至 P2_15

PS5_+ 至 P2_13

PS30_+ 轉 SMD_VCC

PS30_- 到 SMD_GND

SMD_DIR- 到 P2_15

SMD_PUL- 到 P2_15

SMD_DIR+ 到 P2_24

SMD_PUL+ 到 P2_22

pYYBAGSAaS-ARhiVAA0UbeIJcfA80.jpeg
?
pYYBAGSAaXCAcfEbAA5YbZwBlCQ37.jpeg
?
poYBAGSAaXaADZYBAA7pfDsjdJA54.jpeg
?

步進電機:

測試步進電機的四根電線是否連續。一對連接到 A+/A-,另一對連接到 B+/B-。對于我的電機,藍色是 A+,黃色是 A-,綠色是 B+,紅色是 B-。

限位開關:

我使用兩個限位開關,LIM1(左)和 LIM2(右)以及電纜 A 和 B。未按下時開關具有連續性。我選擇以這種方式連接開關,這樣如果電纜斷開連接,我就能立即注意到問題。

LIM1_A 至 P2_15

LIM2_A 至 P2_15

LIM1_B 到 P1_2

LIM2_B 到 P1_4

連接 LIM1_B 到 P2_13 的 1K 歐姆電阻

將 LIM2_B 連接到 P2_13 的 1K 歐姆電阻(必須使用單獨的電阻)

pYYBAGSAaOqAfxeEAA0tWir9E7w98.jpeg
?

查看更多接線照片以幫助您:

pYYBAGSAadqAPuXKABF2XbQcfVg76.jpeg
?

。

?

?

GitHub: https://github.com/SMSARVER/ENGI301/tree/main/connect4

3D 打印部件的 CAD 文件:

如需 CAD 文件,請發送電子郵件至 rice dot edu 的 sms27。

限位開關和線性執行器支持:

pYYBAGSAad2AQpGkAACB6XJC3dw619.png
?

滴管、蝙蝠和漏斗:

poYBAGSAad-AAwe-AACVQhPSKBs135.png
?

相機和燈光支持:

poYBAGSAaeKAR5YvAACg8K1YqlQ778.png
?

后續步驟和改進:

我計劃通過整理電線、進行小的改進以及解決機械和軟件問題來改進功能齊全的機器人。我還想使用“cron”讓我的項目在 PocketBeagle 啟動時自動啟動。這樣,我的機器人就可以完全獨立了。

計劃改進清單:

  • 制作接線圖
  • 落片機構采用步進電機(定位精度)
  • 使用磁性限位開關而不是柱塞限位開關(為了更高的精度。柱塞限位開關在接觸時稍微彎曲塑料,因此磁性限位開關會完全消除接觸。)
  • 添加按鈕和重新定位屏幕以創建用戶界面
  • 創建電線管理系統和更新的自定義 PCB
  • 改進機器人的算法,使其幾乎無敵
  • 使機器人完全獨立,無需連接計算機即可運行

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>