基于STC89C52的智能小车——红外避障篇

欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;增加了 图片
摘要由CSDN通过智能技术生成

做这个小车真是历尽波折
因为我的零件是散买的,所以在组装时出了各种幺蛾子
先是装马达的时候发现螺丝买短了,之后又是单片机最小单元装不到小车底板上…
千辛万苦把小车组装好了,终于可以开心(并不)的写程序了

关于小车的程序
开始的时候本来是准备设计成在传感器触发时转向,在感应器感应消失后再加一个延时使小车转到与障碍物平行的方向,但运行时发现感应器的感应范围太小,导致小车在避障程序触发时与障碍物靠得太近,无法转向。后来决定将转向的时间设为定值,并加了后退的程序,然而测试时发现因为电池电压太低,电机在运转方向改变以及在停止后再启动时时不时会卡住,导致测试根本没法继续。由于新买的3.7v电池下周才能到,赶不上这周的作业,因此我就先把目前写完的代码发出来了。

main

# include <REGX52.H>
#include "direction.h"
#define u8 unsigned char
#define u16  unsigned int
sbit BZL=P2^0 ;
sbit BZR=P2^1 ;
void main()
{
   
	while(1)
	{
   
 		forward(0); 
		if(BZR==0)  //由于我把右避障接在了单片机最小单元三个供电口的最前
		{
                //面,在障碍物宽带度足以触发两个避障时会先触发右避
			back(700);
  • 4
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值