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