循迹/跟随/摇头避障小车

ops/2024/11/13 17:32:52/

循迹小车

智能小车2-循迹小车-CSDN博客

接线

B-1A -- PB0 B-1B -- PB1
A-1A -- PB2
A-1B -- PB10
循迹模块(左) -- PB3
循迹模块(右) -- PB4

 CubeMx

 在CubeMx配置,并重定义,在main.h会自动生成

#define B_1A_Pin GPIO_PIN_0
#define B_1A_GPIO_Port GPIOB
#define B_1B_Pin GPIO_PIN_1
#define B_1B_GPIO_Port GPIOB
#define A_1A_Pin GPIO_PIN_2
#define A_1A_GPIO_Port GPIOB
#define A_1B_Pin GPIO_PIN_10
#define A_1B_GPIO_Port GPIOB
#define Left_Sensor_Pin GPIO_PIN_3
#define Left_Sensor_GPIO_Port GPIOB
#define Right_Sensor_Pin GPIO_PIN_4
#define Right_Sensor_GPIO_Port GPIOB
/* USER CODE BEGIN Private defines */#define Left_Sensor HAL_GPIO_ReadPin(Left_Sensor_GPIO_Port,Left_Sensor_Pin)#define Right_Sensor HAL_GPIO_ReadPin(Right_Sensor_GPIO_Port,Right_Sensor_Pin)

 keil

route_sensor.c:

  • 如果要使用PWM调速就必须全部是PWM调速,因为一旦使用PWM调速之后又使用其他motor.c中的前后左右,就会重置PB1和PB10的值,而如果要使用调速,PB1和PB10就必须一直为HIGH,使用PWM调速的优点是转弯平滑,缺点是电机很容易因为PWM波的有效电平持续时间过低而转不动。
  • 如果不想用PWM调速,不仅不能调用PWM调速的函数,在main中也记得将PWM使能关闭,在Cube中要把PA1和PA2改回GPIO,不使用PWM调速的优点是电机动力充足,缺点是转弯不太平滑。
#include "route_sensor.h"
#include "main.h"
#include "motor.h"void route_sensor_1(void)
{//			下方小车两个模块都能反射回来红外,输出低电平,灯亮,直走
//			上方小车左模块遇到黑线,红外被吸收&#

http://www.ppmy.cn/ops/20682.html

相关文章

Java设计模式中策略模式

策略模式是一种行为型设计模式,它允许在运行时选择算法的行为。这种模式定义了一系列算法,并使这些算法可以相互替换,使得算法的变化独立于使用算法的客户。 以下是策略模式的一般结构: Context(上下文)&a…

web容器传统架构模型

web容器是部署web网站的容器。一般有tomcat、Jetty等。 作用是对系统端口监听,接收http、https等网络请求,然后交由web程序处理得到响应信息进行返回。 一般默认监听一个80端口,特殊情况可以配置多个端口(一台服务器上面跑多个w…

【深度学习】Yolov8使用心得

兜兜转转,原本以为和yolov没啥关系了,但是新公司又回到了yolov侧。 yolov8 可以用pip的方式安装,以package的三方软件包形式,隐藏了很多细节。当然你也可以从git上把全套代码down下来。 1.分类模型 1.1 改错误 位置&#xff1a…

SOLIDWORKS Electrical 3D--精准的三维布线

相信很多工程师在实际生产的时候都会遇到线材长度不准确的问题,从而导致线材浪费甚至整根线材报废的问题,这基本都是由于人工测量长度所导致的,因此本次和大家简单介绍一下SOLIDWORKS Electrical 3D布线的功能,Electrical 3D布线能…

【热门话题】Chrome 插件研发详解:从入门到实践

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 Chrome 插件研发详解:从入门到实践一、引言二、Chrome 插件基础概念…

论基于架构的软件设计方法及应用

框架 一、 摘要 2020年12月,我参加了某省政协委员履职系统的开发。该系统为政协机关人员管理委员信息以及委员完成各项履职提供了全方位的软件支撑。我在该项目重担任系统架构师一职,负责履职系统的架构设计。本文结合作者的实践,以委员履职系统为例,论述基于架构的软件开…

Leetcode 17. 电话号码的字母组合

给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例 1: 输入:digits “23” 输出:[“a…

vue项目npm run build 打包之后如何在本地访问

vue项目npm run build 打包之后如何在本地访问 如果直接访问时,则会报错如下的信息: 报错码: Access to script at file:///D:/assets/index-DDVBfHVo.js from origin null has been blocked by CORS policy: Cross origin requests are on…