广茂达机器人VCJ1.5仿真版中,怎么编写程序,能让机器人完成灰度检测

广茂达机器人VCJ1.5仿真版中,怎么编写程序,能让机器人完成灰度检测,第1张

你是用流程图还是用代码编写!

如果要用灰度检测。你必须先用灰度检测传感器分别测量地面和禁区的灰度值。

然后定义检测到灰度后要让机器人做什么动作

下面是代码编写的灰度检测程序

void main(void)

{

HuiDu=analogport(5)

这里只需要定义灰度检测的用哪个模拟口就可以用了

下面就是检测到有禁区后机器人的动作,你自己可以编写程序来让它如何动作

if(HuiDu>=200)

{

QuickStop()

RunBackward(40) /* 退后 cm*/

wait(0.2)

RunRight90()

RunForward(50)/*右转90度 直行20cm*/

wait(0.9)

stop()

}

}

灰度传感器有三条线,VCC,GND,和信号线,他信号线输出的是模拟电压,普通的51只能通过电压比较器LM339来辨别两种不同的颜色,但是如果用增强的51就可以用他自带的AD来测。

只需要吧信号线接到增强的51的有AD功能的端口,启动AD来读他的电压就能辨别不同的颜色了。

有各种传感器它们的连接方法不同的,有的信号输出大可以直接连单片机,如LM35可以直接连到单片机的AD转换口。

有的信号小要进行放大后才能到单片机的AD转换口。如果到单片机没有AD转换口,那么还要经过AD转换才能到单片机。当然传感器自己也有各种连接电路。

扩展资料:

AM2301电容式温湿度传感器+MQ2气体传感器+GP2Y1010AU0F灰尘传感器+HC-SR501人体红外感应模块+光敏电阻传感器模块。

其中人体红外感应模块(开关量)输出端可以直接连接到开发板任何IO端。

其他都是模拟量,如果输出不是数字量,要经过AD转换,不能直接连到单片机开发板上。

参考资料来源:百度百科 ——单片机

参考资料来源:百度百科——传感器(检测装置)

不知道你用的传感器是模拟的,还是数字的,如果是模拟的,需要传感器的电压输出端接到单片机的模数转换口,然后模数转换后,通过单片机判断转换后的值来确定是否偏离路线。如果是数字的,则需要通过SPI或I2C与单片机相连,得看你的传感器支持哪一种输出。还有就是你的单片机是51类的还是AVR的,51的话还得用两个IO口来做I2C自己写I2C协议。AVR的话直接连到I2C接口参照相应的程序来写就行了。

希望对你有所帮助。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11105062.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-13
下一篇2023-05-13

发表评论

登录后才能评论

评论列表(0条)

    保存