人体姿态控制见得多了,手机姿态控制的来一个? 左右前后倾斜手机,面前的小车也跟着移动: 看这灵活的身姿,转个弯也毫无问题: 绝对正儿八经的"手机遥控器",可以倒翻小车看看这个轮胎转动: 再一看,诶,车上又有我们熟悉的树莓派: 这就是油管主 MohammadReza Sharifi 用树莓派 DIY 的"手机姿态控制"的机器小车。 而整个项目的花销只有大概 40 英镑,不到 350 元 !手机加速计操控小车 那么,这个拿手机当遥控器的小车在结构上有什么特殊之处呢? Sharifi 老哥公布了他所采用的全部材料: 树莓派 ×1 HC05 蓝牙模块 ×1 L298 电机驱动器 ×1 机器人底盘 ×1(还是非常便宜的塑料材质) 直流齿轮马达 ×4 跳线 ×n 嗯…… 毕竟总成本只有约 40 英镑,还要啥自行车呢。 而安装在底板上的价格不到 3 英镑的 Raspberry Pi Pico,无疑就是小车的核心了。 这是树莓派今年年初发布的微型处理器新品,基于其自研的 RP2040 芯片构建,搭载双核 ARM Cortex M0 + 处理器,运行频率 133MHz,内置 264KB 的片上 RAM。 和以往的树莓派产品相比,Raspberry Pi Pico 更擅长低时延的 I / O 通信和模拟信号输入 。 而 Sharifi 老哥就是打算用 Raspberry Pi Pico 实时处理运动数据,并将信息发送给小车的电机驱动程序,带着小车跑起来的。 那么树莓派接收到的运动信息又从何而来呢? 智能手机中的加速计 。 这是手机内部的一个传感器组件,用于检测手机受到的加速度的大小和方向。 (很多人会把加速计功能叫做重力感应功能,这是因为手机静置时只受到重力加速度) 这就是 Sharifi 老哥的"手机姿态控制"的完整思路,即通过蓝牙设备将手机加速计的运动数据传给树莓派,再控制机器小车移动。三小时编写代码 要在手机加速计和 Raspberry Pi Pico 之间传递数据,当然还是得靠代码。 Sharifi 老哥使用的是一个叫做 MIT App Inventor 的代码开发平台: 这是由一个基于模块的可视化编码平台,可以相对轻松地开发移动设备应用程序: 在确定手机加速度计的角速度和加速度的大小,以及机器小车的相对坐标轴这些任务上,Sharifi 老哥花了不少时间。 不过最终他还是在三小时内完成了构思和编程。 像这样,手机连接蓝牙,打开开发好的 App: 和设备成功连接之后,转动手机,四个小轮胎也就跟着开始转了: 这一次的项目是基于 Sharifi 老哥自己的 Redmi Note 9 Pro 手机的安卓开发项目。 他表示,下一步打算用 Python 整一个 iOS 程序 ,争取早日把 iPhone 也变成遥控器。 下载: https://github.com/mohammadreza-sharifi/Control-Raspberry-Pi-Pico-Robot-using- Android-Phone-Accelerometer 参考链接: https://www.raspberrypi.com/news/raspberry-pi-pico-robot/