2016-09-16 68 views
0

我是新來的Python和樹莓派,我創建了一個輪式機器人,並編碼向前,向後,向左轉,向右轉!但是每次我想執行一個不同的腳本時,我必須打開一個新代碼並運行它(例如,打開文件以轉發,然後打開文件等等)使用鍵盤控制機器人

如何使用鍵盤箭頭執行部分腳本?

我希望能夠按下向上按鈕和機器人向前移動,然後釋放向上按鈕和機器人停止,然後按左箭頭鍵和機器人向左轉,直到我釋放鑰匙等。

四世曾經噸論壇和主題,但它們都涉及到(發現如何使用龜鍵盤事件,但他們不I2C或GPIO工作IV)歧碼

任何人可以幫助我 我敢打賭,有一個真正簡單的命令代碼,但我不知道它是什麼或在哪裏找到它!

我使用Adafruit的電機帽子樹莓派供電的電機,如果這有差別

+2

在Python代碼,你將有一個無限循環,或當按下某個鍵即關閉。然後,您可以抓住按鍵並在開關或if/else中使用它,並在適當的條件下將代碼從前向,後向等。 –

+0

如何抓住按鍵?你有任何例子,甚至只是一點點的代碼? –

+0

你已經說過你正在使用多個文件來做它。將這些文件合併爲一個。 –

回答

0

你只需要一個文件這一點。創建一個新文件。

您將需要一個無限循環,我會建議使用while(true)循環。然後您需要

if(/*key was UP ARROW*/){ 
/*CODE TO MAKE MOVE FORWARD HERE*/ 
}else if(/*KEY WAS DOWN ARROW*/{ 
/*CODE TO MAKE MOVE DOWN HERE*/ 
} etc... 

裏面的while(true)循環。這樣,您將能夠使用一個文件來捕獲所有鍵盤數據。所以,它會看起來類似於此

while(true){ 
//read key input 
if(/*key was UP ARROW*/){ 
    /*CODE TO MAKE MOVE FORWARD HERE*/ 
    }else if(/*KEY WAS DOWN ARROW*/{ 
    /*CODE TO MAKE MOVE DOWN HERE*/ 
    } etc... 
} 

這應該做你所需要的。你已經說過你有代碼來移動它,所以這不應該花很長時間來轉移。

嘗試這裏https://learn.pimoroni.com/tutorial/robots/controlling-your-robot-wireless-keyboard閱讀更多關於它這應該可以幫助您極大

+0

Alao,請確保您使用的是正確的Python語法。它對我來說有一段時間了,雖然這個想法是站得住腳的,但這可能並不合理。 –

+0

此外,你可能想要在一個關鍵停止代碼。只是一個很好的建議。 –

+0

這正是我想要的,但我仍然不知道密鑰的實際文本我想我會嘗試和通過我的代碼,你可以看到我到目前爲止,我已經去過的地方 –