基于89C51单片机的智能小车——03.寻迹小车

寻迹模块使用

TCRT5000传感器的红外发射二极管不断发射红外线
当发射出的红外线没有被反射回来或被反射回来但强度不够大时,
红外接收管一直处于关断状态,此时模块的输出端为高电平,指示二极管一直处于熄灭状态
被检测物体出现在检测范围内时,红外线被反射回来且强度足够大,红外接收管饱和,
此时模块的输出端为低电平,指示二极管被点亮
总结就是一句话,没反射回来,D0输出高电平,灭灯
在这里插入图片描述

接线方式

VCC:接电源正极(3-5V)
GND:接电源负极
DO:TTL开关信号输出0、1
AO:模拟信号输出(不同距离输出不同的电压,此脚一般可以不接)

寻迹小车原理

由于黑色具有较强的吸收能力,当循迹模块发射的红外线照射到黑线时,红外线将会被黑线吸收,导致
循迹模块上光敏三极管处于关闭状态,此时模块上一个LED熄灭。在没有检测到黑线时,模块上两个LED
常亮
总结就是一句话,有感应到黑线,D0输出高电平 ,灭灯
在这里插入图片描述
寻迹模块安装在小车车头两侧
下方小车两个模块都能反射回来红外,输出低电平,灯亮,直走
上方小车左模块遇到黑线,红外被吸收,左模块输出高电平,右模块输出低电平,左转,反之右转

代码实现

分文件方式编程,函数声明的.h文件就不发出来啦。

//main.c
#include "motor.h"
#include "delay.h"
#include "reg52.h"
 
sbit leftSensor = P2^7;
sbit rightSensor = P2^6;
 
void main()
{
    //下方小车两个模块都能反射回来红外,输出低电平,灯亮,直走
 
    //上方小车左模块遇到黑线,红外被吸收,左模块输出高电平,右模块输出低电平,左转,反之右转
    while(1){
        if(leftSensor == 0 && rightSensor == 0){
            goForward();
        }
        if(leftSensor == 1 && rightSensor == 0){
            goLeft();
        }
         
        if(leftSensor == 0 && rightSensor == 1){
            goRight();
        }
         
        if(leftSensor == 1 && rightSensor == 1){
            //停
            stop();
        }
    }
}
//motor.c
#include "reg52.h"
 
sbit RightCon1A = P3^2;
sbit RightCon1B = P3^3;
 
sbit LeftCon1A = P3^4;
sbit LeftCon1B = P3^5;
 
void goForward()
{
    LeftCon1A = 0;
    LeftCon1B = 1;
     
    RightCon1A = 0;
    RightCon1B = 1;
}
 
void goRight()
{
    LeftCon1A = 0;
    LeftCon1B = 1;
     
    RightCon1A = 0;
    RightCon1B = 0;
}
 
 
void goLeft()
{
    LeftCon1A = 0;
    LeftCon1B = 0;
     
    RightCon1A = 0;
    RightCon1B = 1;
}
 
void goBack()
{
    LeftCon1A = 1;
    LeftCon1B = 0;
     
    RightCon1A = 1;
    RightCon1B = 0;
}
 
void stop()
{
    LeftCon1A = 0;
    LeftCon1B = 0;
     
    RightCon1A = 0;
    RightCon1B = 0;
}
//delay.c
#include "intrins.h"
 
