智能寻迹小车java代码 智能寻迹小车课程设计

怎么编写51单片机C程序让智能循迹小车,无论是否遇到障碍物都朝着目标走啊?跪求大神解答。。

基于51单片机运用两个单片机控制小车前进,一个控制转向,一个控制后轮前进,两个单片机没有联系各自工作。21ic电子技术网站上有很多源码,可以找找看!

创新互联一直通过网站建设和网站营销帮助企业获得更多客户资源。 以"深度挖掘,量身打造,注重实效"的一站式服务,以网站设计制作、成都网站建设、移动互联产品、营销型网站建设服务为核心业务。10年网站制作的经验,使用新网站建设技术,全新开发出的标准网站,不但价格便宜而且实用、灵活,特别适合中小公司网站制作。网站管理系统简单易用,维护方便,您可以完全操作网站资料,是中小公司快速网站建设的选择。

51单片机智能两路循迹小车程序,检测到黑线直走,检测不到黑线就左转或右转都可以,需要程序代码麻烦了?

别想那么复杂。

首先,你把检测黑线的传感器就当一普通开关。因为,当照射在黑线上时,光线反射能力弱,输出低电平。照在黑线外,则输出高电平。只有高低两种电平,所以,你只需要把它当一个普通开关看待。

然后,既然是普通开关,写代码时只需要位声明以及设置gpio为双向或强拉模式,51单片机都不用设置gpio。

最后,程序里,检测到高电平然后io口电平取反就行。

求最简单的51单片机智能循迹小车原理图以及程序以及制作过程,不胜感激!!

简单的写的话不会区别偏离黑线距离远近的,复杂点儿的话会分区编程,简单版如下:

void turn_left()

{

P1.0 = 0; //左前轮

P1.1 = 1; //右前轮

P1.2 = 0; //左后轮

P1.3 = 1; //右后轮

}

... ...

unsigned char judge()

{

switch(P2 0x??)

case 0x??:

{

break;

}

... ...

return 某变量(用于选择拐弯方向程序)

}

转弯比较简单,就是一个轮转,另一个不转达到转弯目的,你也可以用速度高低来控制,自己DIY就行。

大神,请问51单片机控制的智能小车识别铁片后进入外部中断,停车2秒,然后继续前进。程序该怎么写?

你在中断里面把flag=1;进入主函数后flag一直保持1,而你中断的判断条件是if(flag==0P32==0),它就进不了中断了。你要想这么写的话可以改成这样看看:

void INT_0() interrupt 0

{

flag==0;

if(flag==0)

{

P2=0x00; //小车停车

delayms(2000); //延时两秒

flag=1;

}

}

或者干脆把if判断去了得了,(仅代表自己看法,我也不怎么懂啊)。自己多调试调试,肯定能做好的。

这一段C51程序是什么意思,请行家解释一下

1、这不是一个完整的C程序,仅仅是一个延时函数,标准的C程序必须包括main函数。

2、t是函数的参数,在调用的时候,将t值传入,这个值就相当于你说的初值了。

3、3个while可以看出,这是3层循环,所以总的循环次数是j*I*t,即乘数关系。因为只使用1层或2层循环的话,循环次数受char类型的限制,所以,必须使用3层循环。

4、这个函数的作用应当是控制小车的速度。

用labview编程智能循迹小车的程序思路

胶带的宽度一定的话:

四个传感器一字排列的情况最简单:

按1234号传感器命名,照在胶带上状态位为A,否则为a.

直线正常行走时,23号持续为A,14号持续为a.

分析开始右转的逻辑:

2号变a,继续直线行走,直到4号变A,根据24号间的距离和小车在这段时间内行驶的距离计算出转动角度(这就是动态平面几何问题了,自己画图解一下,注意转弯时候前后中心点的轨迹,胶带宽度是关键,得到的角度不会也不必太精确。这里我只讨论逻辑),然后以比计算结果稍大(目的是确保能让2恢复状态A)的转动角度开始转弯,等到2和3都恢复状态A,小车变回直线行走,等到2号重新变a,小车再恢复到原先的转动角度……后面一直循环就行了

直线上如果车子前进方向倾斜,和转弯一样,下面以车子向右倾斜为例分析:

会出现3号变a的情况,继续保持直线行走,直到1号变A,计算出小车在这个过程中行进距离,结合胶带宽度,1和3号间的距离,就可以算出偏离的角度然后决定转动角度。后面具体调整和过弯道一样。

然后我来吐槽为什么要用labview,你是想着拿着笔记本进行无线操控么 - -,嵌入式的labview编程现在还不成熟好吧~


分享标题:智能寻迹小车java代码 智能寻迹小车课程设计
URL标题:http://scyanting.com/article/doscegp.html