摘要: 通过开发板与相应外设,实现了用手柄无线控制小车行驶的功能,系统由控制端和被控端两个部分组成。 控制端:1.arduino开发板(下面简称ard) 2.24L01无线模块a 3.wii手柄 被控端:1.51单片机 2.24L01无线模块b 3.小车框架与四个电机 4.电机驱动板 主要流程:(1)控制端(发送端):人操作手柄→信号输入ard→ard讲信号传入24L01(a) (2)被控端(接收端):24L01(b)接收数据→传入51→51通过驱动板控制四个电机→小车产生相应动作 详细描述: 1:ard开发板:ard语言易掌握,具有灵活性,可以简单的与wii手柄和24L01连接,自带很多开源的示例代码,例如与24L01通讯所需的SPI协议可以直接引用,有3.3V引脚可以很方便的直接给24L01供电,可以实时查看串口数据,便于手柄和24L01的调试。 其中,SPI固定了引脚接口,【the SPI bus uses pins 10 (SS), 11 (MOSI), 12 (MISO), and 13 (SCK).】 2.24L01无线模块:8个引脚,需要3.3V供电,使用SPI协议通讯,51上没有3.3v引脚,所以自己焊了一个,用的AMS1117,可以使5V转为3.3V。 引脚图(图片引自淘宝提供的产品资料): 实物图:
AMS1117(图片引自百度):3:wii手柄:日本任天堂公司的游戏手柄,俗称鸡腿手柄,传感器可以通过操纵杆在x轴与y轴两个方向上产生位移,wii的库可以直接加进ard程序的头文件。接口转为排针的形式,便于与ard连接。 实物图:
4:51开发板: 分别与接收用的24L01和电机驱动板连接,☆其中无线模块SPI协议通讯部分用IO的高低电平模拟了时钟信号,程序可以将收发同步,发送数据的最高位,后将电平置高,所有数据左移一位后将要发送的数据补进末位,再将电平拉低,循环8次实现一个字节的发送。☆ 5:电机与驱动: 四个电机分别带动四个轮子,驱动板由51发出的信号的控制,提供更高的电压使电机转动。 实物图(51开发板和驱动板):
|