基于STM32的智能循迹避障小车实验(循迹部分)

这篇具有很好参考价值的文章主要介绍了基于STM32的智能循迹避障小车实验(循迹部分)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

接上一部分基于STM32的智能循迹避障小车实验(小车运动部分)

上一篇我们成功让小车动起来了,现在我们试着让小车听话地运动。

实验所用器件及其介绍

这一部分主要利用了循迹模块两个

基于STM32的智能循迹避障小车实验(循迹部分)

图 1循迹模块

就是这个东西:

一共三个引脚

VCC:电源线,连接单片机的3.3V-5V
GND
:地线,连接单片机的接地(GND
OUT:开关信号输出(传感器检测到黑线的时候,这个引脚呈现高电平)

循迹模块工作原理:红外发射器一直发射红外线,红外线经发射后被接收,此时输出低电平,输出指示灯点亮。
                 黑色是不反射红外线的,也就是说循迹模块遇到黑线,模块输出高电平,输出指示灯熄灭。

注意当循迹模块距离地面太高时,会出现与循迹模块遇到黑线的一样情况,因此循迹模块距离地面不要太高。

了解了循迹模块的特点后,我们开始连线:将两个模块的VCCGND分别接到开发板的VCCGND,最后一个OUT接到普通GPIO口上,将两个循迹块固定到小车前方,如图 2循迹模块安装实物图。

基于STM32的智能循迹避障小车实验(循迹部分)

图 2循迹模块安装实物图

安装完成后我们进入编程实现部分。

编程实现

CobeMX设置

这部分我们直接打开之前完成的运动小车部分,在其上继续完成。打开CobeMX。循迹模块只需使用普通的GPIO口设置为GPIO_Input(输入)模式,这里我选择的是PB12(左侧循迹模块)和PE8(右侧循迹模块)。

基于STM32的智能循迹避障小车实验(循迹部分)

图 3循迹模块CobeMX设置

完成基本设置后点击生成代码。

代码实现

现在我们只需要识别循迹模块OUT接口对应的GPIO口电平即可了解小车的运动路线情况。此处实现比较简单,直接上代码:

// 循迹

void Car_XunJi(void)

{

       if(Right_Light == GPIO_PIN_SET)  // 右侧检测到黑线

       {

              if(Left_Light == GPIO_PIN_SET)  // 左侧检测到黑线

              {

                     Car_Go();  // 同时检测到黑线就直行

              }

              else

              {

                     Car_Right();  // 只有右侧检测到黑线,右转

              }

             

       }

       if(Left_Light == GPIO_PIN_SET)

       {

              Car_Left();  // 只有左侧检测到黑线,左转

       }     

       else

       {

              Car_Go();  // 左右两侧都没有检测到黑线救直行

       }

这样就完成了循迹函数的书写,接下来只需在主函数中调用这个函数即可完成循迹小车。

主函数部分:

int main(void)

{

  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */

  /* MCU Configuration--------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */

  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */

  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */

  MX_GPIO_Init();

  MX_TIM2_Init();

  MX_USART1_UART_Init();

  MX_TIM3_Init();

  MX_TIM4_Init();

  /* USER CODE BEGIN 2 */

       printf("这是智能小车方向控制测试程序");

       Car_Go();

       

  /* USER CODE END 2 */

  /* Infinite loop */

  /* USER CODE BEGIN WHILE */

  while (1)

  {
    Car_XunJi();
    HAL_Delay(100);

    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */

  }        

  /* USER CODE END 3 */

}

跳下一部分基于STM32的智能循迹避障小车实验(舵机部分)

最后附上整个项目的HAL库源码:

百度网盘 请输入提取码

提取码:1234文章来源地址https://www.toymoban.com/news/detail-506247.html

到了这里,关于基于STM32的智能循迹避障小车实验(循迹部分)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于51单片机的多功能智能语音循迹避障小车

    目录 一.功能介绍及硬件准备 二.电机控制及调速 三.小车循迹方案 四.跟随功能实现 五.测速功能实现 六.OLED显示车速 七.摇头避障功能实现 八.SU-03T语音模块介绍 九.语音切换小车模式+OLED显示模式 这是一款基于51单片机开发的智能小车,通过这篇文章我会记录下来开发这款小

    2024年02月03日
    浏览(37)
  • 基于stm32的智能小车(远程控制、避障、循迹)

    学完stm32,总是想做点东西“大显身手”一下,智能小车就成了首选项目,其核心只是就是PWM输出,I/O口引脚电平判断。 制作智能小车的硬件名单: 由于我们做的控制功能可以使用2.4G控制,也可以使用蓝牙进行控制, 两种传输方式所需购买的模块不同,已在硬件名单中加以

    2024年02月03日
    浏览(40)
  • STM32循迹寻光避障小车(二)(红外循迹部分)

    目录 TRCT5000寻迹模块介绍 1. 模块介绍: 2. 管脚介绍: 3. 使用原理: 4. 代码部分: Tracing.c文件全部代码(附带注释) Tracing.h文件全部代码 首先介绍一下使用到的红外寻迹模块,我们采用了TRCT5000的三路红外寻迹模 我从网上找到如下的图片和资料: 1、采用TCRT5000红外反射传感

    2024年02月17日
    浏览(40)
  • [STM32F103C8T6]基于stm32的循迹,跟随,避障智能小车

    目录 1.小车驱动主要是通过L9110S模块来驱动电机 motor.c 2.我们可以加入串口控制电机驱动(重写串口接收回调函数,和重定向printf) Uart.c main.c  3.点动功能 uart.c main.c 为什么使用的是HAL_Delay()要设置滴答定时器的中断优先级呢? 4.小车PWM调速,  6.跟随功能 7.避障功能 超声波测距

    2024年02月13日
    浏览(48)
  • 机器人制作开源方案 | 智能循迹避障小车

    作者: 刘元青、邹海峰、付志伟、秦怀远、牛文进 单位: 哈尔滨信息工程学院 指导老师: 姚清元       智能小车是移动式机器人的重要组成部分,而移动机器人不仅能够在经济、国防、教育、文化和生活中起到越来越大的作用,也是研究复杂智能行为的产生、探索人类思

    2024年01月16日
    浏览(51)
  • 基于单片机的智能循迹避障小车STC89C52红外对管L298N驱动PWM波控制速度

    wx供重浩:创享日记 对话框发送:单片机小车 免费获取完整无水印报告等 利用红外对管检测黑线与障碍物,并以STC89C52单片机为控制芯片控制电动小汽车的速度及转向,从而实现自动循迹避障的功能。其中小车驱动由L298N驱动电路完成,速度由单片机输出的PWM波控制。 1.1智能

    2023年04月22日
    浏览(45)
  • 【IoT】红外循迹避障小车

    随着生产自动化的发展需要,机器人已经越来越广泛地应用到生产自动化上,随着科学技术的发展,机器人的传感器种类也越来越多,其中红外传感器已经成为自动行走和驾驶的重要部件。 红外的典型应用领域为自主式智能导航系统,机器人要实现自动避障功能就必须要感知

    2024年02月04日
    浏览(29)
  • 基于STM32f103c8t6的简单红外巡迹避障小车制作

    (1)电源 电源模块选用的是18650锂电池(充电器及电池底座)、3.3v稳压模块。 (2)车模 淘宝最常见的智能车底。 (3)电机 买的智能车带有四个电机,选用L298N电机驱动板对电机进行驱动。 (4)巡迹及避障 巡迹选用四路红外模块实现,避障选用超声波模块HC-SR04实现。 (

    2023年04月15日
    浏览(35)
  • STM32输出PWM波控制电机转速,红外循迹避障智能车+L298N的详细使用手册、接线方法及工作原理,有代码

    本设计的完整的系统主要包括STM32单片机最小系统、L298n电机驱动,超声波 ,舵机 ,红外模块等。寻迹小车相信大家都已经耳熟能祥了。 我们在这里主要讲一下L298N驱动电机和单片机输出PWM控制电机转速。 本设计软件系统采用模块设计思想,采用C语言作为程序设计语言,通

    2024年01月17日
    浏览(40)
  • 基于STM32F103的红外循迹 超声波避障小车

    单片机:stm32f103 传感器:普通红外(我用了4个) 超声波:HC-SR04 舵机:SG90 目标:可以循黑线(十字直行)、并避障 如果硬件配置和我一样以下代码可直接使用,用我配置的引脚即可。 亲测好用。 复制代码的同时请点个赞,多谢! .c .h .c .h .c .h .c .h 我的主函数有些啰嗦,

    2024年02月05日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包