循迹小车代码教学
答:part1: 用一路led照亮地面,左中右三路红外传感看反光。根据反光3'bxxx写个mealy状态机。9种状态3‘zzz,3'b000~3'b111. 根据后8种状态的64种变化,输出前进还是后退,速度,方向等。3‘b111 -> 3'b111: 在线上, DIR=2'b00; RUN=4, 快进;3'b111 -> 3'b011: 小弯左偏, DIR=2'b1...
答:include<reg52.h> define uchar unsigned char; //char单字节整型数据或字符型数据 define uint unsigned int; //int声明基本整型数据 define PON 0 define POFF 1 define ON 1 define OFF 0 define SPEED2 100 define SPEED1 50 uchar ito=0;uchar m=0;uchar time=0;uchar PWM1=0;uc...
答:系统的单片机程序:include"reg52.h"definedet_Dist2.55// 单个脉冲对应的小车行走距离,其值为车轮周长 /4#defineRD9// 小车对角轴长度。definePI3.1415926 defineANG_9090 defineANG_90_T102 defineANG_180189/ 全局变量定义区。/sbitP10=P1^0;// 控制继电器的开闭sbitP11=P1^1;// 控制金属接...
答:unsigned char Direction=0; //小车的即时朝向 0 朝上 1 朝左 2 朝下 3 朝右unsigned sX=50; unsigned char sY=0; //小车的相对右下角的坐标 CM(sX,sY)unsigned char StartTask=0; //获得铁片后开始执行返回卸货任务,StartTask置一unsigned char Inter_EX0=0; // 完成一个完整的任务期间只能有一次外...
答:sbit ls=P2^6; //左侧传感器检测信号 sbit rs=P2^7; //右侧传感器检测信号 sbit left=P1^2; //左电机控制端 sbit right=P1^5;//右电机控制端 void init1();void init2();uchar z,tt=0;uchar scan();uchar put();void main(){ init1();while(1){ switch(scan()){ case ...
答:/*sbit bee=P3^6;蜂鸣器*/ sbit Z1=P0^0;sbit Z2=P0^1;sbit Y1=P0^2;sbit Y2=P0^3;/*电机*/ sbit L1=P1^7;sbit L2=P1^6;sbit L3=P1^5;sbit L4=P1^4;sbit L5=P1^3;sbit L6=P1^2;sbit L7=P1^1;sbit L8=P3^1;sbit L9=P3^0;sbit L10=P3^2; /*红外对管*/ /*...
答:电设小车循迹模块 转自:http://blog.sina.com.cn/s/blog_4bb018e10100ermy.html供参考://包含所需头文件 include <ioM16v.h> include <macros.h> include"time1_init.h"include"motor.h"#define ahead 1 define backwards 0 define compare(x,y) (x<y?1:0)define mid 0X17//端口...
答:简单的写的话不会区别偏离黑线距离远近的,复杂点儿的话会分区编程,简单版如下:void turn_left(){ P1.0 = 0; //左前轮 P1.1 = 1; //右前轮 P1.2 = 0; //左后轮 P1.3 = 1; //右后轮 } ... ...unsigned char judge(){ switch(P2 & 0x??)case 0x??:{ b...
答:则 语句 a = 1;即代表给P3.6端口一个高电平。语句a = 0;则是发送低电平。其他端口等同。若将这几个IO口设置为输入,则 语句 flag = a; 代表将P3.6端口的电平值读取到flag这个变量。flag = 1; 该端口为高电平。 flag = 0; 该端口为低电平。其他等同。加油!单片机非常有意思。
答:用红外探头,或者用激光头识别黑线。再根据传感器获得的数据进行分析,控制电机转动。include <msp430x14x.h> include "cry1602.h"typedef unsigned char uchar;typedef unsigned int uint;define DataDir P4DIR define DataPort P4OUT define Busy 0x80 define CtrlDir P3DIR define CLR_RS P3OUT&=~...
网友评论:
卞柿19646735124:
用Verilog控制智能循迹小车的代码怎么写
67303平泡
: part1: 用一路led照亮地面,左中右三路红外传感看反光.根据反光3'bxxx写个mealy状态机. 9种状态3'zzz,3'b000~3'b111. 根据后8种状态的64种变化,输出前进还是后退,速度,方向等. 3'b111 -> 3'b111: 在线上, DIR=2'b00; RUN=4...
卞柿19646735124:
怎么设计循迹小车? -
67303平泡
: 1、循迹小车是一种能够自己寻找轨迹并按轨迹运动的“智能”车.本文简要记录这一电子制作过程,希望大家喜欢.有什么建议和意见,欢迎大家留言. 2、根据元器件清单清点器件,看是否缺件少件.下图是元器件全家福: 3、依次焊接...
卞柿19646735124:
一段c语言代码驱动小车实现循迹,停车5秒,请问有什么问题?想了两天了.没想出来. 谢谢! -
67303平泡
: 1. 你的flag没有初始化.2. while(flag!=1){}中的代码有些问题.有几处应加上{ },给你改了一下:while(flag!=1) { if(a5==0) qianjin(); else { if(a4==0) zuozhuan(); else { if(a6==0) youzhuan(); else flag=1; } } }
卞柿19646735124:
51智能小车寻迹路线,怎么编程让小车按原路返回 -
67303平泡
: 接循迹用的光电传感器,用单片机判断,驱动电机执行.传感器越多越好. 以比较奇葩的单路传感器为例,0驱动左轮,1驱动右轮,就可以沿黑线一侧摇摆前进.这么简单的判断都可以不用单片机,呵呵.
卞柿19646735124:
用labview编程智能循迹小车的程序思路 -
67303平泡
: 胶带的宽度一定的话:四个传感器一字排列的情况最简单: 按1234号传感器命名,照在胶带上状态位为A,否则为a. 直线正常行走时,23号持续为A,14号持续为a. 分析开始右转的逻辑: 1. 2号变a,继续直线行走,直到4号变A,根据24号间的...
卞柿19646735124:
at89s52单片机循迹小车程序 -
67303平泡
: 完整的程序没有了,主要是方法,能巡迹,说明硬件没有问题,现在主要是软件算法的问题,建议可以分步实现,找出各个段时检测到数据与巡迹时有什么不同,可以用示波器来看波形什么.随后软件根据不同点来编写程序,就可以实现全部功能.如果波形等没有差异,就要从检测方法入手了.程序是解决不了的.
卞柿19646735124:
写一个三个传感器双驱动的循迹小车程序(arduino) -
67303平泡
: 楼主这活我也玩过.1、对于传感器不听话,很大可能是你的检测阈值设置得不是很好.2、一般来说你的传感器个数应该比较多,可能6~10个吧,如此多的信号不应该都进入中断,再说单片机也没那么多外部中断可给你用,建议所有信号加或门进入外部中断(可分为左边一组,右边一组,两个中断).否则在主函数(更好的是,定时器)判断,这个信号最好连接到同一个端口上,如P0端口,通过位判断当前信号值.3、L298N功率芯片,如果要调速且是直流电机,一般是对其控制使能脚施加占空比变化的信号,以达到不同的驱动效果.如果是步进电机,则控制方式有所不同,请查阅相应文献.
卞柿19646735124:
循迹避障小车C语言编程 -
67303平泡
: 利用红外传感器接收障碍物信号..用2路PWM对俩电机进行调速..实现转弯和前进. 不知道障碍物是什么样的..所以传感器你最好找个好位置装好.这个直接影响整体效果..
卞柿19646735124:
我们做51单片机寻迹小车,走直线的时候小车会左右扭,拐弯的时候有时又拐不过(速度慢时可以 )求指教! -
67303平泡
: 走直线的时候小车会左右扭,可能是因为你循迹路线的宽度与你循迹模块中传感器的宽度不是很适宜,也有可能是你的程序没处理好(如延时),拐弯的时候有时又拐不过(速度慢时可以 )说明你的程序有待修改,没见你的实物与程序,具体情况还得具体分析,我说的仅供参考!
卞柿19646735124:
怎么样用单片机stc89c58做寻迹小车? -
67303平泡
: 很好办,搭配几个光电传感器,驱动两个电机,编个程序下载到STC89C58里面就可以了