從我的第一個(gè)機(jī)器人項(xiàng)目開始,我就使用游戲控制器執(zhí)行命令和功能。這當(dāng)然是我游戲玩家時(shí)代的影響力。我已經(jīng)使用PS2,Xbox 360控制器進(jìn)行過項(xiàng)目...但是有一段時(shí)間我遇到一些接口問題并決定基于Arduino和nRF24L01(我的第一個(gè)用于大型/高級(jí)機(jī)器人的控制器)制作自己的控制器。
該當(dāng)前控制器的設(shè)計(jì)靈感來自N64,但顯然具有較少的按鈕/功能,因?yàn)樗饕糜诳刂苹贏rduino的小型機(jī)器人和RC汽車。定制的絲印和按鈕顏色也受超級(jí)任天堂的影響。
基本上,該控制器是具有N64控制器外形的大型PCB。右手柄上的四個(gè)按鈕...左手的模擬搖桿...一個(gè)蜂鳴器,用于根據(jù)命令播放某些音色...一個(gè)撥動(dòng)開關(guān)打開...另一個(gè)撥動(dòng)開關(guān)來更改按鈕的功能和搖桿...中間握把保留給Arduino Nano ...,命令由nRF24L01模塊遠(yuǎn)程發(fā)送。
制作PCB
使用Inkscape制作形狀文件,從原始N64控制器導(dǎo)入圖像文件,并使用“繪制Bezier曲線和直線”工具繪制控制器輪廓。
板上元件的布置和布設(shè)都是通過Fritzing完成的。使用Fritzing,我還可以導(dǎo)出制造所需的文件(Gerber文件)。
電子和焊接
該項(xiàng)目的組件不需要太多的焊接經(jīng)驗(yàn),因?yàn)闆]有使用SMD組件。為了焊接四個(gè)按鈕,操縱桿,蜂鳴器和排針,我使用了無鉛焊料和50W鐵。
控制器還具有兩個(gè)撥動(dòng)開關(guān),在其上我焊接了跨接線,如視頻和圖中所示,該跨接線已連接到板上。
帶天線的nRF24L01模塊也通過跨接線連接到板上。
打造基地
我做了一個(gè)使控制器操作起來更舒適的基礎(chǔ)……因?yàn)橛|摸組件的插針很難操作。
它由兩層高抗沖聚苯乙烯制成。
以PCB為指導(dǎo),直接在聚苯乙烯板上繪制輪廓。
我用美工刀切掉了不需要的碎片,留下了約1mm的邊緣。
這兩個(gè)層用即時(shí)粘合劑連接在一起。
然后,我從邊緣去除多余的材料。首先用美工刀。然后用砂紙。
底座還具有撥動(dòng)開關(guān)和帶天線的nRF24L01模塊的支架。
制作底座的最后一步是繪畫……首先使用噴涂底漆……最后使用啞光黑完成。
程式設(shè)計(jì)
控制器(實(shí)際上是Arduino Nano)的編程是通過Arduino IDE進(jìn)行的。
代碼非常簡單...例如,當(dāng)我按下藍(lán)色按鈕時(shí),控制器發(fā)送17。當(dāng)我按下紅色按鈕時(shí),控制器發(fā)送18 ...,接收器將獲取這些值,而Arduino將執(zhí)行分配給他們的動(dòng)作。
該項(xiàng)目中使用的物料清單
Arduino nano 1個(gè)
母排針(1x15) 2個(gè)
拇指操縱桿 1個(gè)
12毫米帶彩色帽的觸覺按鈕 4個(gè)
撥動(dòng)開關(guān) 2個(gè)
跳線(F / F) 12
跳線(M / M) 1個(gè)
帶天線的nRF24L01模塊 1個(gè)
蜂鳴器 1個(gè)
9V電池座 1個(gè)
M3螺絲 10個(gè)
M3支架 5個(gè)
M2螺絲 3個(gè)
M2螺母 3個(gè)
高強(qiáng)度聚苯乙烯板(2毫米厚) 1個(gè)
熱縮管(小件) 1個(gè)