【STM32智能车】小车状态

news2024/11/25 4:25:09

【STM32智能车】小车状态

    • 搭建智能车
  • 65MM轮径小车
    • 所选材料
    • 安装说明
    • 直行测试
    • 智能车可能存在的状态

智能车功能丰富,我们从最基础的开始,先来搭建一个智能车吧~。

在这里插入图片描述

搭建智能车

我们之前用了一个测试板子去学习调试电机,是时候拼装一个简单的车来看看效果了。
实验材料如下,并且有安装说明。安装完成后我们就使用这个调试程序。
下面的小车只作为参考,可以自行设计。


65MM轮径小车

所选材料

如下表,其中的结构板,轮胎等都可以换掉。我们选的是65MM直径的轮胎。
在这里插入图片描述

安装说明

  1. 12V直流电机2个,加上连接套件

在这里插入图片描述

  1. 连接轴承
    在这里插入图片描述

  2. 拧上!

在这里插入图片描述
6. 6. 6角对准小车
在这里插入图片描述

  1. 拧螺丝
    在这里插入图片描述

  2. 轮胎安装到亚克力板上(2个轮子安装方法一样)
    在这里插入图片描述
    10.安装万向轮
    在这里插入图片描述

11.将开发板安装到亚克力板上即可

在这里插入图片描述

直行测试

#main.py -- put your code here!

from pyb import Pin, Timer,delay
from time import sleep_us,ticks_us,sleep
cs = Pin('C8',Pin.OUT_PP)    #C8设置为输出引脚输出高电平
cs(1)
ch1 =None
ch2 =None     #初始化
A0= Pin('B12',Pin.OUT_PP)    #右侧马达
A1 = Pin('B13',Pin.OUT_PP)
B0 = Pin('B14',Pin.OUT_PP)    #左侧马达
B1 = Pin('B15',Pin.OUT_PP)

#A电机(右)
p1 = Pin('B8') 
tim1 = Timer(10, freq=120)                  
ch1 = tim1.channel(1, Timer.PWM, pin=p1)
#B电机(左)
p2 = Pin('B9') 
tim2 = Timer(4, freq=120)                  
ch2 = tim2.channel(4, Timer.PWM, pin=p2)

#小车状态
#小车右侧电机接到A处,且电机红线在A0;
#小车左侧电机接到B处,且电机红线在B1
def go(speed):    #直行状态                
	ch1.pulse_width_percent(speed)   
	ch2.pulse_width_percent(speed)
	A0(1)            
	A1(0)    #此状态测试A电机正转
	B0(0)
	B1(1)    #此状态B电机正转
  
while True:         #调用
	go(50)		#括号里参数为数字0~100 PWM占空比 尽量大一些,小了可能没效果

在这里插入图片描述

智能车可能存在的状态

包括但不限于以下几种:

1.待机状态:车辆停止移动,等待指令。

2.运动状态:车辆正在移动,可按照指定路线或方向行驶。

3.避障状态:车辆在运动中检测到前方障碍物,自动调整路径或停止行进。

4.追踪状态:车辆跟随某个目标物体或人员行动。

5.充电状态:车辆需要充电,进入充电站并启动充电程序。

6.故障状态:车辆出现故障,需要进行维修或更换零部件。

7.手动控制状态:车辆由人工遥控进行操作。

8.自主控制状态:车辆由内置智能控制系统自主决策和执行任务。

我们后面的基础案例,包含:待机,运动,寻迹,避障。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/719150.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CSS弹性盒子中弹性子元素文本超出弹性子元素宽或高后导致撑开弹性子元素原本宽或高的解决方法

当使用弹性布局时,设置父容器为弹性容器后,弹性子元素的文本内容超出宽或高后会撑开弹性子元素的原本应该显示的宽高,溢出父容器,只要设置弹性子元素的宽或高(由父容器弹性排列方向决定)的属性值为0即可解决…

echarts dataZoom.slider is used but not imported.

使用dataZoom时图表报错: resize should not be called during main process. omponent dataZoom.slider is used but not imported. 解决方法: 在使用的页面种单独引入一下dataZoom: import ‘echarts/lib/component/dataZoom’;

Redis【实战篇】---- Redis消息队列

Redis【实战篇】---- Redis消息队列 1. Redis消息队列 - 认识消息队列2. Redis消息队列 - 基于List实现消息队列3. Redis消息队列 - 基于PubSub的消息队列4. Redis消息队列 - 基于Stream的消息队列5. Redis消息队列 - 基于Stream的消息队列-消费组6. 基于Redis的Stream结构作为…

环肽抑制剂:1088715-84-7,LY2510924,LY2510924游离态,试剂相关特点说明

​编辑资料作者:陕西新研博美生物科技有限公司小编MISSwu​ LY2510924,LY2510924游离态,拮抗剂LY2510924,环肽,抑制剂 Product structure: Product specifications: 1.CAS No:10887…

机器学习基础之《特征工程(1)—数据集》

一、数据集 1、目标 知道数据集分为训练集和测试集 会使用sklearn的数据集 2、可用数据集 公司内部,比如百度、微博 数据接口,花钱 政府拥有的数据集 3、在学习阶段用到的数据集 scikit-learn特点: (1)数据量较小 &…

SpringBoot配置外部Tomcat项目启动流程源码分析

