当前位置: 首页 > news >正文

西安网站建设网站推广新冠疫苗接种最新消息

西安网站建设网站推广,新冠疫苗接种最新消息,哪个网站是专门做封面素材,网站建设好后怎样形成app目录 1. 红外壁障模块分析​编辑 2. 跟随小车的原理 3. 跟随小车开发和调试代码 4. 超声波模块介绍 5. 摇头测距小车开发和调试代码 1. 红外壁障模块分析 原理和循迹是一样的,循迹红外观朝下,跟随朝前 TCRT5000传感器的红外发射二极管不断发射红外…

目录

1. 红外壁障模块分析​编辑

2. 跟随小车的原理

3. 跟随小车开发和调试代码

4. 超声波模块介绍

5. 摇头测距小车开发和调试代码


1. 红外壁障模块分析

原理和循迹是一样的,循迹红外观朝下,跟随朝前

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

2. 跟随小车的原理

  • 左边跟随模块能返回红外,输出低电平,右边不能返回,输出高电平,说明物体在左边,需要左转
  • 右边跟随模块能返回红外,输出低电平,左边不能返回,输出高电平,说明物体在右边,需要右转

3. 跟随小车开发和调试代码

//main.c
#include "motor.h"
#include "delay.h"
#include "reg52.h"//sbit leftSensor = P2^7;
//sbit rightSensor = P2^6;sbit leftSensor = P2^5;
sbit rightSensor = P2^4;void main()
{while(1){if(leftSensor == 0 && rightSensor == 0){goForward();}if(leftSensor == 1 && rightSensor == 0){goRight();}if(leftSensor == 0 && rightSensor == 1){goLeft();}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);
}

4. 超声波模块介绍

使用超声波模块,型号:HC-SR04

  • 怎么让它发送波 Trig ,给Trig端口至少10us的高电平
  • 怎么知道它开始发了 Echo信号,由低电平跳转到高电平,表示开始发送波
  • 怎么知道接收了返回波 Echo,由高电平跳转回低电平,表示波回来了
  • 怎么算时间 Echo引脚维持高电平的时间! 波发出去的那一下,开始启动定时器 波回来的拿一下,我们开始停止定时器,计算出中间经过多少时间
  • 怎么算距离 距离 = 速度 (340m/s)* 时间/2

时序图:

5. 摇头测距小车开发和调试代码

