27、基于51单片机红外循迹、红外避障、遥控小车系统设计(程序+原理图+元件清单+参考论文等)

目录

摘  要

一、硬件方案

二、设计功能

三、成品实物图

四、原理图    

五、PCB图  

六、程序源码

部分代码:

资料包括:


摘  要

本系统以设计题目的要求为目的,采用51单片机为控制核心,利用红外线传感器进行寻线,控制电动小汽车的自动循迹,并再通过光电开关探测障碍,从而控制电机转向,实现进行壁障功能。整个系统的电路结构简单,可靠性能高,实验测试结果满足要求。本文着重叙述了该系统的硬件设计方法、软件设计方法及测试结果分析。小车运行方案,在现有玩具电动车的基础上,加装红外线光电开关模块和红外寻线模块,实现对电动车位置、运行状况的实时测量,并将测量数据传送至单片机进行处理,然后由单片机根据所检测的各种数据实现对电动车的智能控制。

关键词:51单片机、红外线传感器、光电开关、小车

一、硬件方案

硬件构成:单片机+最小系统+L293D电机驱动模块+稳压电路+按键电路+红外避障电路+红外遥控电路+红外循迹电路

二、设计功能

本设计基于单片机型号:STC89C52/51、AT89C52/51、AT89S52/51都可通用。
1.开机默认红外遥控模式,通过遥控器上的前后左右可以调节行驶方向。
2.按下2键切换为红外避障模式,单侧遇到障碍物转动躲避,双侧均有障碍物向后旋转掉头躲避;
3.按下3键为红外循迹模式,循迹过程中如果红外避障探头检测到有障碍物,小车会停止前进。
4.遥控器左上角的红色按键可以让小车停止运行,并切换为红外遥控模式。
 

三、成品实物图


 

四、原理图    


五、PCB图  


六、程序源码


部分代码:

资料包括:

需要完整的资料可以点击下面的名片加下我,找我要资源压缩包的百度网盘下载地址及提取码。

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
循迹小车,随着电力电子器件的发展,PWM电压型逆变器在交流变频调速、UPS、电能质量控制器、轻型直流输电换流器等电力电子装置中得到了越来越广泛的应用。PWM电压型逆变器直流侧所需的理想无脉动直流电压源通常通过整流上大直流电容滤波获得。大直流滤波电容的使用,给装置带来占用空间大、成本高及严重影响电能质量方面的问题。因此,研究如何减小甚至去除逆变器直流侧电容,以及解决因其产生的低次谐波和相关问题,具有十分重要的理论意义和实用价值。本文在综述了国内外在PWM电压型逆变器及各种抑制谐波PWM技术的基础上,对目前工程中应用最广泛的SPWM电压型逆变器的主电路及谐波消除调制技术和相关问题进行了深入研究。50年代末晶闸管标志着电力电子半导体期间的开端。电力电子器件经历了40多年的发展历程[1-2],特别是近30多年内更是得到了迅猛的发展[3,4]。以Th(SCR)为代表的半控型器件是第一代电力电子器件[5],其主要用于可控整流装置,若用于可控的逆变器,因其无法自行关断,须配置强迫换流电路,致使装置复杂化。CR)为代表的半控型器件是第一代电力电子器件[5],其主要用于可控整流装置,若用于可控的逆变器,因其无法自行关断,须配置强迫换流电路,致使装置复杂化。CR)为代表的半控型器件是第一代电力电子器件[5],其主要用于可控整流装置,若用于可控的逆变器,因其无法自行关断,须配置强迫换流电路,致使装置复杂化。CR)为代表的半控型器件是第一代电力电子器件[5],其主要用于可控整流装置,若用于可控的逆变器,因其无法自行关断,须配置强迫换流电路,致使装置复杂化。CR)为代表的半控型器件是第一代电力电子器件[5],其主要用于可控整流装置,若用于可控的逆变器,因其无法自行关断,须配置强迫换流电路,致使装置复杂化。CR)为代表的半控型器件是第一代电力电子器件[5],其主要用于可控整流装置,若用于可控的逆变器,因其无法自行关断,须配置强迫换流电路,致使装置复杂化。CR)为代表的半控型器件是第一代电力电子器件[5],其主要用于可控整流装置,若用于可控的逆变器,因其无法自行关断,须配置强迫换流电路,致使装置复杂化。
### 回答1: 以下是基于STM32库函数的智能小车程序,实现了红外避障红外跟随、红外循迹和超声波避障功能,并且支持按键配置。 ```c++ #include "stm32f10x.h" #include "delay.h" #include "lcd.h" #include "usart.h" #include "key.h" #include "ir.h" #include "ultrasonic.h" #include "motor.h" void System_Init(void); void Key_Configuration(void); int main(void) { System_Init(); Key_Configuration(); LCD_Init(); USART1_Init(9600); IR_Init(); Ultrasonic_Init(); Motor_Init(); while (1) { if (Key_Scan(KEY1)) { while (Key_Scan(KEY1)); IR_Avoid(); } if (Key_Scan(KEY2)) { while (Key_Scan(KEY2)); IR_Follow(); } if (Key_Scan(KEY3)) { while (Key_Scan(KEY3)); IR_Track(); } if (Key_Scan(KEY4)) { while (Key_Scan(KEY4)); Ultrasonic_Avoid(); } } } void System_Init(void) { RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA | RCC_AHBPeriph_GPIOB | RCC_AHBPeriph_GPIOC | RCC_AHBPeriph_GPIOD | RCC_AHBPeriph_GPIOE, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_AFIO | RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE, ENABLE); SysTick_Config(SystemCoreClock / 1000); } void Key_Configuration(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; GPIO_Init(GPIOB, &GPIO_InitStructure); } ``` 其中,`System_Init()`函数用于初始化系统时钟和各个IO口,`Key_Configuration()`函数用于配置按键GPIO口为上拉输入模式。 在`main()`函数中,通过扫描按键状态来选择不同的功能。当按下`KEY1`时,调用`IR_Avoid()`函数实现红外避障功能;当按下`KEY2`时,调用`IR_Follow()`函数实现红外跟随功能;当按下`KEY3`时,调用`IR_Track()`函数实现红外循迹功能;当按下`KEY4`时,调用`Ultrasonic_Avoid()`函数实现超声波避障功能。 以上只是代码的框架,具体的红外避障红外跟随、红外循迹和超声波避障功能实现可以参考其他相关资料。 ### 回答2: STM32智能小车是一款具备红外避障红外跟随、红外循迹和超声波避障功能的智能小车。通过使用库函数程序和按键配置c,可以实现对这些功能的控制。以下是具体配置方法: 首先,通过使用库函数,我们可以方便地使用MCU的GPIO接口、定时器等硬件资源,来控制小车的红外传感器和超声波传感器。 针对红外避障功能,我们可以使用库函数对红外传感器进行初始化,使其能够正常工作。随后,通过编写中断服务函数,当红外传感器检测到障碍物时,可以触发相应的动作,例如停车或改变方向。同时,我们还可以利用库函数的定时器功能,实现红外传感器的周期性检测。 针对红外跟随功能,我们可以使用库函数对红外传感器进行初始化,并编写中断服务函数来实现小车根据检测到的红外信号来调整方向。通过按键配置c,我们可以在运行过程中灵活切换红外跟随功能的启用和禁用。 针对红外循迹功能,我们可以使用库函数对红外传感器进行初始化,并编写中断服务函数来实现小车跟随指定路径。通过按键配置c,我们可以在运行过程中切换循迹路径,例如实现左转、右转等操作。 针对超声波避障功能,我们可以使用库函数初始化超声波传感器,并编写中断服务函数来实现小车对前方障碍物的检测。当检测到障碍物时,我们可以触发相应的动作,例如停车或改变方向。同样,按键配置c可以用来在运行过程中启用或禁用超声波避障功能。 总的来说,通过库函数程序的配置和按键c的设定,STM32智能小车红外避障红外跟随、红外循迹和超声波避障功能可以得到灵活的控制和调整,使智能小车能够更好地应对不同的运行环境和任务需求。 ### 回答3: STM32智能小车是一种基于STM32单片机的智能控制系统,具备红外避障红外跟随、红外循迹和超声波避障等功能。这些功能是通过程序控制和配置实现的,而使用库函数可以简化开发过程。 红外避障是利用红外传感器来检测前方障碍物,并通过控制电机的转向来避开障碍物。库函数可以提供红外传感器接口函数和相关算法,使得开发者只需要通过简单的配置即可实现红外避障功能。 红外跟随是利用红外传感器来检测前方物体的位置,并通过电机的转向控制来始终跟随物体。库函数可以提供红外传感器接口函数和跟随算法,使得开发者只需要按照需求进行配置,即可实现红外跟随功能。 红外循迹是利用红外传感器来检测路径上的黑线,并通过电机的转向控制来沿着黑线行驶。库函数可以提供红外传感器接口函数和循迹算法,开发者只需要设置黑线的阈值和电机的转向规则,即可实现红外循迹功能。 超声波避障是利用超声波传感器来检测前方障碍物的距离,并通过电机的转向控制来避开障碍物。库函数可以提供超声波传感器接口函数和避障算法,使得开发者只需要简单的配置超声波传感器的参数和电机的转向规则,即可实现超声波避障功能。 按键配置是指通过按键来控制小车的运动。库函数可以提供按键扫描函数和相应的中断处理函数,开发者只需要配置按键的引脚和中断触发条件,即可实现按键配置功能。 通过库函数的支持,开发者可以更轻松地实现STM32智能小车红外避障红外跟随、红外循迹和超声波避障功能,并可以通过按键配置来灵活地控制小车的运动。同时,库函数的使用也可以大大缩短开发周期,提高开发效率。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值