文档库 最新最全的文档下载
当前位置:文档库 › Arduino智能避障小车避障程序

Arduino智能避障小车避障程序

Arduino智能避障小车避障程序
Arduino智能避障小车避障程序

首先建立一个名为modulecar.ino的主程序。

// modulecar.ino,玩转智能小车主程序

#include //导入舵机库

#include //导入NwePing库

// 对照系统配线方案依次指定各I/O

const int ENA = 3 ; //左电机PWM

const int IN1 = 4 ; //左电机正

const int IN2 = 5 ; //左电机负

const int ENB = 6 ; //右电机PWM

const int IN3 = 7 ; //右电机正

const int IN4 = 8 ; //右电机负

const int trigger = 9 ; //定义超声波传感器发射脚为D9

const int echo = 10 ; //定义传感器接收脚为D10

const int max_read = 300; //设定传感器最大探测距离。

int no_good = 35; //*设定35cm警戒距离。

int read_ahead; //实际距离读数。

Servo sensorStation; //设定传感器平台。

NewPing sensor(trigger, echo, max_read); //设定传感器引脚和最大读数//系统初始化

void setup()

{

Serial.begin(9600); //启用串行监视器可以给调试带来极大便利sensorStation.attach(11); //把D11分配给舵机

pinMode(ENA, OUTPUT); //依次设定各I/O属性

pinMode(IN1, OUTPUT);

pinMode(IN2, OUTPUT);

pinMode(ENB, OUTPUT);

pinMode(IN3, OUTPUT);

pinMode(IN4, OUTPUT);

pinMode(trigger, OUTPUT);

pinMode(echo, INPUT);

sensorStation.write(90); //舵机复位至90°

delay(6000); //上电等待6s后进入主循环

}

//主程序

void loop()

{

read_ahead = readDistance(); //调用readDistance()函数读出前方距离Serial.println("AHEAD:");

Serial.println(read_ahead); //串行监视器显示机器人前方距离

if (read_ahead < no_good) //如果前方距离小于警戒值

{

fastStop(); //就令机器人紧急刹车

waTch(); //然后左右查看,分析得出最佳路线

goForward(); //*此处调用看似多余,但可以确保机器人高速运转下动作的连贯性

}

else goForward(); //否则就一直向前行驶

}

主程序用到了两个库,Servo库是IDE自带的,NwePing库是第三方库,需要下载安装。

接下来建立一个名为move.ino的标签。

//move.ino,机动模块。

//刹车

void fastStop()

{

Serial.println("STOP"); //串行监视器显示机器人状态为STOP(停止)

//左电机急停(注:L298N和L293D均带有刹车功能,在使能成立的条件下,同时向两相写入高电平可令电机急停,详见芯片手册)

digitalWrite(ENA, HIGH);

digitalWrite(IN1, HIGH);

digitalWrite(IN2, HIGH);

//右电机急停

digitalWrite(ENB, HIGH);

digitalWrite(IN3, HIGH);

digitalWrite(IN4, HIGH);

}

//前进

void goForward()

{

Serial.println("FORWARD"); //串行监视器显示机器人状态为FORW ARD(前进)

//左电机逆时针旋转

analogWrite(ENA,106); //左电机PWM,可微调这个数值使小车左右两侧车轮转速相等,右电机同理

digitalWrite(IN1, LOW);

digitalWrite(IN2, HIGH);

//右电机顺时针旋转

analogWrite(ENB,118);

digitalWrite(IN3, HIGH);

digitalWrite(IN4, LOW);

}

//原地左转

void turnLeft()

{

Serial.println("LEFT"); //串行监视器显示机器人状态为LEFT(向左转)

//左电机正转

analogWrite(ENA,106);

digitalWrite(IN1, HIGH);

digitalWrite(IN2, LOW);

//右电机正转

analogWrite(ENB,59); //*微调这个数值,使转弯时内侧车轮起主导作用。相当于让小车向后打一把轮再拐弯。右转同理

digitalWrite(IN3, HIGH);

digitalWrite(IN4, LOW);

delay (205); //*延迟,数值以毫秒为单位,调节此值可使机器人动作连贯

}

//原地右转

void turnRight()

{

Serial.println("RIGHT"); //串行监视器显示机器人状态为RIGHT(向右转)

//左电机反转

analogWrite(ENA,53);

digitalWrite(IN1, LOW);

digitalWrite(IN2, HIGH);

//右电机反转

analogWrite(ENB,118);

digitalWrite(IN3, LOW);

digitalWrite(IN4, HIGH);

delay (205); //*调节此值可使机器人动作连贯

}

//原地掉头(暂时用不到)

void turnAround()

{

Serial.println("TURN 180"); //串行监视器显示机器人状态为TURN 180(原地顺时针旋转180°)

//左电机反转

analogWrite(ENA,106);

digitalWrite(IN1, LOW);

digitalWrite(IN2, HIGH);

//右电机反转

analogWrite(ENB,118);

digitalWrite(IN3, LOW);

digitalWrite(IN4, HIGH);

delay (500); //*

}

// ping.ino,测距模块

int readDistance()

{

delay(30); //声波发送间隔30ms,大约每秒探测33次。受系统所限,此值不可小于29ms

int cm = sensor.ping() / US_ROUNDTRIP_CM; //把Ping值(μs)转换为cm

return(cm); //readDistance()返回的数值是cm

}

最后是驱动云台扫描并分析左右两侧距离的watch.ino模块。

// watch.ino,查看模块

void waTch()

{

//测量右前方距离。

//*注意舵机旋转方向,SG5010为逆时针旋转

sensorStation.write(20); //*舵机右转至20°。调节此值会影响传感器扫描区域,夹角越小,机器人转弯越谨慎

delay(1200); //延迟1.2s待舵机稳定

int read_right = readDistance(); //调用readDistance()函数读出右前方距离

Serial.print("RIGHT:");

Serial.println(read_right);

//sensorStation.write(90); //*舵机复位至90度。廉价舵机大角度旋转会产生抖动,要加上这两行以求读数准确。

//delay (500); //延迟0.5s

//测量左前方距离

sensorStation.write(160); //舵机左转至160°

delay(1200); // 延迟1.2s待舵机稳定。

int read_left = readDistance(); //调用函数读出距离左前方距离。

Serial.print("LEFT:");

Serial.println(read_left);

sensorStation.write(90); //这一行确保只要小车处于行驶状态,传感器就面向正前方

delay (500); //延迟0.5s。

// 分析得出最佳行进路线。

if (read_right > read_left) //如果右前方距离比较大

{

turnRight(); //就向右转,

}

else turnLeft(); //否则就向左转

//此处也可以加入另一层逻辑:如果左右两侧读数相等就调用turnAround()原地掉头。但实际上触发的几率不大。

}