前言 SpringBoot应用默认以Jar包方式并且使用内置Servlet容器(默认Tomcat),该种方式虽然简单但是默认不支持JSP并且优化容器比较复杂。故而我们可以使用习惯的外置Tomcat方式并将项目打War包。 【1】创建项目并打War包 ① 同样使用Spring Initializer方式创建项目 …

宝塔Panel搭建Python环境

服务器安装python环境 找到软件商店 应用搜索 输入:python 安装Python项目管理器2.4 开启首页显示 回到首页 找到python管理器并点击进入 安装对应的python版本 到这里 服务器就可以告一段落了 在本地开发服务端应用并上传服务器 将写好的python应用 导出依赖…

蓝桥杯专题-真题版含答案-【世纪末的星期】【猜年龄】【组素数】【第39级台阶】

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列 👉关于作者 专注于Android/Unity和各种游…

antv-x6在vue中使用:拖拽 Dnd、Stencil——以小诺管理平台为例

1、说明 由于antv-x6刚刚开放不久,一方面网上资料很少,此外antv目前官方的实例基本都是以react作为demo进行演示,所以vue的示例几乎没有,自己按照官方文档的react写了一个vue版本,仅供参考。 2、效果 先看一下demo的效果,如下所示 这是官方网文档的效果,同时官方也给…

【Spark】SparkCore

文章目录 RDD特点:弹性分布式数据集数据抽象不可变可分区、并行计算分区列表分区计算函数RDD 之间的依赖关系分区器(可选)首选位置(可选) 执行原理启动 Yarn 集群环境Spark 通过申请资源创建调度节点和计算节点Spark 框…

ue4:Dota总结_BP_CameraPawn篇

设计wasd移动: 鼠标拖动视口: 鼠标滚轮调整远近: Beginplay: qe按键旋转: 变量:

Python练手项目-学生成绩管理系统

之前在最初的学习中,我就写过一个Python的学生管理系统,但是那个很粗糙,很简陋 今天在学习过程中,再次拿出来,重新优化书写 希望对初学者以及需要的朋友有帮助。 文章目录 系统开发环境:1.实现功能2.系统设…

css3动画应用

按钮边框 按钮 首先实现正常边框按钮, 其次按钮相对定位,因为旋转的内容需要绝对定位, 旋转内容做伪元素处理,z-index设置负数是为了把按钮文字显示出来, 定位一半一半是把长方块中心点放按钮正中, 变形原…

照片jpg大小kb如何修改?图片在线压缩大小怎么处理?

最近需要在各种报名平台上传照片的小伙伴比较多,难免会遇到需要压缩jpg图片的情况,那么怎么才能将jpg图片压缩(https://www.yasuotu.com/jpg)呢?今天介绍一个图片在线压缩大小的方法,不用下载任何软件就可以…

内嵌 iframe 实现PDF预览

效果图如下&#xff1a; 代码如下&#xff1a; <template><div><!-- 控制浮层显示隐藏 --><el-button type"primary" size"small" class"btn" click"dialogVisible true">PDF 预览 (内嵌 iframe)</el-but…

pwn(7.4小学期)

Ret2libc 先查一下壳 32位&#xff0c;放入IDA中看看 查看一下 vulnerable_function();这个函数 Read函数&#xff0c;很明显的栈溢出 但是观察半天&#xff0c;发现这里并没有system函数 字符搜索我们看到了libc.so.6 可以想到libc函数库以及 PLT表中的代码会根据函数在…

[已成功破解] 阿里 taobao 滑条验证码 x5sec解密 slidedata参数

[已破解] 阿里 taobao 滑条验证码 x5sec解密 slidedata参数 今天在爬tb数据的时候 发现老是会触发一个滑块验证 只要过了这个滑块将滑块返回的x5secdata 的cookie 带到请求参数里面去 就能完美避开了 然后去抓了下滑块的包 过了这个滑块拿到cookie就能 访问阿里一直获取数据…

FPGA纯verilog实现UDP协议栈 AXIS用户接口,可替代Tri Mode Ethernet MAC,提供三套工程源码和技术支持

目录 1、前言2、我这里已有的UDP方案3、该UDP协议栈性能4、详细设计方案网络PHYRGMII转GMII模块AXIS FIFOUDP协议栈 5、vivado工程1-->B50610 工程6、vivado工程1-->RTL8211 工程7、vivado工程1-->88E1518 工程8、上板调试验证并演示准备工作查看ARPUDP数据回环测试 9…

1.5 基于MyBatis数据库逆向生成工具,并创建serverice和controller控制层

步骤1&#xff1a;在mybatis-generator中添加要生成的数据库表名 在genratorConfig.xml内容: <!-- 数据库表 --> <table tableName"stu"></table>步骤2&#xff1a;StuMapper.xml和StuMapper拷贝到对应的mapper模块下 步骤3&#xff1a;pojo对应…

计算机视觉颜色校正方法

计算机视觉颜色校正方法 调色和色彩矫正之间的区别直方图均衡化原理实现代码 CCM颜色校正矩阵原理 深度学习Deep_White_Balance什么是sRGB图像问题描述&#xff1a;方法概述&#xff1a;模型架构&#xff1a;训练损失函数实现快速开始 调色和色彩矫正之间的区别 调色是指通过调…