2016-09-16 71 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

这正是我想要的,但我仍然不知道密钥的实际文本我想我会尝试和通过我的代码,你可以看到我到目前为止,我已经去过的地方 –