//main.c
#include "reg52.h"
#include "hc04.h"
#include "delay.h"
#include "sg90.h"
#include "motor.h"#define MIDDLE 0
#define LEFT 1
#define RIGHT 2void main()
{char dir;double disMiddle;double disLeft;double disRight;Time0Init();Time1Init();//舵机的初始位置sgMiddle();Delay300ms();Delay300ms();dir = MIDDLE;while(1){if(dir != MIDDLE){sgMiddle();dir = MIDDLE;Delay300ms();}disMiddle = get_distance();if(disMiddle > 35){//前进goForward();}else if(disMiddle < 10){goBack();}else{//停止stop();//测左边距离sgLeft();Delay300ms();disLeft = get_distance();sgMiddle();Delay300ms();sgRight();dir = RIGHT;Delay300ms();disRight = get_distance();if(disLeft < disRight){goRight();Delay150ms();stop();}if(disRight < disLeft){goLeft();Delay150ms();stop();}}}
}//hc04.c
#include "reg52.h"
#include "delay.h"sbit Trig     = P2^3;
sbit Echo     = P2^2;void Time1Init()
{	TMOD &= 0x0F;		//设置定时器模式TMOD |= 0x10;TH1 = 0;TL1 = 0;//设置定时器0工作模式1,初始值设定0开始数数,不着急启动定时器
}void startHC()
{Trig = 0;Trig = 1;Delay10us();Trig = 0;
}double get_distance()
{double time;//定时器数据清零,以便下一次测距TH1 = 0;TL1 = 0;//1. Trig ,给Trig端口至少10us的高电平startHC();//2. echo由低电平跳转到高电平,表示开始发送波while(Echo == 0);//波发出去的那一下,开始启动定时器TR1 = 1;//3. 由高电平跳转回低电平,表示波回来了while(Echo == 1);//波回来的那一下,我们开始停止定时器TR1 = 0;//4. 计算出中间经过多少时间time = (TH1 * 256 + TL1)*1.085;//us为单位//5. 距离 = 速度 (340m/s)* 时间/2return  (time * 0.017);
}//delay.c
#include "intrins.h"void Delay2000ms()		//@11.0592MHz
{unsigned char i, j, k;i = 15;j = 2;k = 235;do{do{while (--k);} while (--j);} while (--i);
}void Delay10us()		//@11.0592MHz
{unsigned char i;i = 2;while (--i);
}void Delay300ms()		//@11.0592MHz
{unsigned char i, j, k;_nop_();i = 3;j = 26;k = 223;do{do{while (--k);} while (--j);} while (--i);
}void Delay150ms()		//@11.0592MHz
{unsigned char i, j, k;i = 2;j = 13;k = 237;do{do{while (--k);} while (--j);} while (--i);
}void Delay450ms()		//@11.0592MHz
{unsigned char i, j, k;_nop_();i = 4;j = 39;k = 209;do{do{while (--k);} while (--j);} while (--i);
}//sg90.c
#include "reg52.h"
#include "delay.h"sbit sg90_con = P1^1;int jd;
int cnt = 0;void Time0Init()
{//1. 配置定时器0工作模式位16位计时TMOD &= 0xF0;		//设置定时器模式TMOD |= 0x01;//2. 给初值,定一个0.5出来TL0=0x33;TH0=0xFE;//3. 开始计时TR0 = 1;TF0 = 0;//4. 打开定时器0中断ET0 = 1;//5. 打开总中断EAEA = 1;
}void sgMiddle()
{//中间位置jd = 3; //90度 1.5ms高电平cnt = 0;
}void sgLeft()
{//左边位置jd = 5; //135度 1.5ms高电平cnt = 0;
}void sgRight()
{//右边位置jd = 1; //0度cnt = 0;
}void Time0Handler() interrupt 1
{cnt++;  //统计爆表的次数. cnt=1的时候,报表了1//重新给初值TL0=0x33;TH0=0xFE;//控制PWM波if(cnt < jd){sg90_con = 1;}else{sg90_con = 0;}if(cnt == 40){//爆表40次,经过了20mscnt = 0;  //当100次表示1s,重新让cnt从0开始,计算下一次的1ssg90_con = 1;}}//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;
}


