欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

【单片机开发】智能小车工程(寻迹)

发布时间:2023/12/20 编程问答 70 豆豆
生活随笔 收集整理的这篇文章主要介绍了 【单片机开发】智能小车工程(寻迹) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

项目相关链接:
1.智能小车L298N驱动
2.智能小车寻迹驱动
3.智能小车蓝牙模块驱动
4.智能小车超声波测距驱动

(一)效果展示


一个只能走的小车是当然不足以称之为智能小车的,我们需要给小车安上一个眼睛。这是第一次作为一个开发者让机器可以听我的话。

(二)寻迹模块驱动

这部分代码用于寻迹 设定为沿白线走
白色(亮色)返回1 黑色(暗色)返回0
remote.h

#ifndef __REMOTE_H #define __REMOTE_H #include "sys.h"#define left GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_13)//读取PC13状态 #define right GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_14)//读取PC14状态void remote_Init(void);//IO初始化#endif

remote.c

#include "stm32f10x.h" #include "remote.h" #include "sys.h" #include "delay.h"void remote_Init(void) //IO初始化 { GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);//使能PORTCGPIO_InitStructure.GPIO_Pin = GPIO_Pin_13|GPIO_Pin_14;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //设置成上拉输入GPIO_Init(GPIOC, &GPIO_InitStructure);//初始化GPIOC14,13 }

main.c
//寻迹测试 小车沿白线走

#include "sys.h" #include "delay.h" #include "motor.h" #include "PWM.h" #include "remote.h" #include "usart.h" int main(void) {TIM4_PWM_Init(899,0);delay_init(); //延时函数初始化 Motor_12_Config(); //298电机驱动初始化remote_Init();NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); if(right==1&left==1) //在线上{Motor_1_PRun(); Motor_2_PRun(); }if(left==0&right==1) //左出界 {Motor_right();delay_ms(5);}if(right==1&left==0) //右出界{Motor_left();delay_ms(5);}if(right==0&left==0) //前方无路{ Motor_1_STOP();Motor_2_STOP()delay_ms(1000);} }

以上代码仅为相应部分,其他代码在其他文章中,请自寻。

如果一个小车都控制不了又怎么去控制自己的人生。

总结

以上是生活随笔为你收集整理的【单片机开发】智能小车工程(寻迹)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。