51单片机 智能小车

article/2025/10/11 20:56:58

主函数中extern char speed 是在整个工程中与别处的speed共用一个内存

sprintf字串格式化命令,主要功能是把格式化的数据写入某个字符串中。

一、小车组装、用面包板供电、单片机也可以用面包板供电,必须共地、分文件(模块化编程),

二、串口控制小车,串口初始化(pcom、scon配置sm0、1、ren是否接收、配置定时器1、串口通信速度--波特率9600、开始计数TR1 = 1,EA=1、ES = 1)、调用串口中断用tmp buffer【i】= tmp、i= 0;if buffer【i】='M' shitch(buffer[1]) ---case '1'/'2'/'3'/'4',调用电机函数控制上下左右------可以连接蓝牙、电动控制:主函数一直循环stop  当串口中断时会先处理中断

 三、PWM控制小车速度(原理:在这个时间段内20ms---前进所占比例越大转速越快、、PWM分模块控制左右轮速度---实现转弯功能。(motor--电机控制器分模块、左轮定时器0、右轮定时器1分别控制两个不同转速、主函数传speed过去、)

 四、循迹模块-------使用两个循迹模块,(总结就是一句话,没反射回来,D0输出高电平,灭灯,D0==高/低  && D1 ==高/低)-----实现左右转动。将循迹模块和PWM结合起来解决轮子一卡一卡问题(!!!!!!!学会观察现场调试-----车子直行 是否平整--可能电压不稳导致的 可以通过降低其中一个轮子的speed速度--占空比来调节速度)

 五、跟随模块和循迹模块差不多   不用pwm调速

左边跟随模块能返回红外,输出低电平,右边不能返回,输出高电平,说明物体在左边,需要左转
右边跟随模块能返回红外,输出低电平,左边不能返回,输出高电平,说明物体在右边,需要右转

六、舵机要求测距离

如果是dir 距离大于35 则前进,当dir小于35时左右摇头,并测量左右距离-----当不测左右距离时又回到超声波又回到正前方----但是会一卡一卡  用宏定义来解决一卡一卡问题

 七、测速模块 通过串口发送到上位机显示速度

 定时器定时一秒钟(定时器中断  每次0.0005当dnt++到两千次则是一秒钟,记录下测速模块跳转了多少次,则是速度多少,赋值给speed给串口使用,并将speedCnt复位0;)

 外部中断记录电平跳变次数

串口配置  

 八、测速模块 (将速度显示在OLED上面)通过串口蓝牙发送到手机端 手机蓝牙控制前进后退等,

通过厂家的算法已经配好的函数调用,将是sprintf里面的速度 显示在Oled显示屏上面

 八、WIFI小车,单片机---8266----串口----(将小车 8266模块连接----模块初始化,)定时器一秒 中断电平跳变多少次则是速度,速度通过串口发给wifi模块,用OLED模块显示速度,

1//初始化wifi工作在ap模式(需要上电时间)-----单片机发指令给8266--》8266通过串口反馈,---》单片机检测到SBUF中的值---》标志位往后走
 2//等待客户端的连接

3//发送数据  后延时一秒

九、SU-03T语音模块的使用,网站   smartpi.cn/#/ 配置语音SDK,用云知声烧录进去,第一次要初始化,


http://chatgpt.dhexx.cn/article/K23PgYAX.shtml

相关文章

C51单片机 SIM900A 手机给门禁解锁 智能家居 【C程序代码已开源,更新至Ver4.0】...

为何要实施这个项目? 一般小区楼下,每幢都会有一个门禁系统, 可以使用钥匙打开门禁, 有的可以使用刷卡打开门禁, 有的可以使用密码打开门禁, 但是,长期下来,因为小区人多,锁的钥匙孔会被捅坏,物业修起来也很怠慢 使用密码按键解锁门禁,按键也会失灵 每家都会安装一个…

基于STC89C51单片机,CH340芯片的下载电路

前几天看到了卓晴公众号写的三篇关于STC系列单片机的下载电路,然后结合了其他的文章,对下载电路有了更加深入的了解,在这里我梳理一下自己的学习过程,附上完整的资料,方便日后查看,也方便有兴趣的同学交流讨…

C51单片机简易密码锁(课程设计)

已经过测试,全部可用。手机好像不能发博客,相册提取图片代码粘黏复制可用。 本密码锁用于开门关门。绿灯保持常亮状态,表示一直通电状态。如果处于开门状态,则红灯也会亮起。(单片机上无法显示红绿灯,仿真…

51单片机的架构与原理(STC89C51)

前言 学习单片机,不管怎么学都是要走一些弯路的,有的人弯路走得多,有多人弯路走得少,有些人中途就放弃了,也有不少人成功上岸,掌握了各式各样的单片机、处理器。用51单片机来学习是最合适不过的&#xff0c…

C51单片机利用HC-05蓝牙模块实现手机点灯

蓝牙通信,实现手机端远程(15米)控制单片机,这听起来对于初学者的我来说,是那么不可思议,经过不断地实验,阅读其他大佬的文章,终于实现了。 在有基础的通信原理知识的前提下,知,HC-05…

基于C51单片机的ESP8266Wifi模块(ESP-01s)编程(详细)

1、模块简介 ESP-01S 是由安信可科技开发的 Wi-Fi 模块,该模块核心处理器为ESP8266。ESP8266 拥有完整的且自成体系的 Wi-Fi 网络功能,既能够独立应用,也可以作为从机搭载于其他主机 MCU 运行。当 ESP8266 独立应用时,能够直接从外…

(可远程)开源手机app控制c51单片机,附微信小程序控制

开源手机app控制c51单片机 第一 、先上效果图第二、原理讲解第三、下载程序到c51第四 app inventor 开发第五、微信小程序开发第六 可能遇到的一些小问题 第一 、先上效果图 第二、原理讲解 原理简述:利用发布订阅模式。第一步,新建主题,第二…

java实例内部类

内部类:可以将一个类定义在另一个类或者一个方法的内部。描述一个事物的一个完整结构的描述。内部类包括:实例内部类(普通内部类),静态内部类,局部内部类(定义在方法里,几乎不用&…

Java内部类介绍 - 局部内部类和匿名内部类

文章目录 内部类局部内部类匿名内部类匿名内部类介绍常见的使用形式开发中使用场景 内部类 局部内部类 局部内部类 (鸡肋语法,了解即可) 局部内部类, 在方法、代码块、构造器等执行体中创建一个类, 称为为局部内部类(但是我们一般都不会这样…

夯实Java基础系列8:深入理解Java内部类及其实现原理

本系列文章将整理到我在GitHub上的《Java面试指南》仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下Star、Fork、Watch三连哈,感谢你的支持。 文章首发于我的个人博客: www.how2playlife.c…

初识JAVA内部类

1 内部类概述 如果一个类存在的意义就是为指定的另一个类,可以把这个类放入另一个类的内部。 就是把类定义在类的内部的情况就可以形成内部类的形式。 A类中又定义了B类,B类就是内部类,B类可以当做A类的一个成员看待: 2 特点 1) 内部类可以直接访问外…

java 内部类怎么调用成员变量_JAVA内部类之成员内部类

JAVA有一个特殊的类形式——内部类(这个词有点为难普通话不好的南方朋友)。今天我们就来聊聊内部类的一种:成员内部类。 如何定义成员内部类 那要如何定义成员内部类呢。 既然叫成员内部类,说明和成员变量是有类似的地方。从代码的层次结构上来看他是和成…

Java内部类(匿名内部类)

Java内部类(匿名内部类) 一、内部类二、静态内部类三、成员内部类四、局部内部类(了解即可)五、匿名内部类(重要) 一、内部类 1、概述 内部类就是一个定义在一个类里面的类,里面的类可以理解为…

Java 内部类的四种实现方式

Java 内部类的四种实现方式 前言 今天的话我将为大家介绍Java的四种内部类,他们分别是普通内部类,静态内部类,局部内部类,匿名内部类。 提示:以下是本篇文章正文内容,下面案例可供参考 一、内部类是什么&…

Java内部类

Java内部类 内部类成员内部类局部内部类匿名内部类静态内部类常规面试案例内部类实例化对象重名变量的引用 内部类 是什么? 字面意思,在类的内部编写的类就叫内部类! 为了方便区分、学习、理解我们一般将内部类分为以下几种! 内部…

java内部类赋值_详解 Java 内部类

内部类在 Java 里面算是非常常见的一个功能了,在日常开发中我们肯定多多少少都用过,这里总结一下关于 Java 中内部类的相关知识点和一些使用内部类时需要注意的点。 从种类上说,内部类可以分为四类:普通内部类、静态内部类、匿名内部类、局部内部类。我们来一个个看: 普通…

java new 一个内部类_java内部类

java内部类的几种类型:成员内部类,静态内部类,方法内部类,匿名内部类。 成员内部类:成员内部类是类内部的非静态类。成员内部类不能定义静态方法和变量(final修饰的除外)。这是因为成员内部类是非静态的,类初始化的时候先初始化静态成员,如果允许成员内部类定义静态变量…

java中的内部类

java中的内部类主要分为两类四种: 第一类:定义在外部类局部位置上,分为局部内部类( 有 类名)、匿名内部类(没有类名)。 第二类:定义在外部类的成员位置上,分为成员内部类(没有static修饰)、静态内部类(使用static修饰…

java内部类最全详解

1、成员内部类 内部类与外部类的关系 a.成员内部类的创建需要依赖于外部类对象-(成员方法必须通过对象调用),在没有外部类实例之前无法创建成员内部类对象 b.内部类与外部类相对独立,不是is a 的关系(发动机-汽车&am…

Java内部类详解(含:成员内部类、局部内部类、匿名内部类、静态内部类)

内部类是什么? 字面意思,在类的内部编写的类就叫内部类!即一个类的内部又完整的嵌套了另一个类结构,被嵌套的类称为内部类(inner class),嵌套其他类的类称为外部类(outer class)。 内部类是类的第五大成员→【提示:类的五大成员…