记得把邮箱留下!!
通过编程器写入单片机,再把单片机安在小车上
下载啊,大哥
用51单片机做的小车如何实现小车走迷宫~
硬件电路我就不说了,主要说说算法.
1. 先从一种比较简单的迷宫说起,我称之为"二叉树"迷宫,即每个节点上最多连接三条支路,换句话 说,就是当你面对岔路时,你最多只有三个选择,要么左转,要么右转,要么回头.
假如,我们将左转编码为0,右转编码为1,则迷宫的从入口到出口的路径为一串二进制编码.对于最短路径,我们可以让机器人多走几次迷宫,得到一系列二进制串,位数最少的即为"局部最短路径".我们还可以通过这些二进制串,得到迷宫"局部拓扑结构",一种二叉树结构.
注意,在上面的结果上我都加有"局部"两字,这是因为机器人走迷宫的次数如果不够多,或则说少于迷宫的总路径数,我们得到结果都是不完整的,只有当机器人走迷宫的次数足够大,以致于走遍了迷宫所有的路径,这时我们才能得到完整的结果,然而这对于大多数迷宫来说都是不可实现的,也就是说,我们得到的结果都是局部的,最多是趋近于全局结果.
不知大家发现没有,上面还有一种情况我没有编码,那就是回退.这个问题处理起来比较复杂,因此不能仅仅用一位二进制码来表示,必须有专门的处理机制.
这个机制分为三个方面,
一是,每次只回退一步,即当前方无路可走时,回到上一个叉路口,选择另一条支路,程序上就是将当前二进制串减少一位,并将改变后的二进制串的最后一位取反,代表选另一条支路.
二是, 回退一步后,仍无路可走时,再回退一部,重复上述过程,直至有岔路可选.
三是,整个回退过程中,记录并保存每次回退的路径,即左右转向的二进制编码,一个回退过即既是由开始回退到开始前进的整段过程.保留这些二进制串,是因为可以通过他们反推得出迷宫的一些局部的拓扑结构
2. 熟悉上面"二叉树迷宫"后 ,对于一般迷宫通过如下方法设计
一、估计出迷宫最大的支路数,即一个叉路口最多有几条岔路,这里假设为a
二 、用a为二进制码对每一个岔路编码,例如我们可以按顺时针编码
三、 将a为二进制编码代替“二叉树迷宫 ”的一位二进制,其它步骤相仿即可。
当然,我们也可以用变长二进制码表示一次路径选择,不过这时得记录保存每次选则对应的二进制码的长度。
补充:
上面的算法,我说的都很笼统,但总体思路是明确的,即:以迷宫入口为根节点,每个叉路口为一个节点,每个岔路为一段树枝,每个树枝用一定位数的二进制码编码,以树形结构表示迷宫的拓扑结构,于是迷宫的通路可以表示为从树的根节点到某一叶节点的路径。
硬件电路上,主要有两个方面的设计:一是,前进河和回退两个状态的识别与转换;二是,岔路的识别与选择。
以上都是个人观点,思考并不周全,还望大家指正补充。
嗯!你的程序流程看了,左转、右转,后加一个延时,然后电动机停止,这样,你的小车可以转动一个角度,至于多大,你可以通过延时的时间调整,具体效果,需要测试!
#15045323593#
51单片机怎么对直流电机调速,做了个遥控小车 - ******
#西哑# 既然是技巧的话那就不提供详细的代码了,首先要看你这个小车是几轮几驱动的,首先假设你只用一个L298n驱动板的话,那么再假设只含左右两个轮,只对左右两个轮进行控制的话,那么就简单了,首先你要知道L298N驱动板怎么用,不同的...
#15045323593#
怎样通过网络让手机控制自己制作的小车(51单片机) - ******
#西哑# 51单片机+wifi模块,单片机编程+手机编程(APP),连接网络就可以了.
#15045323593#
基于51单片机的红外传感竞速智能小车程序? - ******
#西哑# 我做过一个寻一条黑线的智能小车,按照你的问题一个个给你些建议吧.1. 我个人认为寻一条黑线和寻两条黑线在原理上应该是没有差别的,都是用对管来检测黑线和小车的偏差,从而知道小车当前的位置,不过常见的都是寻一个道路中间的...
#15045323593#
我打算学完之后用51单片机做一个遥控小车,请问我该怎么学,有没有什么教程? - ******
#西哑# 都是这样,万变不离其宗,单片机就是学你的编程逻辑能力,你别小看数码管显示,要是你程序写长了,动态数码管显示就会出现闪烁现象,这就是你编程要解决的问题,一步一步慢慢学,还有IIC,18b20的单线通讯,lcd屏显示,PWM直流电机驱动,步进电机驱动等
#15045323593#
单片机做四轮小车 - ******
#西哑# 如果只是最简单的小车,那么电源+单片机+电机+电机驱动就能搞定 单片机最简单的51就行 加上普通的直流电机 然后有电机驱动模块驱动电机(比如l298模块 有能力的话自己焊也行 不行就买吧 l298模块20—30一个)轮胎之类的可以直接买车模 淘宝上搜一下就行了 电源的设计要注意下单片机的抗干扰问题 这就是最简单的了
#15045323593#
求51单片机控制智能小车的c语言程序、、、,是前轮转向,后轮驱动,黑白线传感器循迹的,谢谢了 ******
#西哑# 你给的题盲点很多啊. 小车的前后左右函数. while(1) { io口定义及初始化; 通过io读取传感器返回值; 对小车轨迹进行初步判断; 调用前后左右函数. } 我以前是这么做的
#15045323593#
51/AVR单片机最小系统板和小车电机如何连接,请将每个插口对应的插口说详细点!谢谢1 - ******
#西哑# 需要驱动电路,最常用的是L298N如图,IN1~IN4接PX_X口,IN1=1>> OUT=1;IN2=0>>OTU2=0;EN_B=1转速最快,EN_B为占空比50%的PWM时,电机力矩为50%.以此类推你可以让两个电机正反转+调速,或是四个电机调速.第二个方案是双刀继电器,一个继电器只能控制一个电机正反转,需用开关管控制电源占空比调速,继电器要用三级管驱动.
#15045323593#
做了一个51单片机的避障智能小车,但是它在行驶的时候很容易打转,请问各位前辈这是怎么弄的啊,小车是 - ******
#西哑# 你好!可能的原因有三个:1.传感器故障2.程序逻辑问题3.机械结构故障 首先分析问题出在哪个环节,单独测试每一个传感器在遇到障碍和没有障碍情况下的实时输出信号是否正常,如果没有问题再测试机械结构,给电动机正常加上电源,观察小车能否走直线,如果都没有问题,再来观察程序代码,看在障碍解除后程序有无归位直线的逻辑… 先把这些最基本的排查问题的流程走完,如果还有问题那再具体分析!祝早日成功!
#15045323593#
at89s52单片机循迹小车程序 - ******
#西哑# 完整的程序没有了,主要是方法,能巡迹,说明硬件没有问题,现在主要是软件算法的问题,建议可以分步实现,找出各个段时检测到数据与巡迹时有什么不同,可以用示波器来看波形什么.随后软件根据不同点来编写程序,就可以实现全部功能.如果波形等没有差异,就要从检测方法入手了.程序是解决不了的.
#15045323593#
同学您好!咨询一下单片机遥控小车的问题~ - ******
#西哑# PWM的占空比可以控制电机的转速,所以如果你不需要调节速度的话可以直接接高电平,89c52是没有PWM的,想用只能通过定时器模拟,如果需要调速的话还是建议使用STC12C5A60S2等增强型51,自带PWM