// I2C液晶测试程序,Arduino版本1.5.6-r2,LiquidCrystal_I2C库版本2.0

#include

#include "LiquidCrystal_I2C.h" //导入I2C液晶库

LiquidCrystal_I2C lcd(0x27,16,2); //设定I2C地址及液晶屏参数

void setup()

{

lcd.init(); // 始化液晶屏

lcd.backlight();

lcd.print("Hello, world!"); //开始打印信息

lcd.setCursor(3,1); //设定显示位置,第3列,第1行

lcd.print("ZANG.HAIBO");

}

void loop()

{

}

//前进

void goForward()

{

Serial.println("FORWARD"); //串行监视器显示机器人状态为FORW ARD(前进)

//左电机逆时针旋转

int val1 = analogRead(A0); //手动调整左电机转速。电位器两端分别接至+5V和GND,中心抽头接至A0

int leftSpeed = map(val1,0,1023,0,255); //把读数映射为PWM

analogWrite(ENA,leftSpeed); //写入速度。下面的右电机同理

digitalWrite(IN1, LOW);

digitalWrite(IN2, HIGH);

// 右电机顺时针旋转

int val2 = analogRead(A1);

int rightSpeed = map(val2,0,1023,0,255);

analogWrite(ENB,rightSpeed);

digitalWrite(IN3, HIGH);

digitalWrite(IN4, LOW);

}

// ping.ino,红外测距模块

// trigger脚沿用D9,echo脚换成A3

int readDistance()

{

digitalWrite(trigger,HIGH); //点亮红外发射管

delayMicroseconds(200); //给接收管留出200μs响应时间

IRvalue=analogRead(echo); //读取自然光和红外线下反射值的总和

digitalWrite(trigger,LOW); //关闭红外发射管以读取自然光下的反射值

delayMicroseconds(200); //留出200μs响应时间

IRvalue=IRvalue-analogRead(echo); //刨除自然光得出实际值(红外发射管产生的部分)

return map(IRvalue,120,930,30,0); //用map()函数把读数转换为距离

}

代码1:HC-SR04超声波传感器典型代码

digitalWrite(TrigPin, LOW);

delayMicroseconds(2);

digitalWrite(TrigPin, HIGH);//发送10μs的高电平触发信号

delayMicroseconds(10);

digitalWrite(TrigPin, LOW);

distance = pulseIn(EchoPin, HIGH)*340/60/2; // 检测脉冲宽度即为超声波往返时间

代码2:简易超声波测距代码

const int TrigPin = 2;

const int EchoPin = 3; //设定SR04连接的Arduino引脚

float distance;

void setup() {

// 初始化串口通信及连接SR04的引脚

Serial.begin(9600);

pinMode(TrigPin, OUTPUT);

// 要检测引脚上输入的脉冲宽度,需要先设置为输入状态

pinMode(EchoPin, INPUT);

Serial.println("Ultrasonic sensor:");

}

void loop() {

//产生一个10μs的高脉冲去触发TrigPin

digitalWrite(TrigPin, LOW);

delayMicroseconds(2);

digitalWrite(TrigPin, HIGH);

delayMicroseconds(10);

digitalWrite(TrigPin, LOW);

// 检测脉冲宽度,并计算出距离

distance = pulseIn(EchoPin, HIGH) /58.00;

Serial.print(distance);

Serial.print("cm");

Serial.println();

delay(1000);

}

代码3:具有温度补偿的超声波测距代码

#include

#include

//设定SR04连接的Arduino引脚

const int TrigPin = 2;

const int EchoPin = 3;

float distance;

float temperature_value;

#define ONE_WIRE_BUS 4

OneWire oneWire(ONE_WIRE_BUS);

DallasTemperature sensors(&oneWire);

void setup() { //初始化串口通信及连接SR04的引脚

Serial.begin(9600);

pinMode(TrigPin, OUTPUT);

//要检测引脚上输入的脉冲宽度,需要先设置为输入状态

pinMode(EchoPin, INPUT);

sensors.begin();

}

void loop() {

//产生一个10μs的高脉冲去触发TrigPin

sensors.requestTemperatures();

temperature_value = sensors.getTempCByIndex(0);

Serial.print("temperature = ");

Serial.print(temperature_value);

Serial.print("C ");

digitalWrite(TrigPin, LOW);

delayMicroseconds(2);

digitalWrite(TrigPin, HIGH);

delayMicroseconds(10);

digitalWrite(TrigPin, LOW);

//检测脉冲宽度,并计算出距离

distance = pulseIn(EchoPin, HIGH) *(331.4+0.6*temperature_value)/2;

Serial.print("distance = ");

Serial.print(distance);

Serial.print("cm");

Serial.println();

delay(1000);

}

代码4:基于GP2D12的红外测距系统代码

int i;

float val;

void setup(){

Serial.begin(9600);

}

void loop(){

i=analogRead(A0);

val=2547.8/((float)i*0.49-10.41)-0.42;

Serial.println(val,2);

}

//蓝牙遥控小车

//Arduino 源程序

//定稿日期:2016-3-16

//程序功能简介:

//程序采用软件PWM方式,控制两支直流电机的运行行为,实现直行、后退、左转和右转动作。

//操作者使用Android手机的蓝牙功能发出指令,操控小车动作。

//操作者还通过蓝牙对小车的动作参数进行调试。

//使用自定义串口收发数据

//使用软件PWM,输出引脚可任意制定

//使用Atmega48芯片

//Arduio 版本1.0.5

#include

#include

#include

