【单片机开发】智能小车工程(寻迹)
发布日期:2021-05-08 05:11:03 浏览次数:17 分类:精选文章

本文共 1404 字,大约阅读时间需要 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);//使能PORTC	GPIO_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);  	}}

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

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

上一篇:【单片机开发】智能小车工程 (蓝牙遥控JDY-31)
下一篇:【单片机开发】智能小车工程 (驱动L298N)

发表评论

最新留言

不错!
[***.144.177.141]2025年03月27日 23时56分22秒