1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 【毕设项目】基于单片机的遥控小车设计与实现 - 嵌入式 物联网 stm32 c51

【毕设项目】基于单片机的遥控小车设计与实现 - 嵌入式 物联网 stm32 c51

时间:2020-08-13 07:30:58

相关推荐

【毕设项目】基于单片机的遥控小车设计与实现 - 嵌入式 物联网 stm32 c51

文章目录

1 简介2 主要器件与实现2.1 电机驱动模块2.2 蓝牙模块2.3 蓝牙调试APP3 实现效果5 部分参考代码6 最后

1 简介

Hi,大家好,这里是丹成学长,今天向大家介绍一个学长做的单片机项目

基于单片机的遥控小车设计与实现

大家可用于 课程设计 或 毕业设计

单片机-嵌入式毕设选题大全及项目分享:

/m0_71572576/article/details/125409052

2 主要器件与实现

四轮驱动智能汽车底盘主控:arduino(可选stm32等其他单片机)L293D电机驱动器护罩SG90微型伺服电机超声波传感器-HC-SR04HC-05蓝牙模块电池座电池

单片机和底盘接线

完整接线

制作流程主要分为四个部分:1.组装小车;2.烧写代码;3.调试蓝牙;4.整车测试

其中,前三个部分的耦合性很低,每个部分可以独立操作和调试

2.1 电机驱动模块

L298N转接驱动板

2.2 蓝牙模块

蓝牙( Bluetooth® ):是一种无线技术标准,可实现固定设备、移动设备和楼宇个人域网之间的短距离数据交换(使用2.4—2.485GHz的ISM波段的UHF无线电波)。

我们在此使用的蓝牙模块(HC-05)已经在内部实现了蓝牙协议,不用我们再去自己开发调试协议。这类模块一般都是借助于串口协议通信,因此我们只需借助串口将我们需要发送的数据发送给蓝牙模块,蓝牙模块会自动将数据通过蓝牙协议发送给配对好的蓝牙设备。

与单片机连接

TX: 接Arduino UNO开发板"RX"引脚

RX: 接Arduino UNO开发板"TX"引脚

GND: 接Arduino UNO开发板"GND"引脚

VCC: 接Arduino UNO开发板"5V"或"3.3V"引脚

2.3 蓝牙调试APP

3 实现效果

5 部分参考代码

char serial_data; // 将从串口读入的消息存储在该变量中int wheel_R_1 = 5; // 右轮in1对应Arduino 5号引脚int wheel_R_2 = 6; // 右轮in2对应Arduino 6号引脚int wheel_L_1 = 9; // 左轮in1对应Arduino 9号引脚int wheel_L_2 = 10; // 左轮in2对应Arduino 10号引脚void setup(){// 配置所有控制轮的引脚为输出pinMode(wheel_L_1, OUTPUT);pinMode(wheel_L_2, OUTPUT);pinMode(wheel_R_1, OUTPUT);pinMode(wheel_R_2, OUTPUT);// 配置串口波特率Serial.begin(9600);}void loop(){if(Serial.available()){// 将从串口读入的消息存储在该变量中serial_data = Serial.read();// 按照 w a s d x 在键盘上的布局来控制车// 如果接收到 w ,直行if( serial_data == 'w' ){move_ahead( );Serial.println("The car is moving ahead!");}// 如果接收到 x ,后退else if( serial_data == 'x'){move_backwards( );Serial.println("The car is moving backwards!");}// 如果接收到 a ,左转else if( serial_data == 'a'){turn_left( );Serial.println("The car is turning left!");}// 如果接收到 d ,右转else if( serial_data == 'd'){turn_right( );Serial.println("The car is turning right!");}// 如果接收到 s ,停止else if( serial_data == 's'){stop();Serial.println("The car is stopping!");}}}// 定义直行函数void move_ahead(){digitalWrite( wheel_L_1, HIGH);digitalWrite( wheel_L_2, LOW);digitalWrite( wheel_R_1, HIGH);digitalWrite( wheel_R_2, LOW);}// 定义后退函数void move_backwards(){digitalWrite( wheel_L_1, LOW);digitalWrite( wheel_L_2, HIGH);digitalWrite( wheel_R_1, LOW);digitalWrite( wheel_R_2, HIGH);}// 定义左转函数void turn_left(){digitalWrite( wheel_L_1, LOW);digitalWrite( wheel_L_2, LOW);digitalWrite( wheel_R_1, HIGH);digitalWrite( wheel_R_2, LOW);}// 定义右转函数void turn_right(){digitalWrite( wheel_L_1, HIGH);digitalWrite( wheel_L_2, LOW);digitalWrite( wheel_R_1, LOW);digitalWrite( wheel_R_2, LOW);}void stop(){digitalWrite( wheel_L_1, LOW);digitalWrite( wheel_L_2, LOW);digitalWrite( wheel_R_1, LOW);digitalWrite( wheel_R_2, LOW);}

单片机-嵌入式毕设选题大全及项目分享:

/m0_71572576/article/details/125409052

6 最后

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。