#include "usart.h"

unsigned int counter; //PWM计数器

unsigned char wCnt = 0; //接收字计数

unsigned int pwm_LH; //左电机高电平计数

unsigned int pwm_RH; //右电机高电平计数

unsigned char lDirect; //左电机运转方向

unsigned char rDirect; //右电机运转方向

unsigned int LP = 0;

unsigned int RP = 0;

unsigned int LD = 0;

unsigned int RD = 0;

unsigned int PWM[6]; //存放当前PWM参数的整数型数组,全局变量

unsigned char inputString[8]; // 存输入数据字符串变量

boolean stringComplete = false; // 数据串结束标志

//定时器2初始化函数

void timer2_init()

{

cli();

TCCR2B = 0x00; //

TCNT2 = 0xF6; //

TCCR2A = 0x00;

TCCR2B = 0x02; //

TIMSK2 = 0x01; //定时器2中断允许

sei();

}

//定时器2中断服务函数

//PWM波形产生器

ISR(TIMER2_OVF_vect)

{

TCNT2 = 0xF6; //

counter++;

if(counter == 0x3ff)

{

if (rDirect == 1)

bitSet(PORTD,5);

else

bitSet(PORTD,4);

if (lDirect == 1)

bitSet(PORTD,7);

else

bitSet(PORTD,6);

counter = 0;

}

if(counter == pwm_RH)

{

bitClear(PORTD,4);

bitClear(PORTD,5);

}

if(counter == pwm_LH)

{

bitClear(PORTD,6);

bitClear(PORTD,7);

}

}

//电机运行函数

void Move(unsigned int LS,unsigned charLD,unsigned int RS,unsigned char RD) {

asm("BCLR 7"); //关中断

pwm_LH = LS;

pwm_RH = RS;

lDirect = LD;

rDirect = RD;

asm("BSET 7"); //开中断

}

//获取EEPROM数据函数

//功能:从EEPROM里顺序读出六个PWM参数,存入PWM数组

void GetData()

