分享我的第一個真正完成的Arduino項目。我試圖制作一種自制的增強(qiáng)現(xiàn)實。讓我向你解釋一下:
它基本上是一個系統(tǒng),它使用一個攝像頭跟蹤你的頭部移動,使其適應(yīng)X和Y操縱桿軸。在那之前,該項目可以適應(yīng)你想要的任何游戲。
然后,我們將這些軸鏈接到戰(zhàn)爭雷霆設(shè)置中的頭部運(yùn)動,以在駕駛艙視圖中給予更多感覺。
要制作這個項目,您將需要:
Arduino Uno (操縱桿庫僅適用于那些但您可以使用它許多其他方式),
一個Wii遠(yuǎn)程攝像頭(我真的建議你帶一個舊遙控器,不要買一個新遙控器,因為它仍然很貴),
一個100kΩ電阻,
一個100 nF電容,
一個25MHz振蕩器(4個引腳),
一個3V紐扣電池(為LED供電),
一個小面包板(17個孔用于固定組件和相機(jī),2個以上用于固定Nano(如果你使用這個)
一些電線和焊接材料。
我要感謝Eric Jacob用他的Instructable Wii遠(yuǎn)程紅外攝像機(jī)Hack Arduino接口給了我這個想法。
步驟1:從Wii遙控器中提取相機(jī)
我拍了一個破舊的Wii遙控器,我建議你這樣做。你仍然可以買一個,但我認(rèn)為它會花費(fèi)你40美元(昂貴?。?。遙控器用四個三角十字架密封。找到合適的工具或粉碎框架。你看到方形相機(jī)?解開它! (我試過,但我不想燒相機(jī)。我直接在遠(yuǎn)程PCB上焊接電線)
第2步:添加組件
現(xiàn)在,將電線焊接到相機(jī)的引腳上,這樣我們就可以將它插在面包板上。
相機(jī)在I2C工作,但是直接插在Arduino上時無法正常工作。我們將添加一些組件來模擬DFRobots紅外相機(jī)。按照電氣圖完成相機(jī)。
嘗試讓相機(jī)在您的頭部高度看著您,通常就像屏幕上的網(wǎng)絡(luò)攝像頭一樣。
步驟3:LED跟蹤器
只需將LED連接到紐扣電池并將其連接到耳機(jī)頂部即可。將LED朝向相機(jī)定位,以提高效率。
顯然,不要忘記取下LED以避免電池斷電。
第4步:代碼
我使用UnoJoy和DFRobotIRPosition庫來模擬操縱桿。原理很簡單:
我們將相機(jī)聲明為串行通信,將Arduino聲明為游戲控制器。
我們得到記錄的IR LED的X和Y值。
我們映射它以使10位(0-1023)返回值適合操縱桿的8位(0-255)值。
Arduino通過串口com端口發(fā)送操縱桿值。
步驟5:配置“controller”
一旦代碼閃爍,我們需要將Arduino轉(zhuǎn)換為操縱桿控制器。
連接最接近USB端口的兩個引腳進(jìn)入DFU模式,
您現(xiàn)在可以在庫文件中執(zhí)行“TurnIntoAJoystick.bat”文件,
現(xiàn)在,你可以拔掉/重新插入你的Arduino,它將被檢測為控制器。
現(xiàn)在,你的Arduino將作為Windows的控制器出現(xiàn)。轉(zhuǎn)到配置面板》硬件》外圍設(shè)備》右鍵單擊新控制器》設(shè)置》屬性。你可以在這里看到一個面板,它可以預(yù)覽操縱桿軸和按鈕的演變。請注意,如果未檢測到LED,則攝像機(jī)返回的值將為255,255。棒的默認(rèn)位置將位于右下角。
重要說明:如果arduino沒有返回任何值,即使代碼和電路板正確,嘗試拔出/重新拔出電線并將其重置,直到十字架顯示右下角(這意味著相機(jī)現(xiàn)在正在通信)。
要恢復(fù)“Arduino模式”,請遵循相同的模式:
跳轉(zhuǎn)USB端口附近的兩個引腳,
執(zhí)行“TurnIntoanArduino.bat”,
然后拔下/重新插入你的Uno。
步驟6:在游戲設(shè)置中鏈接操縱桿
控件我們要設(shè)置的是“Camera control”設(shè)置。將X軸連接到左右軸,將Y軸連接到向上 - 向下軸。在游戲中測試它所做的移動,你可以通過“縮放”設(shè)置重新縮放以使移動盡可能逼真。
你現(xiàn)在可以為你的飛機(jī)游戲享受更逼真的游戲體驗。
-
攝像頭
+關(guān)注
關(guān)注
59文章
4776瀏覽量
95104 -
追蹤器
+關(guān)注
關(guān)注
0文章
166瀏覽量
25660 -
Arduino
+關(guān)注
關(guān)注
187文章
6455瀏覽量
186357
發(fā)布評論請先 登錄
相關(guān)推薦
評論