本制作以STC89C52RC单片机和ADXL345加速度模块。加速度模块固定在手上时,当手向左倾斜,小车左转;手向右倾斜,小车右转;手向前倾斜,小车前进;手向后倾斜,小车倒退;手水平不动,小车停止任何动作。有效控制范围 10米(开阔地)。小车视频可以见教程附件。
原理:ADXL345加速度模块可以测量X Y Z三轴的加速度和倾角。人的手做动作时,势必会改变模块的加速度大小和倾角。由于测量加速度叫繁琐,所以测量的是倾角数据。当倾角数据满足一定范围时,通过蓝牙模块传输控制指令到小车,实现小车的动作。 制作教程(配图见附于文章结尾): 本制作除了单片机最小系统需要焊接外,其他的组件都是模块(单片机系统可以自己焊接,也可以使用模块。最小系统图看最后面附图),直接和单片机的IO口连线就可以了,单片机最小系统原理图我已经上传,本教程主要是讲解模块的说明和接线方式。 一 小车系统: 可以是四驱型的,也可以是万向型的,只要你会改程序,就无需局限于小车制动类型。当然,如果你不会改程序,那就使用四驱,小车的套件在淘宝上的价格都很便宜,几十块的也有,根据自己的经济能力决定。购买时注意电机的额定电压和转速就可以了。 小车电机接线: 1号轮红线接L293D输出端:8 1号轮黑线接L293D输出端:7 2号轮红线接L293D输出端:6 2号轮黑线接L293D输出端:5 3号轮红线接L293D输出端:4 3号轮黑线接L293D输出端:3 4号轮红线接L293D输出端:2 4号轮黑线接L293D输出端:1 注:必须确定小车的方向,本例为1号轮为小车前进轮;实际的接线可以完全相反,只需要改变输入端线序即可! 二 电机驱动模块 我使用的是成品模块,型号为L293D,模块省去了焊接调试工作,直接使用即可。此类模块还有一个优点,就是当你的供电电源大于6V时,模块可以当5V的电源使用,可以给单片机系统和蓝牙系统供电, 模块的供电电压是5v到16V,当你需要外接5V电源时,可用6V至16V电源供电。最大可提供1A驱动电流。 模块接线: P1.0接IN8 P1.1接IN7 P1.2接IN6 P1.3接IN5 P1.4接IN4 P1.5接IN3 P1.6接IN2 P1.7接IN1 注:若组装好后,小车运动与预设完全相反,只需要单片机端口线序倒置即可:如P1.7接IN8,P1.6接IN7以此类推。 三 供电系统 我使用的是12V铅酸蓄电池。注意,你使用的电池电压必须在你电机的额定电压工作范围内。驱动模块的控制信号是0到5V(单片机电压),但驱动模块给电机供电是,就是电源电压,所以一定要注意电机的额定工作范围。 供电接线: 蓄电池正极——L293D Vcc 蓄电池负极——L293D Gnd L293D 5V ——单片机系统Vcc L293D Gnd——单片机Gnd 四 无线传输模块 我使用的是UART蓝牙模块,这种模块自动配对,且无需额外编程,价格在30元左右(一只),虽然网上有很多几块钱的模块,性价比较高,但是我的程序重点在于加速度模块程序的设计,所以没有过多精力来搞无限通信。如果你有良好的程序基础,那么建议你购买价格便宜的无线模块。蓝牙模块分主从模式,我使用的是主从一体的蓝牙模块,通过管脚可以切换主从,但有些是需要AT指令切换主从的,购买的时候需要注意。蓝牙模块工作时必须一主一从才能配对成功。 蓝牙模块连接: 1主模块连接: SET与3V3脚短接 VCC接可接3.3或5V RX接单片机TX TX接单片机RX GND接地 2从模块连接 SET脚与地短接 VCC接可接3.3或5V RX接单片机TX TX接单片机RX GND接地 注:不管是主模块还是从模块,只要配对好,是可以互相通信的。所以不管是哪个连接到小车都可以。 五 加速度ADXL345模块 此模块的程序设计是整个制作的核心。模块的详细参数见模块官方手册说明。 模块接线: VCC接5V GND接地 SCL接P1.0 DAT接P1.1
|