void Delay1000ms()      //@11.0592MHz
{
    unsigned char i, j, k;
 
    _nop_();
    i = 8;
    j = 1;
    k = 243;
    do
    {
        do
        {
            while (--k);
        } while (--j);
    } while (--i);
}
  • 8
    点赞
  • 96
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
基于51单片机开发的小程序,学习资料,用于学习51单片机嵌入式开发,应用案例 基于51单片机开发的小程序,学习资料,用于学习51单片机嵌入式开发,应用案例 基于51单片机开发的小程序,学习资料,用于学习51单片机嵌入式开发,应用案例 基于51单片机开发的小程序,学习资料,用于学习51单片机嵌入式开发,应用案例基于51单片机开发的小程序,学习资料,用于学习51单片机嵌入式开发,应用案例基于51单片机开发的小程序,学习资料,用于学习51单片机嵌入式开发,应用案例基于51单片机开发的小程序,学习资料,用于学习51单片机嵌入式开发,应用案例基于51单片机开发的小程序,学习资料,用于学习51单片机嵌入式开发,应用案例基于51单片机开发的小程序,学习资料,用于学习51单片机嵌入式开发,应用案例基于51单片机开发的小程序,学习资料,用于学习51单片机嵌入式开发,应用案例基于51单片机开发的小程序,学习资料,用于学习51单片机嵌入式开发,应用案例基于51单片机开发的小程序,学习资料,用于学习51单片机嵌入式开发,应用案例基于51单片机开发的小程序,学习资料,用于学习51单片机嵌入式开发,应用案例基于51单片机开发的小程序,学习资料,用于学习51单片机嵌入式开发,应用案例基于51单片机开发的小程序,学习资料,用于学习51单片机嵌入式开发,应用案例
STC89C52单片机+L298N 智能循迹避障小车-毕业论文 摘 要:利用红外对管检测黑线与障碍物,并以STC89C52单片机为控制芯片控制电动小汽车的速度及转向,从而实现自动循迹避障的功能。其中小车驱动由L298N驱动电路完成,速度由单片机输出的PWM波控制。 关键词:智能小车;STC89C52单片机; L298N;红外对管 Intelligent tracking and obstacle-avoid car Xiao Wei School of Physics and Electronic Information,Grade 2006 Class 9 ,Instructor:Liu Hankui Abstract:Based infrared detection of black lines and the road obstacles, and use a STC89C52 MCU as the controlling core for the speed and direction, A electronic drived, which can automatic track and avoid the obstacle, was designed and fabricated. In which, the car is drived by the L298N circuit, its speed is controlled by the output PWM signal from the STC89C52. Keywords: Smart Car; STC89C52 MCU; L298N; Infrared Emitting Diode 第一章 绪论 1.1智能小车的意义和作用 自第一台工业机器人诞生以来,机器人的发展已经遍及机械、电子、冶金、交通、宇航、国防等领域。近年来机器人的智能水平不断提高,并且迅速地改变着人们的生活方式。人们在不断探讨、改造、认识自然的过程中,制造能替代人劳动的机器一直是人类的梦想。 随着科学技术的发展,机器人的感觉传感器种类越来越多,其中视觉传感器成为自动行走和驾驶的重要部件。视觉的典型应用领域为自主式智能导航系统,对于视觉的各种技术而言图像处理技术已相当发达,而基于图像的理解技术还很落后,机器视觉需要通过大量的运算也只能识别一些结构化环境简单的目标。视觉传感器的核心器件是摄像管或CCD,目前的CCD已能做到自动聚焦。但CCD传感器的价格、体积和使用方式上并不占优势,因此在不要求清晰图像只需要粗略感觉的系统中考虑使用接近觉传感器是一种实用有效的方法。 机器人要实现自动导引功能和避障功能就必须要感知导引线和障碍物,感知导引线相当给机器人一个视觉功能。避障控制系统是基于自动导引小车(AVG—auto-guide vehicle)系统,基于它的智能小车实现自动识别路线,判断并自动避开障碍,选择正确的行进路线。使用传感器感知路线和障碍并作出判断和相应的执行动作。 该智能小车可以作为机器人的典型代表。它可以分为三大组成部分:传感器检测部分、执行部分、CPU。机器人要实现自动避障功能,还可以扩展循迹等功能,感知导引线和障碍物。可以实现小车自动识别路线,选择正确的行进路线,并检测到障碍物自动躲避。基于上述要求,传感检测部分考虑到小车一般不需要感知清晰的图像,只要求粗略感知即可,所以可以舍弃昂贵的CCD传感器而考虑使用价廉物美的红外反射式传感器来充当。智能小车的执行部分,是由直流电机来充当的,主要控制小车的行进方向和速度。单片机驱动直流电机一般有两种方案:第一,勿需占用单片机资源,直接选择有PWM功能的单片机,这样可以实现精确调速;第二,可以由软件模拟PWM输出调制,需要占用单片机资源,难以精确调速,但单片机型号的选择余地较大。考虑到实际情况,本文选择第二种方案。CPU使用STC89C52单片机,配合软件编程实现。 1.2智能小车的现状 现智能小车发展很快,从智能玩具到其它各行业都有实质成果。其基本可实现循迹、避障、检测贴片、寻光入库、避崖等基本功能,这几节的电子设计大赛智能小车又在向声控系统发展。比较出名的飞思卡尔智能小车更是走在前列。我此次的设计主要实现循迹避障这两个功能。 第二章 方案设计与论证 根据要求,确定如下方案:在现有玩具电动车的基础上,加装光电检测器,实现对电动车的速度、位置、运行状况的实时测量,并将测量数据传送至单片机进行处理,然后由单片机

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

从入门到捕蛇者说

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值