【STM32智能车】小车状态

【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.hqwc.cn/news/13834.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学校公寓管理系统/基于微信小程序的学校公寓管理系统

摘 要 社会的发展和科学技术的进步,互联网技术越来越受欢迎。手机也逐渐受到广大人民群众的喜爱,也逐渐进入了每个学生的使用。手机具有便利性,速度快,效率高,成本低等优点。 因此,构建符合自己要求的操作…

优化器学习

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、SGD(随机梯度下降算法)二、Momentum三、AdaGrad四、Adam算法 前言 最优化是应用数学的一个分支,主要研究在特地情况下函…

不同路径(力扣)动态规划 JAVA

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多少条不同的路径? 示例 1&a…

【Git原理与使用】-- 企业级开发模型

目录 引入 系统开发环境 Git 分支设计规范 master 分支 release 分支 develop 分支 feature 分支 hotfix 分支 开发场景 - 基于git flow模型的实践 DevOps研发平台 修复测试环境 Bug 修改预发布环境 Bug 修改正式环境 Bug 紧急修复正式环境 Bug 拓展实践 都说&a…

基于matlab评估单相机校准的准确性(附源码)

一、前言 相机校准是使用特殊校准模式的图像估计相机参数的过程。参数包括相机内在系数、失真系数和相机外在系数。校准相机后,有几种方法可以评估估计参数的准确性: 绘制相机的相对位置和校准模式 计算重投影误差 计算参数估计误差 二、校准相机 …

2023.7.08

#include "widget.h"void Widget::my_slot() {if((edit1->text()"admin")&&(edit2->text()"123456")){qDebug()<<"登陆成功";emit jump();close();}else{qDebug()<<"登陆失败";} }void Widget::b…

Mysql之视图,索引及数据的备份与恢复

目录 一、视图 1.视图是什么 2.视图与数据表的区别 3.视图的优缺点 优点&#xff1a; 缺点&#xff1a; 4.视图的应用场景 5.语法运用 二、索引 1.什么是索引 2.为什么要使用索引 3.使用索引的优缺点 4.何时不使用索引 5.索引何时失效 6.索引分类 三、数据的备份…

微信小程序做登录密码显示隐藏效果

wxml 注意&#xff1a;在html中的input是通过切换type的属性值来实现隐藏显示的 在微信小程序的input里面type没有password属性 是通过password属性的true或者false来设置是否为密码框 <view class"input-item"><text class"tit">密码</…

经典图像识别卷积神经网络总结记录

这篇博文主要是延续前文系列的总结记录&#xff0c;这里主要是总结汇总日常主流的图像识别模型相关知识内容。 下面对上述列出的卷积神经网络模型进行逐个详细介绍、算法原理分析以及优缺点总结&#xff1a; (1)LeNet-5 算法原理&#xff1a; LeNet-5是最早应用于手写数字识别…

Android 前台服务讲解

目录 Android 前台服务和后台服务区别 前台服务&#xff08;Foreground Service&#xff09;&#xff1a; 后台服务&#xff08;Background Service&#xff09;&#xff1a; 总结&#xff1a; 前台服务更新&#xff1a; JobScheduler、WorkManager 区别和使用方式 andro…

华为Harmony应用开发初探

HarmonyOS是一款面向万物互联时代的、全新的分布式操作系统。在传统的单设备系统能力基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备,提供全场景(移动办公、运动健康、社交通信、媒体…

Spring复习: (5) DefaultBeanDefinitionDocumentReader和BeanDefinitionParserDelegate

DefaultBeanDefinitionDocumentReader和BeanDefinitionParserDelegate 这两个类里定义了大量的静态变量&#xff0c;这些变量用来在xml配置文件中使用