{

unsigned char bytes[2]; //暂时存放PWM参数的字节数组,全局变量unsigned char i;

unsigned char j;

unsigned char k;

for(i = 0;i < 6;i++) //for循环,读六个参数

{

for (j = 0;j < 2;j++) //内循环,每次读两个字节

{

k = i * 2 + 1 - j; //地址计算

bytes[j] = EEPROM.read(k); //EEPROM读操作

}

PWM = word(bytes[0], bytes[1]); //将读出的两个字节合成一个PWM整数数据 }

}

//数据发送函数

//功能:将一个整数拆分成四个ASCII代码,通过蓝牙串口发出的函数。

//例如:整数784,将拆分成;' ','7','8','4'四个字符

void Number(int val)

{

inttmp; //中间变量

unsigned char i; //循环计数变量

unsigned char buf[4]; //存字符数组

tmp= val / 1000;

buf[0] = tmp + 0x30; //获得千位

val= val % 1000;

tmp= val / 100;

buf[1] = tmp + 0x30; //获得百位

val= val % 100;

tmp= val / 10;

buf[2] = tmp + 0x30; //获得十位

val= val % 10;

buf[3] = val + 0x30; //获得个位

for(i = 0;i < 4;i++)

{

if (buf == 0x30) //从高位整理,如果是0,则转换成空格。

buf = 0x20;

else

break;

}

Usart_Transmit(buf[0]); //通过蓝牙串口连续发出四个字符。

Usart_Transmit(buf[1]);

Usart_Transmit(buf[2]);

Usart_Transmit(buf[3]);

}

void setup() {

timer2_init();

Usart_Init(9600);

sei();

PORTD = 0x00;

DDRD = 0xF0;

GetData(); //初始化PWM参数

}

void loop() {

unsigned char buf[6]; //存连续字符的数组

unsigned char index = 0; //存索引值变量

unsigned char i;

unsigned char k;

unsigned int para; //存PWM数据变量

delay(500);

if(stringComplete == true) //分解手机传过来的参数

{ //格式是:#n%dddd

k= 0; //其中:n 为索引(地址);dddd 为数据

index = 0;

for (i = 0;i <= wCnt ;i++)

{

if (inputString == '%')

{

index = inputString[i-1] - 0x30; //获得索引

k = 0;

}

else

{

buf[k] = inputString - 0x30; //获得数据

k++;

}

}

para = 0;

for (i = 0;i < k-1;i++)

para = para * 10 + buf;

PWM[index] = para; //将得到的整数参数立即存入对应的PWM数组单元,修改当前运行参数

buf[1] = lowByte(para); //将整数转换成两个字节。

buf[0] = highByte(para);

index = index * 2; //计算EEPROM地址

EEPROM.write(index, buf[1]); //写入EEPROM低位在前

index++;

EEPROM.write(index, buf[0]); //高位在后

stringComplete = false;

wCnt = 0;

}

}

ISR(USART_RX_vect)

{

unsigned char command=0;

inti;

command = UDR0; //接收数据

inputString[wCnt] = command;

wCnt++;

if(command == 13) {

stringComplete = true;

wCnt--;

}

else if (command == 10)

{

stringComplete = false;

wCnt = 0;

}

switch (command) {

case '@':

GetData(); //从EEPROM中读出数据

for (i = 0;i < 6;i++)

{

Number(PWM); //通过蓝牙回传,Android手机上会有显示}

wCnt = 0;

break;

case '#': //得到手机发回的修改参数数据

break;

case 'w' : // 接收到 'w',前进

LP = PWM[0];

RP = PWM[1];

LD = 1;

RD = 1;

wCnt = 0;

break;

case 'x' : // 接收到 'x',后退

LP = PWM[0];

RP = PWM[1];

LD = 0;

RD = 0;

wCnt = 0;

break;

case 'a' : // 接收到 'a',左转

LP = PWM[2];

RP = PWM[3];

LD = 0;

RD = 1;

wCnt = 0;

break;

case 'd' : // 接收到 'd',右转

LP = PWM[4];

RP = PWM[5];

LD = 1;

RD = 0;

wCnt = 0;

break;

case 's' : // 接收到 's',停止电机 LP = 0;

RP = 0;

LD = 1;

RD = 1;

wCnt = 0;

break;

default:

LP = 0;

RP = 0;

LD = 1;

RD = 1;

}

Move(LP,LD,RP,RD);

}

基于51单片机设计智能避障小车

单片机设计智能避障小车 摘要 利用红外对管检测黑线与障碍物,并以STC89C51单片机为控制芯片控制电动小汽车的速度及转向,从而实现自动循迹避障的功能。其中小车驱动由L298N 驱动电路完成,速度由单片机输出的PWM波控制。本文首先介绍了智能车的发展前景,接着介绍了该课题设计构想,各模块电路的选择及其电路工作原理,最后对该课题的设计过程进行了总结与展望并附带各个模块的电路原理图,和本设计实物图,及完整的C语言程序。 关键词:智能小车;51单片机;L298N;红外避障;寻迹行驶 abstract Using infrared detection black and obstacles to the line and STC89C51 microcontroller as the control chip to control the speed of the electric car and steering, so as to realize the function of automatic tracking and obstacle avoidance. Which the car driven by the L298N driver circuit is completed, the speed of the microcontroller output PWM wave control. This article first introduces the development of the intelligent car prospect, then introduces the design idea, the subject selection of each module circuit and working principle of the circuit, the design process of the subject is summarized and prospect with each module circuit principle diagram, and the real figure design, and complete C language program. Key words: smart car; 51 MCU; L298N; infrared obstacle avoidance; track driving

智能超声波避障小车地设计与制作

江阴职业技术学院项目设计报告 项目:超声波避障小车的设计与制作 专业 学生姓名 班级 学号 指导教师 完成日期

摘要 智能小车是一种能够通过编程手段完成特定任务的小型化机器人,它具有制作成本低廉,电路结构简单,程序调试方便等优点。由于具有很强的趣味性,智能小车深受广大机器人爱好者以及高校学生的喜爱。 本论文介绍的是具有自动避障功能的智能小车的设计与制作(以下简称智能小车),论文对智能小车的方案选择,设计思路,以及软硬件的功能和工作原理进行了详细的分析和论述。经实践验收测试,该智能小车的电路结构简单,调试方便,系统反映快速、灵活,设计方案正确、可行,各项指标稳定、可靠。

Abstract Smart cars can be programmed to perform a specific task means the miniaturization of robot, it has to make cost is low, circuit simple structure, convenient program test. Because of it has strong interest, intelligent robot car favored by the majority of the university students' enthusiasts and love. This paper introduces the is a automatic obstacle avoidance function of intelligent car design and production (hereinafter referred to as the smart car), the thesis to the intelligence of the car scheme selection, design idea, and the implementation of hardware and software function and working principle of a detailed analysis and discusses. After practice acceptance test, this intelligent car circuit structure is simple, convenient debug, fast, flexible system reflect, correct and feasible design scheme, each index is steady and reliable.

红外避障小车讲解

目的: 本毕业设计是红外蔽障小车的设计,通过设计使学生系统的熟悉和掌握单片机控制系统设计方面的内容体系、开发流程和程序设计,培养学生具有综合运用所学的理论知识去开拓创新及解决实际问题的能力。培养学生掌握设计题的思想和方法,树立严肃认真的工作作风、培养学生调查研究、查阅技术文献、资料、手册以及编写技术文献的能力。同时是为了掌握电路设计的方法和技巧。如何将学习到的理论知识运用到实际当中去,怎样能够活学活用,深入的了解电子元器件的使用方法,了解各种元器件的基本用途和方法,能够灵活敏捷的判断电路中出现的故障,学会独立设计电路,积累更多的设计经验,加强焊接能力和技巧,完成基本的要求。并能完美的完成这次实训。 目录 一、任务书...............................P1 二、引言..............................P2 二、要求与发挥...........................P4 三、设计摘要.............................P6 四、模块方案比较.......................P7 1.避障模块 2.驱动模块

3.控制模块 五、程序设计.........................P9 1.程序流程图 2.程序编写 六、工作原理.........................P13 七、结论............................P13 八、参考文献........................P14 九、毕业设计(论文)成绩评定表.....P15 任务: 利用单片机、红外实现避障,要求具有下述功能: 1.小车前进可以避开(前、左、右)20cm的障碍物; 2.实现下车前进时,不碰障碍物; 3.具有声音播报功能。 引言 随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器、并行和串行接口、看门狗、前置放大器、A/D转换器、D/A转换器等多种电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。这种技术促使机器人技术也有了突飞猛进的发展,目前人

智能避障小车

目录 1. 绪论 (5) 2. 方案设计与论证 (6) 2.1 主控系统 (6) 2.2寻迹模块 (7) 2.3 避障模块 (8) 2.4 机械系统 (10) 2.5 电源模块 (10) 3. 硬件设计 (12) 3.1总体设计 (12) 3.2驱动电路 (12) 3.3 PWM控制技术分析 (13) 3.4检测模块 (13) 4. 软件设计 (15) 4.1系统软件设计说明 (15) 4.2程序框图 (15) 结束语 (16) 参考文献 (17) 致谢 (18) 附录程序清单 (19)

摘要 随着机器人技术的发展, 自主移动机器人以其活性和智能性等特点, 在人们的生产、生活中的应用来越广泛。自主移动机器人通过各种传感器系统感知外界环境和自身状态, 在复杂的已知或者未知环境中自主移动并完成相应的任务。而在多种探测手段中, 超声波传感器与光电寻迹系统由于具有成本低, 安装方便, 不容易受电磁、光线、被测对象颜色、烟雾等影响, 时间信息直观等特点, 对于被测物处于黑暗、有灰尘、烟雾、电磁干扰、有毒等恶劣的环境下有一定的适应能力, 因此在移动机器人领域有着广泛的应用。 关键词:智能小车;STC89C52单片机;超声波检测模块;光电寻迹

Abstract With the development of robotics, autonomous mobile robots play an important role in our manufacture and society for its characteristics: flexible and intelligent. Autonomous mobile robots sense the outside environment and their states with a variety of sensor systems’help. They walk in the complex and known or unknown environment to complete tasks. Moreover, among the methods of detection, ultrasonic wave sensors and photoelectric components are low cost, easy to installation, not susceptible to electromagnetic, light, objects’ color s and smoke, and easy to see time information. Therefore, they can be used in the darkness, dust, smoke, electromagnetic interference, toxic and other harsh environment. In other words, the components have a wide range of applications in the area of mobile robots. Keyword: Intelligent Car, STC89C52 Microcontroller, Ultrasonic Wave Component, Photoelectric Component

智能避障小车设计--毕业设计完整版-附程序编程

毕业设计设计题目:智能避障小车设计 系别:机电工程系 班级:测控技术与仪器 姓名:XXX 指导教师: XXX

智能小车设计 摘要 随着近年来机器人的智能水平不断提高,其中机器人的感觉传感器种类越来越多,而视觉传感器成为自动行走和驾驶的重要部件。智能小车可应用于无人工厂,仓库,服务机器人等领域解决一些高危环境下的难题。同时单片机技术的迅速发展使得机器人的智能控制更加智能化,人性化。 该设计是利用光电传感器以一定的频率发射红外线来检测障碍物,然后将检测信号发送到STC89C52单片机,并以STC89C52单片机为控制芯片进而电动小汽车的速度及转向,以此实现自动避障的功能。其中小车驱动由L298N驱动电路完成,速度由单片机输出的PWM波调速控制。本设计结构简单,较容易实现,与实际相结合,现实意义很强,但具有高度的智能化、人性化,一定程度体现了智能。 关键词:智能小车; STC89C52单片机; L298N; PWM波

Design Of Smart Car Abstract Along with the robot's intelligent level rises ceaselessly, the types of robot sensory sensor are more and more, and the vision sensor have become the important part in the automatic walking and driving .Smart car can be applied to unmanned factory, warehouse, service robot and etc. to solve some high risk environment problems,At the same time,The rapid development of MCS technology makes the intelligent control of robot more intelligent ang humane. This design uses a photoelectric sensor sending a certain frequency transmitting infrared to detect obstacles, and then sends a detection signal to a STC89C52 MCS. While the car is drived by the L298N circuit, its speed is controlled by the output PWM signal from the STC89C52 MCS.This design is practical ,easy realization and simple in the structure, but highly intelligent, humane, Intelligent in some degree. Key words:Smart Car; STC89C52 MCS; L298N; PWM Signa

智能寻迹避障小车寻迹系统设计说明

第二章智能寻迹避障小车寻迹系统设计 1.任务 任务一:产生智能寻迹避障小车沿黑线转圈的控制程序; 任务二:产生智能寻迹避障小车带状态显示沿黑线转圈的控制程序; 2.要求 (1)能控制智能寻迹避障小车沿黑线实现转圈功能; (2)行走过程中小车一直压着黑线走,不得冲出黑线圆圈之外或之; (3)智能寻迹避障小车可以从小于90度的任意方向寻找到黑线圆圈; 2.1 项目描述 该项目的主要容是:在智能寻迹避障小车电机控制系统之上扩展寻迹电路,然后运用C 语言对系统进行编程,使智能寻迹避障小车实现沿黑线转圆圈的功能,并且在行走过程中小车一直压着黑线走,不得冲出黑线圆圈之外或之;当人为将小车拿开,再从小于90度的任意方向放置小车,小车应能重新找回轨道,并沿黑线继续转圈。通过该项目的学习与实践,可以让读者获得如下知识和技能: 继续掌握单片机I/O端口的应用; 掌握红外线收、发对管的工作原理与控制方法; 掌握数码管的工作原理与控制方法; 掌握单片机C语言的编程方法与技巧; 能够编写出智能寻迹避障小车沿黑线实现转圈功能的控制函数; 2.1 必备知识 2.1.1 关于红外线传感器 红外线定义:在光谱中波长自0.76至400微米的一段称为红外线,红外线是不可见光线。所有高于绝对零度(-273.15℃)的物质都可以产生红外线。现代物理学称之为热射线。医用红外线可分为两类:近红外线与远红外线。 红外线发射器:红外线发射管在LED封装行业中主要有三个常用的波段,如下850NM、875NM、940NM。根据波长的特性运用的产品也有很大的差异,850NM波长的主要用于红外线监控设备,875NM主要用于医疗设备,940NM波段的主要用于红外线控制设备。如:红外线遥控器、光电开关、光电计数设备等。 红外线对管应用:本项目中,小车的寻迹功能采用红外线收、发对管实现。具体工作过程如下:两对红外线收、发对管安装在智能寻迹避障小车底盘正前方,红外发射管一直发射信号,接收管时刻准备接收信号。两对对着地的红外管发射红外信号,信号在白色的地面上反射回接收管,通过接收管把信号送回单片机进行处理,完成相应的动作。假如在黑色的地面上,信号被地面吸收,就无信号返回,单片机检测到无信号,根据程序也会做出相应的动作。如图2.1所示为红外线收、发对管外型示意图。

毕业设计智能循迹避障小车设计

毕业设计智能循迹避障 小车设计 Standardization of sany group #QS8QHH-HHGX8Q8-GNHHJ8-HHMHGN#

单片机系统课程设计 轮式移动机器人的设计 学院:通信与电子工程学院 班级:电子131 姓名:初清晨 学号: 13 同组成员:孟庆阳张轩 指导老师:王艳春 日期:2015年12月24日

组员分工 1、组长:张轩,实物焊接,报告整理,程序设计 2、组员:孟庆阳,实物焊接,仿真测试,报告整理 3、组员:初清晨,实物焊接,报告整理,仿真测试

目录

摘要 随着计算机、微电子、信息技术的快速进步,智能化技术的开发速度越来越快,智能度越来越高,应用范围也得到了极大的扩展。智能作为现代的新发明,是以后的发展方向,它可以按照预先设定的模式在一个环境里自动的运作,不需要人为的管理,可应用于科学勘探等用途。智能电动小车就是其中的一个体现。设计者可以通过软件编程实现它的行进、循迹、停止的精确控制以及检测数据的存储、显示,无需人工干预。因此,智能电动小车具有再编程的特性,是机器人的一种。 本设计采用AT89S52单片机加电机驱动电路和红外遥控及循迹模块还有红外接收一体化传感器设计而成,采用模块化的设计方案,运用红外遥控器控制小车的前进、后退、左转、右转、启动和停止。 关键词:智能小车;STC89C52单片机;L9110;红外对管 Intelligent tracking and obstacle-avoid car 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 第一章绪论 智能小车的意义和作用 自第一台工业机器人诞生以来,机器人的发展已经遍及机械、电子、冶金、交通、宇航、国防等领域。近年来机器人的智能水平不断提高,并且迅速地改变着人们的生活方式。人们在不断探讨、改造、认识自然的过程中,制造能替代人劳动的机器一直是人类的梦想。 随着科学技术的发展,机器人的感觉传感器种类越来越多,其中视觉传感器成为自动行走和驾驶的重要部件。视觉的典型应用领域为自主式智能导航系统,对于视觉的各种技术而言图像处理技术已相当发达,而基于图像的理解技术还很落后,机器视觉需要通过大量的运算也只能识别一些结构化环境简单的目标。视觉传感器的核心器件是摄像管或CCD,目前的CCD已能做到自动聚焦。但CCD传

避障小车制作讲解

智能避障小车实验报告与总结 学院:机电工程学院 专业年级:09级电气工程及其自动化 队员姓名:

智能避障小车实验报告与总结 摘要:本设计制作的是单片机控制的自动避障小汽车,以单片机为小汽车的“大脑”,红外线探头为小汽车的“眼睛”,电机为小汽车的“双足”。“大脑”控制“眼睛”去看前方是否有障碍物,当“眼睛”看到障碍后,由大脑来控制“双足”的行动方向。从而实现小汽车的自动避障。 关键词: 单片机红外线传感器避障小车 一、设计任务与要求 小车从无障碍地区启动前进,感应前进路线上的障碍物后,根据障碍物的位置选择下一步行进方向。 二、方案设计与论证 本设计制作的是单片机控制的自动避障小汽车,以单片机为小汽车的“大脑”,红外线探头为小汽车的“眼睛”,电机为小汽车的“双足”。“大脑”控制“眼睛”去看前方是否有障碍物,当“眼睛”看到障碍后,由大脑来控制“双足”的行动方向。从而实现小汽车的自动避障。电路原理简单,结构明了。如图为整个系统的框图。 根据设计要求,我们的自动避障小车主要由六个模块构成:车体框架、主控模块、探测模块、电机驱动模块组成。各模块分述如下: 1、小车车体 在设计车体框架时,我们有两套起始方案,自己制作和直接购买车身。 方案二:自己设计制作车架自己制作小车底盘,用两个直流减速电机作为主动轮,利用两电机的转速差完成直行、左转、右转、左后转、右后转、倒车等动作。减速电机扭矩大,转速较慢,易于控制和调速,符合避障小车的要求。而且自己制作小车框架,可以根据电路板及传感器安装需求设计空间,使得车体美观紧凑。但这种方法费时费力且成本较高。 方案二:购买半成品小车底盘改装,此种方案方便简洁而且价格低廉,小车各个机械部分安装完整,只需稍加改装就可以使用。而且我们主要是目的是小车控制系统的设计,因此我们采取该方案。 2、主控板 小车的主控系统,即小车的大脑,我们采用了STC89C52单片机制作的最小系统。 3、避障模块 避障方案选择,方案一:采用超声波避障。超声波受环境影响较大,电路复杂,而且地面对超声波的反射,会影响系统对障碍物的判断。

4智能避障小车系统的设计与实现

智能避障小车系统的设计与实现 电子信息工程 200709837 王小龙 罗维薇 摘要 本设计以单片机STC89C52为控制核心,设计实现具有避障和里程显示功能的智能小车。其主要由三部分组成:液晶显示模块、避障模块和电机驱动模块。 智能避障小车分别运用直接反射式红外传感器TCRT5000和霍尔传感器3144来进行路径检测和里程计算,并将实时数据传送到液晶显示模块和单片机分别进行显示和数据处理。并用L298N电机驱动芯片控制小车的运行状态。 Abstract This design based on the single chip computer STC89C52 as control core, design a car with obstacle avoidance and mileage display function. It mainly consists of three parts: the liquid crystal display module, obstacle avoidance module and motor driver module. Intelligence obstacle avoidance car detecting external environment by direct reflex respectively infrared sensor TCRT5000 and hall sensor 3144, transfer the real-time data to LCD module and single chip microcomputer to display respectively and data processing. And use L298N motor drive chip to control the operation status of the car. 一、绪论 1.课题背景介绍 随着单片机技术的迅速发展,其控制能力越来越强大。人们利用单片机强大的控制功能设计出各种各样的系统,全国电子设计大赛几乎每次都有智能小车这方面的题目,全国各高校也都很重视该题目的研究。本设计就是在这样的背景下提出的,设计的智能小车能够通过光电开关完成避障功能,并且可以计算和显示出小车的行驶距离。 2.设计的主要内容 (1)采用STC89C52单片机作为控制小车的核心器件,用收发一体的红外传感器光电TCRT5000来检测和感应外界环境。 (2)用L298N驱动芯片控制电动小车的运行。 (3)用霍尔传感器计算小车行驶的距离并用1602液晶显示器显示。 这种方案能实现对智能小车的运动状态进行实时控制,控制灵活、可靠,可满足对系统的各项要求。 二、系统的总体设计 1.硬件总体设计 以AT89C51单片机为核心的控制电路,采用模块化的设计方案,运用红外光电传感器、霍尔传感器,实现小车在行驶中自动躲避障碍物、测量里程等问题。并将测量数据传送至单片机进行处理,然后由单片机根据所检测的各种数据实现对电动小车的智能化控制。 在本系统中,反射式红外光电传感器检测障碍物,然后将信号传送到单片机系统进行处理,使小车沿轨道自主行走;通过霍尔元件测量小车行驶里程;采用L298N芯片控制电机的转向,实现电动小车的正反向行驶、快慢速行驶及转弯;采用1602液晶显示器显示小车行驶的路程。此系统采用软件方法来解决复杂的硬件电路部分,使系统硬件简洁化,各类功能易于实现,能满足系统的要求,其原理图如图1所示。

智能循迹避障小车方案设计书

封面

作者:PanHongliang 仅供个人学习 目录 摘要………………………………………………………………………………………2 ABSTRACT………………………………………………………………………………

…2 第一章绪论 (3) 1.1智能小车的意义和作用 (3) 1.2智能小车的现状 (3) 第二章方案设计与论证 (4) 2.1 主控系统 (4) 2.2 电机驱动模块 (4) 2.3 循迹模块 (6) 2.4 避障模块 (7) 2.5 机械系统 (7) 2.6电源模块 (8) 第三章硬件设计 (8) 3.1总体设计 (8) 3.2驱动电路 (9) 3.3信号检测模块 (10) 3.4主控电路 (11) 第四章软件设计 (12) 4.1主程序模块 (12) 4.2电机驱动程序 (12) 4.3循迹模

块 (13) 4.4避障模块 (15) 第五章制作安装与调试 (18) 结束语 (18) 致谢……………………………………………………………………………………… 19 参考文献 (19) 智能循迹避障小车 摘要:利用红外对管检测黑线与障碍物,并以STC89C52单片机为控制芯片控制电动小汽车的速度及转向,从而实现自动循迹避障的功能。其中小车驱动由 L298N驱动电路完成,速度由单片机输出的PWM波控制。 关键词:智能小车;STC89C52单片机; L298N;红外对管 Intelligent tracking and obstacle-avoid car Abstract:Based infrared detection of black lines and theroad 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智能小车的意义和作用 自第一台工业机器人诞生以来,机器人的发展已经遍及机械、电子、冶金、交通、宇航、国防等领域。近年来机器人的智能水平不断提高,并且迅速地改变着人们的生活方式。人们在不断探讨、改造、认识自然的过程中,制造能替代人劳动的机器一直是人类的梦想。 随着科学技术的发展,机器人的感觉传感器种类越来越多,其中视觉传感器成为自动行走和驾驶的重要部件。视觉的典型应用领域为自主式智能导航系统,对于视觉的各种技术而言图像处理技术已相当发达,而基于图像的理解技术还很落后,机器视觉需要通过大量的运算也只能识别一些结构化环境简单的目标。视

毕业论文:智能避障小车

毕业论文:智能避障小车 摘要 避障是智能小车应具备的基本功能之一以P89C51RA芯片为核心采集前方障碍信息并对智能小车进行控制选用红外避障传感器检测智能小车前方的障碍物设计了智能小车的自动避障系统并阐述其工作原理该系统设计简单成本低实时性好在室环境中取得了预期的实验结果使智能小车无碰撞到达目的地关键词P89C51RA智能红外避障传感器 Abstract The obstacle avoidance is one of the main functions that an independently intelligent carriage should be provided Use the P89C51RA as a key component collecting the environmental information and controlling the intelligent carriage a kind of obstacle avoidance system of intelligent carriage is designed In this system infrared obstacle avoidance sensors are used to detect the barrieswhich are front of distance between the intelligent carriage and the barriers The systems design is simple and has lower cost and better real time features And at the same time this system has obtained anticipated experimental results in the indoor environment That is the intelligent carriage can arrive at the destination without any collision Keywords P89C51RA intelligent infrared obstacle avoidance sensors

Arduino智能避障小车避障程序

Arduino智能避障小车避障程序 首先建立一个名为modulecar.ino的主程序。 // modulecar.ino,玩转智能小车主程序 #include //导入舵机库 #include //导入NwePing库 // 对照系统配线方案依次指定各I/O const int ENA = 3 ; //左电机PWM const int IN1 = 4 ; //左电机正 const int IN2 = 5 ; //左电机负 const int ENB = 6 ; //右电机PWM const int IN3 = 7 ; //右电机正 const int IN4 = 8 ; //右电机负 const int trigger = 9 ; //定义超声波传感器发射脚为D9 const int echo = 10 ; //定义传感器接收脚为D10 const int max_read = 300; //设定传感器最大探测距离。 int no_good = 35; //*设定35cm警戒距离。 int read_ahead; //实际距离读数。 Servo sensorStation; //设定传感器平台。 NewPing sensor(trigger, echo, max_read); //设定传感器引脚和最大读数//系统初始化 void setup() { Serial.begin(9600); //启用串行监视器可以给调试带来极大便利 sensorStation.attach(11); //把D11分配给舵机

pinMode(ENA, OUTPUT); //依次设定各I/O属性 pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT); pinMode(ENB, OUTPUT); pinMode(IN3, OUTPUT); pinMode(IN4, OUTPUT); pinMode(trigger, OUTPUT); pinMode(echo, INPUT); sensorStation.write(90); //舵机复位至90? delay(6000); //上电等待6s后进入主循环 } //主程序 void loop() { read_ahead = readDistance(); //调用readDistance()函数读出前方距离Serial.println("AHEAD:"); Serial.println(read_ahead); //串行监视器显示机器人前方距离 if (read_ahead < no_good) //如果前方距离小于警戒值 { fastStop(); //就令机器人紧急刹车 waTch(); //然后左右查看,分析得出最佳路线 goForward(); //*此处调用看似多余,但可以确保机器人高速运转下动作的连贯性 }

红外避障小车课程设计报告

前言 --------------------------------------------------- 随着生产自动化的发展需要,机器人已经越来越广泛地应用到生产自动化上,随着科学技术的发展,机器人的传感器种类也越来越多,其中红外传感器已经成为自动行走和驾驶的重要部件。 红外的典型应用领域为自主式智能导航系统,机器人要实现自动避障功能就必须要感知障碍物,感知障碍物相当给机器人一个视觉功能。智能避障是基于红外传感系统,采用红外传感器实现前方障碍物检测,并判断障碍物远近。 由于时间和水平有限,我们暂选最基本的避障功能作为此次设计的目标。 本设计通过小车这个载体再结合由AT89S51为核心的控制板可以达到其基本功能,再辅加由漫反射式光电开关组成的避障电路、555组成的转速控制电路、电源电路、差分驱动电路就可以完善整个设计。

目录 前言------------------------------------------------------------------------------1目录------------------------------------------------------------------------------2摘要------------------------------------------------------------------------------3功能概述------------------------------------------------------------------------3硬件设计------------------------------------------------------------------------3 避障电路------------------------------------------------------------------------4单片机电路---------------------------------------------------------------------7电机转速控制电路------------------------------------------------------------7电源电路------------------------------------------------------------------------8电机驱动电路---------------------------------------------------------------9主程序设计--------------------------------------------------------------------12小结-----------------------------------------------------------------------------23参考文献-----------------------------------------------------------------------23

智能循迹避障小车_论文设计

目录 摘要 (2) ABSTRACT (2) 第一章绪论 (3) 1.1智能小车的意义和作用 (3) 1.2智能小车的现状 (3) 第二章方案设计与论证 (4) 2.1 主控系统 (4) 2.2 电机驱动模块 (4) 2.3 循迹模块 (6) 2.4 避障模块 (7) 2.5 机械系统 (7) 2.6电源模块 (8) 第三章硬件设计 (8) 3.1总体设计 (8) 3.2驱动电路 (9) 3.3信号检测模块 (10) 3.4主控电路 (11) 第四章软件设计 (12) 4.1主程序模块 (12) 4.2电机驱动程序 (12) 4.3循迹模块 (13) 4.4避障模块 (15) 第五章制作安装与调试 (18) 结束语 (18) 致谢 (19) 参考文献 (19)

智能循迹避障小车 肖维 物理与电子信息学院电子信息工程专业 2006级9班指导教师:刘汉奎 摘要:利用红外对管检测黑线与障碍物,并以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)掌握基本构型和传感器的安装方法,并能搭建出能完成一定功能的机器人,利用创意之星组件,进行避障小车的组 装,调试,利用红外传感器进行路障感应,完成避障功能。(2)会用控制器联机调试舵机工作状态,会查询各种传感器的数据。 (3)通过 NorthStar 的流程图功能,实现简单的逻辑控制(4)能通过编程实现智能小车自主躲避障碍物的功能 (5)对避障小车的避障原理有充分的理解,掌握其避障的方法,能够对实验过程中出现的问题进行解决,发现问题, 解决问题。

三、实验器材 计算机( 1 台);标准版控制器( 1 个);红外接近传感器( 2 个);红外测距传感器( 1 个);直流电源( 1 个);充电器( 1 个);数字舵机( 4 个);多功能调试器( 1 个);轮子( 4 个);螺丝刀( 1 个); KD ( 4 个); L3-1 ( 4 个); U3H ( 5 个);I7 ( 1 个);螺丝和垫片(若干) 四、实验原理 利用红外传感器,其优点是对近距离的障碍物反应速度灵敏,不同方位的传感器之间信号不会相互干扰,最终选择红外传感器作为小车的眼睛,进行避障。 由于本次实验小车轮子没有实现转弯功能,所以通过设定左右两组轮子的不同前进速度来实现转弯功能。当向右转时,左侧轮子的速度要比右侧轮子的前进速度快,反之实现左转功能,此设计需小心谨慎,防止出现轮子不同步,无法实现转弯功能。 五、实验内容 ( 1 )搭建智能小车,掌握基本构型的组装方法,主要包括舵机和轮子的连接、传感器的安装以及舵机和传感器的接线 ( 2 )通过编程控制智能小车的前进、后退、变速以及转向( 3 )将控制策略的流程图用真正的程序语言实现,并下载到

智能避障小车系统

智能避障小车系统设计 学科:新技术专题 班级:-------- 姓名:- - - 学号:17号 指导教师:---- 电气信息工程学院

一、系统设计概述 通过飞思卡尔智能车竞赛的学习和启发,本设计实现一款具有自动避障运行功能的智能小车,通过光电开关和超声波测距模块配合识别前方是否有障碍物,如果遇到障碍物则通过舵机改变行驶方向。直流电机驱动模块采用PID闭环控制,可以达到速度稳定、快速、准确的控制,使智能小车能够及时制动和恒速运行。 本设计报告针对传感器信号处理设计、电路设计、控制算法等方面进行重点阐述。 二、总体系统构想框图 本设计中智能避障小车的体系结构如上图。根据功能不同,避障小车的系统

结构大致包括传感器、控制、执行机构、人机接口和电源五大部分。 1.传感器部分 负责感知外部世界的环境信息和车模自身的状态信息,为小车完成路况判断和实现小车的运动控制提供所需的信息。传感器部分包括光电开关、超声波测距模块和编码器测速模块三个子模块。 2.控制部分 分析传感器数据,提取路况信息,运行控制算法,向执行机构发出动作信号,控制赛车朝无障碍方向行驶。控制部分主体是16位单片机MC9S12XS128。 3.执行机构 负责执行动作信号,实现车的前进、变速和转向。执行机构包括电机和舵机以及电机驱动模块。 4.人机接口 实现模式和参数选择、状态指示、实时监控以及数据存储等人机交互功能,包括拨码开关、LED 、蜂鸣器、无线等模块。 5.电源部分 负责向各部分提供合适的电源,包括电池和稳压模块 三、核心传感器模块 1、超声波测距模块 超声波模块采用目前比较常用的URM37超声波传感器 默认是232接口,可以调为TTL 接口,URM05大功率超声波 传感器测试距离能到10 米,算是目前来说测试距离比较远的一款。 功能应用:超声波测距模块通过超声波发收的时间差计算得前方 障碍物的距离,作为车体前方主要测距模块判断前方路况。 2、光电传感器 光电开关是传感器的一种,它把发射端和接收端 之间光的强光电开关弱变化转化为电流的变化以 达到探测的目的。它所使用的冷光源有红外光、 红色光、绿色光和蓝色光等,可非接触,无损 伤地迅速和控制各种固体、液体、透明体、黑体、 柔软体和烟雾等物质的状态和动作。具有体积小、 功能多、寿命长、精度高、响应速度快、检测距 离远以及抗光、电、磁干扰能力强的优点。 功能应用:由于光电开关相比没有超声波测距远,

相关文档
相关文档 最新文档