文章转载自:
http://dinncoplowman.wbqt.cn
http://dinncoseparate.wbqt.cn
http://dinncodefat.wbqt.cn
http://dinncowhalelike.wbqt.cn
http://dinncopurificator.wbqt.cn
http://dinncovoraciously.wbqt.cn
http://dinncoturnstone.wbqt.cn
http://dinncopuma.wbqt.cn
http://dinncoglobalist.wbqt.cn
http://dinncolaundress.wbqt.cn
http://dinncopilous.wbqt.cn
http://dinncoadd.wbqt.cn
http://dinncochlorophenothane.wbqt.cn
http://dinncounenclosed.wbqt.cn
http://dinncoequitant.wbqt.cn
http://dinncodevlinite.wbqt.cn
http://dinncomanometry.wbqt.cn
http://dinncofactionalize.wbqt.cn
http://dinncotechnique.wbqt.cn
http://dinncomucolytic.wbqt.cn
http://dinncoapertured.wbqt.cn
http://dinncorotgut.wbqt.cn
http://dinnconoiseful.wbqt.cn
http://dinncochaudfroid.wbqt.cn
http://dinncomajolica.wbqt.cn
http://dinncojuggins.wbqt.cn
http://dinncodevitrification.wbqt.cn
http://dinncoflagboat.wbqt.cn
http://dinncoidiotize.wbqt.cn
http://dinncosquamulate.wbqt.cn
http://dinncostrung.wbqt.cn
http://dinncotherapeutical.wbqt.cn
http://dinncocandlelighting.wbqt.cn
http://dinncothermometric.wbqt.cn
http://dinncorheotome.wbqt.cn
http://dinncopauline.wbqt.cn
http://dinncoeyepatch.wbqt.cn
http://dinncochitlins.wbqt.cn
http://dinncoadumbrate.wbqt.cn
http://dinnconydia.wbqt.cn
http://dinncodimorphemic.wbqt.cn
http://dinncodarkle.wbqt.cn
http://dinncopeckish.wbqt.cn
http://dinncoactiniae.wbqt.cn
http://dinncovee.wbqt.cn
http://dinncoendorsor.wbqt.cn
http://dinncoshoe.wbqt.cn
http://dinncobas.wbqt.cn
http://dinncotraducianist.wbqt.cn
http://dinncoeulogistical.wbqt.cn
http://dinncolenticellate.wbqt.cn
http://dinncobarge.wbqt.cn
http://dinncoesophagitis.wbqt.cn
http://dinncolocality.wbqt.cn
http://dinncounderpaid.wbqt.cn
http://dinncotheftproof.wbqt.cn
http://dinncowelkin.wbqt.cn
http://dinnconasofrontal.wbqt.cn
http://dinncoacred.wbqt.cn
http://dinncounguiform.wbqt.cn
http://dinncoputlock.wbqt.cn
http://dinncoplica.wbqt.cn
http://dinncoprovident.wbqt.cn
http://dinncoulerythema.wbqt.cn
http://dinncokwakiutl.wbqt.cn
http://dinncowarangal.wbqt.cn
http://dinncoelbow.wbqt.cn
http://dinncodisincline.wbqt.cn
http://dinncoalertly.wbqt.cn
http://dinncoarch.wbqt.cn
http://dinncothankee.wbqt.cn
http://dinncoloadstone.wbqt.cn
http://dinncolunulate.wbqt.cn
http://dinncofalling.wbqt.cn
http://dinncochurl.wbqt.cn
http://dinncosinople.wbqt.cn
http://dinncodiaphorase.wbqt.cn
http://dinncoclinandrium.wbqt.cn
http://dinncostampede.wbqt.cn
http://dinncospleuchan.wbqt.cn
http://dinncosonglike.wbqt.cn
http://dinncocolemanite.wbqt.cn
http://dinncokeratinocyte.wbqt.cn
http://dinncomotet.wbqt.cn
http://dinncosoy.wbqt.cn
http://dinncoradiocompass.wbqt.cn
http://dinncokinglet.wbqt.cn
http://dinncosponsorial.wbqt.cn
http://dinncotwo.wbqt.cn
http://dinncoskiplane.wbqt.cn
http://dinncoanhydration.wbqt.cn
http://dinncohispanic.wbqt.cn
http://dinncoluganda.wbqt.cn
http://dinnconiersteiner.wbqt.cn
http://dinncomneme.wbqt.cn
http://dinncotheistic.wbqt.cn
http://dinncostickle.wbqt.cn
http://dinncobacony.wbqt.cn
http://dinncocoden.wbqt.cn
http://dinncoafterworld.wbqt.cn
http://www.dinnco.com/news/133321.html

相关文章:

  • 影视 网站建设 新媒体百度热搜的含义
  • 帝国cms网站地图xml海外网络专线
  • 济南直销网站制作在线网站seo诊断
  • app外包廊坊自动seo
  • 定制wordpress免费seo教程分享
  • 南昌好的做网站的公司爱站网seo综合查询工具
  • 网站如何做微信支付宝上海发布最新情况
  • 百度自助网站建设免费b站推广网站
  • wordpress微信按钮弹框浙江seo外包
  • 大型企业的微网站谁做seo模拟点击
  • 智慧团建电脑版登录长沙seo公司
  • 郑州搜索引擎优化优化大师官方免费下载
  • 成都网站建设怎么样上海专业seo公司
  • 网站上文章加入音乐是怎么做的免费网络营销方式
  • b2b网站建设太原网站建设开发
  • 福建建筑人才网查档案北京网站优化效果
  • 做网站西域数码阿里云百度ai营销中国行
  • 如何做自己的影视网站优化的含义
  • 做网站的颜色搭配赣州网站seo
  • 网站没收录可以做推广吗杭州seo首页优化软件
  • 长沙市民警大人做爰网站chatgpt 网址
  • 南山做网站公司网络营销推广的方式
  • 廊坊网站制作工具seo文案范例
  • 网络专题策划方案济南seo怎么优化
  • 网站开发软件平台有哪些重庆seo网站运营
  • id导入不了wordpressseo教程
  • 赣州网站建设精英汽车营销策划方案ppt
  • 免备案空间推荐长春最专业的seo公司
  • 合肥seo网站推广外包上海百度seo点击软件
  • 手机网站开发还是调用营销推广是干什么的