R6S黑眼:獨立攝像頭控制模組
2020-03-12 15:03:19閱讀量:2956來源:應用與分享
本文作者:立創EDA開源平臺 OSHWHub 用戶@Dimsmary,點擊查看原文章
打造一個BlackEye——彩虹六號里的黑眼。具體功能為:控制板通過NRF控制攝像頭的移動。
描述
1 項目開發工具(Project Development Tools)
1.1 單片機開發(MCU Development)
單片機使用的是 Atmega32U4 并使用 Arduino 進行開發。Atmega32U4 對應 Arduino 的 Leonardo
1.2 PCB繪制(Pcb Layout)
PCB繪制使用的是立創EDA
1.3 3D模型構建(3D Software)
SolidWorks.
2 文件內容介紹(File description)
2.1 3D_Model
包括了使用SolidWorks繪制的外殼源文件和用于3D打印的STL文件。
2.2 Arduino_Code
包括了黑眼和控制器的Arduino源代碼,不包括使用到的NRF/OLED庫。
2.3 PCB
包括了黑眼和控制器的PCB原理圖和PCB圖。
3 基本工作原理
Arduino代碼分為兩個部分:Master & Slave, Master為控制板的程序,Slave為黑眼的程序。
3.1 Master
3.1.1 運行機制:
在控制板啟動后,setup()部分將進行初始化。
1)初始化NRF模塊,啟動ACK模式。
2)初始化Analog IO: A0 A1。對應搖桿電位器。
3)初始化按鈕中斷。(按鈕直接使用中斷進行輸入,而不是掃描。反正中斷夠用XD)
4)初始化OLED 并顯示兩秒的 Black Eye 圖標。
初始化完成后,在loop()中控制板將不斷通過NRF發送數據(command 7),并企圖獲取ACK返回包。
如果返回包的數據返回正確則連接成功,畫面進入工作模式。
ACK返回包中包括了以下信息:舵機速度,電池電壓,圖傳開關狀態,舵機開關狀態。
不論是否連接成功,控制板仍會發送控制命令:
command 1/2/3/4 :用于控制舵機
command 5/6/8: 用于控制舵機電源 / 圖傳電源 / 更改舵機速度
如果超過3秒發送Command7無應答則判定為連接斷開。
3.2 Master
3.2.1 運行機制:
與Master類似,setup()進行NRF和IO初始化。A0獲取電池電壓,control1/2用于開關控制圖傳和舵機電源的MOS管。
在loop()中將不斷接收Mster傳來的命令,處理后通過ack返回。

制作過程:(詳細過程請查看上述視頻)
文檔
Black_EYE_MASTER copy(進入立創EDA編輯器打開)
Black_EYE_SLAVE copy(進入立創EDA編輯器打開)
Black_EYE_MASTER copy(進入立創EDA編輯器打開)
Black_EYE_SLAVE copy(進入立創EDA編輯器打開)
BOM-部分在售型號推薦(點擊商品編號可查看產品詳細信息)
商品編號 | 型號 | 品牌 | 規格 |
C44854 |
ATMEGA32U4-AU |
MICROCHIP(美國微芯) |
QFP-44_10x10x08P |
C54037 |
1N4448 |
ST(先科) |
DO-35 |
C181692 | IP5306 |
INJOINIC(英集芯) |
ESOP-8 |
C79156 |
EVQ22705R |
PANASONIC(松下) |
Through Hole |
C114981 |
E49A16E00000KE10CO |
HOSONIC(臺灣鴻星) |
HC-49S |
您可以在上述立創EDA工程中下載完整BOM或直接在立創商城下單
工程附件:
以上分享來自立創EDA開源平臺 OSHWHub 用戶@Dimsmary,請自行驗證。

LM1117IMPX-3.3/NOPB/線性穩壓器(LDO) | 0.7147 | |
DRV8874PWPR/有刷直流電機驅動芯片 | 3.45 | |
LM358BIDR/運算放大器 | 0.35 | |
LMR33630ADDAR/DC-DC電源芯片 | 2.01 | |
LM5164DDAR/DC-DC電源芯片 | 3.19 | |
ADS1299IPAGR/模擬前端(AFE) | 222.43 | |
TPS82130SILR/DC-DC電源模塊 | 6.13 | |
TPL5010DDCR/定時器/計時器 | 1.0884 | |
LM27762DSSR/電荷泵 | 3.11 | |
TLV9062IDR/運算放大器 | 0.3242 |