基于WiFi和加速度计的遥控小车设计

需积分: 50 24 下载量 170 浏览量 更新于2024-08-08 收藏 1.11MB PDF 举报
"这篇设计报告涉及了一款基于arduino和WiFi的遥控小车,该小车在吉林大学电子设计竞赛中被开发。团队成员利用Atmel Atmega328微处理器和ESP8266模块实现了Android App通过WiFi对小车的控制。此外,他们还探索了使用JY901加速度计进行手势控制的可能性,以此增强创新性和实用性。报告详细阐述了手势控制的理论基础,姿态角的计算方法,以及整个系统的总体设计和模块选择。" 在这款设计中,小车的控制系统采用了Atmel Atmega328作为微处理器,这是一种常见的微控制器,常用于arduino开发板,具有良好的性价比和丰富的外围接口,适合进行嵌入式控制。ESP8266是一个经济实惠的WiFi模块,能够使设备接入网络,实现无线通信。在这里,它被用来接收来自Android App的指令,并将这些指令转发给Arduino,从而控制小车的行驶。 手势控制部分,团队选择了JY901加速度计。JY901是一个集成的传感器模块,可以检测设备在三维空间中的运动和倾斜,提供了滚转角、俯仰角和偏航角的数据。这些数据经过计算转换,可以得到设备相对于初始位置的精确角度变化。在姿态角的计算中,使用的是东北天坐标系,并遵循z-y-x的欧拉角顺序。尽管欧拉角存在180度的 gimbal lock 问题,但在小角度范围内,仍能有效地表示设备的姿态。 方案论证部分,团队对比了基于WiFi的安卓界面控制和加速度计手势控制。前者虽然操作简便,但创新性不足;后者则允许更自由、直观的控制方式,适用于多种场景,且传输距离长。因此,他们决定开发自主的手势控制方案,以解决欧拉角表示姿态的固有问题,如俯仰角超过90度后导致的耦合变化。 总体设计上,系统分为两大部分:手势控制器单元和小车驱动单元。手势控制器单元由JY901提供角度信息,通过ESP8266将信息发送给Arduino(1)。Arduino(2)接收到这些数据后,通过另一块ESP8266(2)发送指令给L298N驱动器,进而控制四驱小车的行动。L298N是一种双H桥电机驱动器,可以方便地驱动直流电机,实现小车的前进、后退、转弯等功能。 在模块选择上,JY901的轴向定义和旋转方向遵循右手法则,确保了加速度数据的正确解读。这种设计确保了手势控制的有效性和稳定性。 这个项目结合了硬件和软件技术,展示了如何利用arduino平台、WiFi通信和传感器技术来创建一个创新的遥控小车系统,同时也探讨了在实际应用中解决姿态表示问题的方法。