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

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小车差速转弯)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/128881.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Nginx的安全控制

安全控制 关于web服务器的安全是比较大的一个话题,里面所涉及的内容很多,Nginx反向代理是安全隔离来提升web服务器的安全,通过代理分开了客户端到应用程序服务器端的连接,实现了安全措施。在反向代理之前设置防火墙,…

Android原生实现控件outline方案(API28及以上)

Android控件的Outline效果的实现方式有很多种,这里介绍一下另一种使用Canvas.drawPath()方法来绘制控件轮廓Path路径的实现方案(API28及以上)。 实现效果: 属性 添加Outline相关属性,主要包括颜色和Stroke宽度&…

RunnerGo亮相QECon大会上海站,来看看这款全栈测试平台

QECon(Quality Efficiency Conference)质量效能大会在上海正式开幕!本次大会以"数生智慧:高质量发展新引擎"为主题,深入探讨如何借助数字化和智能化技术推动软件质量的发展,为高质量经济发展提供…

ctfshow web入门 php特性 web126-web130

1.web126 和前面一样的 payload: get: a1fl0gflag_give_me post: CTF_SHOW&CTF[SHOW.COM&funparse_str($a[1]) 或 get: ?$fl0gflag_give_me post:CTF_SHOW&CTF[SHOW.COM&funassert($a[0]) assert($a[0]) 是把fl0g赋值为flag_give_me $a[0]是当前…

运营商大数据,三网融合大数据,联通大数据,移动大数据

有许多公司和企业依靠电话营销和短信营销。对于他们来说,客户资源就是维生素和维生素,客户资源的及时性和准确性是这些公司和企业最关心的问题。长期使用低质量、大量无效的客户资源,是对时间的浪费,是对人力物力财力的浪费&#…

opengauss数据备份(docker中备份)

首先如果想直接在宿主机上进行使用gs_dump备份需要glibc的版本到2.34及以上,查看版本命令为 ldd --version 如图所示,本宿主机并不满足要求,所以转向在docker容器中进行备份, 然后进入opengauss容器中,命令为 docker…

华为数通方向HCIP-DataCom H12-831题库(单选题:221-240)

第221题 以下哪些项能被正则表达式^30.成功匹配? A、200 100 300 B、100 200 300 C、300 200 100 D、300 100 200 答案:CD 解析: 30.其中的“点”表示的是任何的一个数字,表示的是as-path的开头;所以以300开头的都是满足题目需求的。 第222题 以下哪些项的Community属性能…

使用kubectl连接远程Kubernetes(k8s)集群

使用kubectl连接远程Kubernetes集群 环境准备下载kubectl下载地址 安装kubectl并处理配置文件Windows的安装配置安装kubectl拉取配置文件安装kubectl拉取配置文件kubectl命令自动补全 Linux的安装配置安装kubectl拉取配置文件kubectl命令自动补全 环境准备 你需要准备一个Kube…

ElasticSearch 学习7 集成ik分词器

网上找了一大堆,很多都介绍的不详细,开始安装完一直报错找不到plugin-descriptor.properties,有些懵这个东西不应该带在里面吗,参考了一篇博客说新建一个这个,新建完可以启动,但是插入索引数据会报错找不到…

Linux虚拟机搭建RabbitMQ集群

普通集群模式,意思就是在多台机器上启动多个 RabbitMQ 实例,每台机器启动一个。创建的 queue,只会放在一个 RabbitMQ 实例上,但是每个实例都同步 queue 的元数据(元数据可以认为是 queue 的一些配置信息,通…

华为OD机试 - 最优策略组合下的总的系统消耗资源数(Java 2023 B卷 100分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明4、思路 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷B卷…

数学建模预测模型MATLAB代码大合集及皮尔逊相关性分析(无需调试、开源)

已知2010-2020数据,预测2021-2060数据 一、Logistic预测人口 %%logistic预测2021-2060年结果 clear;clc; X[7869.34, 8022.99, 8119.81, 8192.44, 8281.09, 8315.11, 8381.47, 8423.50, 8446.19, 8469.09, 8477.26]; nlength(X)-1; for t1:nZ(t)(X(t1)-X(t))/X(t1…