智能小车项目

简介: 这篇博客主要进行一次笔记汇总,设计制作一辆玩具小车,此小车系统可具有以下功能:超声波测距,避障,电机调速,蓝牙控制等功能,设置了两种模式避障模式与跟随模式,可以再做个循迹模式,但是没有场地不好调试就没有写了,但是原理和前两个模式是类似的,模块也是使用红外模块,可以2路也可以4路,差别不大

模块调试部分


1、超声波测距模块

HC-SR04超声波测距模块的原理介绍与代码实现


2、电机调速模块

pwm电机调速的原理介绍与代码实现


3、电机驱动模块

L298N电机驱动模块的接线使用与代码实现


4、蓝牙控制模块

HC-05蓝牙模块遇到的问题与解决方法及实现和手机通信


5、液晶显示模块

LED1602液晶模组介绍及其编程使用


6、合成语音播报模块

TTS语音播报


模式调试部分


1、跟随模式

//红外跟随模块
void InfraredFollow_Module(void)
{
  //设置小车速度,中档起步
 // Motor_SpeedSet(60000,0.8,0.8);
  while(1){
    //前面有障碍物,向前走
    while(Infrared_StraightMod == 0){  
        Motor_GoForward();
        delay_ms(5);
    }
    //左边有障碍,向左转
    while(Infrared_LeftMod == 0){  
        Motor_TurnLeft();       //左转      
        delay_ms(5);
    }
    //右边有障碍,向右转
    while(Infrared_RightMod == 0){  
        Motor_TurnRight();      //右转
        delay_ms(5);
    }  
    Motor_BeParking();
  }
}


2、避障模式

//红外避障模块
void InfraredAvoidance_Module(void)
{
    //设置小车速度,中档起步
 // Motor_SpeedSet(60000,0.8,0.8);
  while(1){
     Motor_GoForward();
     //左边有障碍
    while(Infrared_LeftMod == 0){  
        Motor_BeParking();      //停车
        delay_ms(1000);
        Motor_TurnRight();      //右转
        delay_ms(1000);
    }
    //右边有障碍
    while(Infrared_RightMod == 0){  
        Motor_BeParking();      //停车
        delay_ms(1000);
        Motor_TurnLeft();       //左转
        delay_ms(1000);
    }    
    //前面有障碍物,思路是先后退一点点,然后右转躲避
    //还可以设置一个标志为,一次右转,一次左转;或者两到三次右转,然后一次左转
    while(Infrared_StraightMod == 0){  
        Motor_BeParking();      //停车
        delay_ms(1000);
        Motor_GetBack();        //后退
        delay_ms(1000);
        Motor_BeParking();      //停车
        delay_ms(1000);
        Motor_TurnRight();      //右转
        delay_ms(1000);
    }
  }
}


实物图


image.png


项目代码


stm8智能跟随避障小车

目录
相关文章
|
5月前
|
存储 算法 编译器
课程设计——基于FPGA的交通红绿灯控制系统(源代码)
课程设计——基于FPGA的交通红绿灯控制系统(源代码)
|
4月前
|
传感器 监控 算法
LabVIEW伺服电机测控系统
LabVIEW伺服电机测控系统
64 1
|
6月前
|
传感器
基于STM32与FreeRTOS的四轴机械臂项目-3
基于STM32与FreeRTOS的四轴机械臂项目
基于STM32与FreeRTOS的四轴机械臂项目-3
|
6月前
|
传感器
基于STM32与FreeRTOS的四轴机械臂项目-2
基于STM32与FreeRTOS的四轴机械臂项目
基于STM32与FreeRTOS的四轴机械臂项目-2
|
6月前
|
传感器 存储
基于STM32与FreeRTOS的四轴机械臂项目-1
基于STM32与FreeRTOS的四轴机械臂项目
基于STM32与FreeRTOS的四轴机械臂项目-1
|
传感器 芯片
聊聊身边的嵌入式,方便好用的人体感应灯
聊聊身边的嵌入式,方便好用的人体感应灯
|
算法 Linux Android开发
动手智能小车记(5)-坦克底盘硬件模块大杂烩
动手智能小车记(5)-坦克底盘硬件模块大杂烩
245 0
LabVIEW控制Arduino实现舵机联控(基础篇—9)
本篇博文将通过LabVIEW和Arduino Uno控制板实现对单个和多个舵机转动角度的控制。
STM32智能小车 0基础教学(驱动小车电机)
STM32智能小车 0基础教学(驱动小车电机)
562 0
|
传感器 数据采集 芯片
LabVIEW Arduino电子称重系统(项目篇—1)
质量是物理学中的7个基本量纲之一。在工业生产和日常生活中,我们都需要获取一个物体的质量,比如购买某件商品时,需要确定其质量大小,或者以质量作为中间量以进一步获得物体的其他参数,如质心、偏心等。