python遥控汽车玩具_遥控小车

使用EV3主机上的按键控制小车还是比较麻烦,能不能通过遥控来控制小车呢?

当然可以!

乐高提供了一个红外线传感器和遥控器:

但是红外遥控器需要很强的方向性,而且那个遥控器太简陋了,连个摇杆都没有。

还有一种方式是使用蓝牙手柄,这样我们就可以找一个游戏手柄直接通过蓝牙控制小车,太方便了有木有!

我找了一个任天堂的游戏手柄:

理论上支持蓝牙的游戏手柄都是可用的,标准游戏手柄按键如下:

┌──────┐ ┌──────┐

┌┴─────┐│ ┌┴─────┐│

┌─┴──────┴┴──────────────────┴──────┴┴─┐

│ ┌─┐ ┌─┐ ┌─┐ │

│ ┌─┐ └─┘ └─┘ ┌─┐│X│ │

│ ┌─┘ └─┐ - + │Y│└─┘┌─┐ │

│ └─┐ ┌─┘ ┌─┐ ┌─┐ └─┘┌─┐│A│ │

│ └─┘ └─┘ └─┘ │B│└─┘ │

│ ┌─┐ S H ┌─┐ └─┘ │

│ ┌─┘ └─┐ ┌─┘ └─┐ │

│ └─┐ ┌─┘ └─┐ ┌─┘ │

│ └─┘ └─┘ │

│ ──────────────────────── │

│ / \ │

│ / \ │

└────/ \────┘

把游戏手柄和EV3主机用蓝牙连起来很简单,但是怎么用Python程序读取手柄的输入?

一般来说,从外部设备读取输入时,应用程序并不直接与外设打交道,而是由操作系统通过驱动程序连接外设,然后,通过操作系统提供的API读取输入。Windows程序可以通过DirectX访问外设,运行在网页的JavaScript程序可以通过浏览器提供的Gamepad API。

EV3主机运行的是Debian Linux,那么Python程序如何在Linux下读取手柄的输入?

在Linux中,系统把每个外设都映射为文件,每个设备的输入也被映射为文件。/proc目录挂载的就是Linux的虚拟文件系统,映射Linux的进程信息和设备信息。我们登录到EV3,查看/proc/bus/input/devices文件:

$ cat /proc/bus/input/devices

I: Bus=0000 Vendor=0000 Product=0000 Version=0000

N: Name="LEGO MINDSTORMS EV3 Speaker"

P: Phys=

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值