当前位置:首页 > 编程笔记 > 正文
已解决

STC89C51基础及项目第13天:小车go、软件调速

来自网友在路上 165865提问 提问时间:2023-10-09 22:28:41阅读次数: 65

最佳答案 问答题库658位专家为你答疑解惑

1. 小车散件组装_推荐相同接线(259.104)

2. L9110s电机控制器接线(260.105)

L9110s电机模块开发

  • 接通VCC,GND 模块电源指示灯亮, 以下资料来源官方,但是不对,根据下节课实际调试
    • IA1输入高电平,IA1输入低电平,【OA1 OB1】电机正转;
    • IA1输入低电平,IA1输入高电平,【OA1 OB1】电机反转;
    • IA2输入高电平,IA2输入低电平,【OA2 OB2】电机正转;
    • IA2输入低电平,IA2输入高电平,【OA2 OB2】电机反转。
      在这里插入图片描述
  • 和上官一号的接线(外加一根gnd-gnd的线:接地线,否则信号传输会有问题)
    在这里插入图片描述

3. L9110前后左右控制小车(261.106)

  • 代码(20./01. 小车L9110s电机驱动)
#include "reg52.h"
#include "intrins.h"sbit RightCtrlA = P3^2;
sbit RightCtrlB = P3^3;sbit LeftCtrlA  = P3^4;
sbit LeftCtrlB  = P3^5;void Delay1000ms()		//@11.0592MHz
{unsigned char i, j, k;_nop_();i = 8;j = 1;k = 243;do{do{while (--k);} while (--j);} while (--i);
}void goForward(){	LeftCtrlA  = 0;LeftCtrlB  = 1;RightCtrlA = 0;RightCtrlB = 1;
}
void goLeft(){LeftCtrlA  = 0;LeftCtrlB  = 0;RightCtrlA = 0;RightCtrlB = 1;
}
void goRight(){LeftCtrlA  = 0;LeftCtrlB  = 1;RightCtrlA = 0;RightCtrlB = 0;
}
void goBack(){LeftCtrlA  = 1;LeftCtrlB  = 0;RightCtrlA = 1;RightCtrlB = 0;
}void main(){while(1){goForward();Delay1000ms();Delay1000ms();goBack();Delay1000ms();Delay1000ms();goLeft();Delay1000ms();Delay1000ms();goRight();Delay1000ms();Delay1000ms();}
}

4. 电机相关代码封装_分文件编程(262.107)

  • 代码(20./02. 小车L9110s电机驱动分文件函数封装)

5. 串口控制小车(方向)(263.108)

  1. 串口分文件编程进行代码整合——具体过程看课程,主要考验C语言功底和代码调试能力,通过现象来改代码
  2. 接入蓝牙模块,通过蓝牙控制小车,实现6.6.1的课程需求,蓝牙透传太容易了。
  3. 添加点动控制,如果APP支持按下一直发数据、松开就停止发数据(蓝牙调试助手的自定义按键不能实现),就能实现前进按键按下后小车一直往前走的功能
  • 若出现项目中找不到某个c文件,解决办法:

    1. 右键点击“”(已存在的文件添加至工程资料1)
      在这里插入图片描述
    2. 点击丢失的文件名、Add、Close
      在这里插入图片描述
    3. 成功
      在这里插入图片描述
  • 代码(20./03. 串口控制小车)

6. 手机通过蓝牙控制小车_自定义按键(264.109)

  • 再接一根线5v-VCC,开发板的5v-面包板的正极,即可让小车脱离电脑供电开发板的束缚,自由的跑起来
  • 自定义按键
    1. 点击“设置方向按钮”
      在这里插入图片描述
    2. 点击“top”
      在这里插入图片描述
    3. 如下设置,确认
      在这里插入图片描述
    4. 设置成功,其他按钮同理
      在这里插入图片描述
    5. 取消勾选“设置方向按钮”,即可方向控制
      在这里插入图片描述

7. 蓝牙小车的点动控制(265.110)

  • 思路:main函数:while
  • 代码(20./04. 蓝牙小车点动)

8. 串口自动发送数据测试上节课效果(266.111)

9. 软件调速(267.112)

  • 原理: 全速前进是 LeftCon1A = 0 LeftCon1B = 1;完全停止是LeftCon1A = 0;LeftCon1B = 0;那么单位时
    间内,比如20ms, 有15ms是前进,5ms是停止,速度就会比5ms前进,15ms停止获得的功率多,相应的速度更快
  • 开发: 借用 PWM 的舵机控制代码
    在这里插入图片描述
  • 代码(20./05. PWM小车调速)

10. 左右电机的各自调速管理(268.113)

  • 原理: 左轮定时器0调速,右轮定时器1调速,那么左转就是右轮速度大于左轮、右转就是左轮速度大于右轮
  • 开发: 有手就行
  • 代码(20./06. PWM小车差速转弯)
查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"STC89C51基础及项目第13天:小车go、软件调速":http://eshow365.cn/6-18023-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!