5.39 综合案例2.0 - STM32蓝牙遥控小车3(摇杆控制)

2023-10-27

成品展示

用python开发板和stm32制作一个摇杆控制蓝牙全向智能车,源码开放

案例说明

用STM32单片机做了一辆蓝牙控制的麦轮小车,分享一下小车的原理和制作过程。
控制部分分为手机APP,语音模块控制,Haas506开发板(遥感 + 体感)控制三种。
本文介绍Haas506(遥感)控制的方法以及小车的制作。

器件说明

器件 数量 说明
STM32F103C8T6单片机开发板 1 使用5V供电
L298N电机驱动 2 只能控制电机正反转,要调节速度,每个模块使用4路PWM,案例总共需要8路PWM
MLT BT05蓝牙模块 1 与Haas506-320开发板进行蓝牙连接,需要5V供电
0.96寸OLED显示屏 1 用于显示蓝牙接收的消息
4电机加底座 1 普通TT小电机,需要5V以上供电
麦克纳姆轮 4
Haas506-320开发板 1 利用开发板自带的蓝牙连接并控制蓝牙小车
PS2摇杆模块 1 检测摇杆x、y轴用于控制小车。

小车连线

  • 器件连线
    在这里插入图片描述
  • 麦轮安装方向
    在这里插入图片描述

小车源码

代码思路结构、

  • 源码见ESP32蓝牙遥控小车3(摇杆控制)
  • L298N电机驱动模块只能控制电机正反转,原理:2路引脚分别控制电机正负极,正极高电平,负极置零,电机正传;反之反转。
  • 为了控制小车速度,这里总共使用了8路PWM来控制每个 L298N电机驱动模块的引脚,每个电机使用2路PWM控制,如果需要正传,正极占空比调高,负极占空比调零。在这里插入图片描述

PS2摇杆手柄

用ADC读取PS2模块的X、Y轴数据,将ADC数据转化为范围在(-10~10)内的数据,用于控制小车的速度与方向。
请添加图片描述

遥控连线

用ADC采集PS2S的模拟信号值
在这里插入图片描述

摇杆代码

代码见ESP32蓝牙遥控小车3(摇杆控制)

  • 代码需要更改蓝牙名称。Haas506作为主机去扫描蓝牙小车,搜索蓝牙名称进行连接。
    在这里插入图片描述
  • ADC采集的原始数据最大值3200左右,需要转化为如下数值范围。如果代码数值有误差需自行调整。
  • 坐标最后输出格式必须以 ‘ * ’作为结尾举例 X10Y-5*
    在这里插入图片描述
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

5.39 综合案例2.0 - STM32蓝牙遥控小车3(摇杆控制) 的相关文章

随机推荐

  • 网络协议 (一) TCP/IP 四层模型

    TCP IP 四层模型 是目前被广泛采用的一种模型 我们可以将 TCP IP 模型看作是 OSI 七层模型的精简版本 由以下 4 层组成 应用层 传输层 网络层 网络接口层 需要注意的是 我们并不能将 TCP IP 四层模型 和 OSI 七
  • 8051单片机并行I/0口读写

    8051单片机并行I 0口读写 作者 佚名 文章来源 本站原创 点击数 338 更新时间 2011 08 10 前两天看资料 见到关于I O口作为输入时 要先输出1的说明 有点迷惑 今天特意查了一些资料 费了半天劲 虽然还没有完全弄明白 但
  • 服务器常用指令—重启tomcat

    重启Tomcat 关闭Tomcat 进入Tomcat下的bin目录 tomcat bin 使用Tomcat关闭命令 shutdown sh 查看Tomcat是否关闭成功 ps ef grep java 开启Tomcat startup sh
  • Contrastive Regression for Domain Adaptation on Gaze Estimation CVPR 2022 对比学习+目标域有样本无标注(伪标签)

    原文链接 补充材料 概括 本文将分类对比学习推广到回归 采用回归任务里真值的相似性代替分类任务里的类别标签一致性划分 在无标注的目标域采用伪标签进行训练 分类对比学习损失 s为特征的余弦相似性 损失函数L分子与正样本对特征相似程度和正相关
  • 如何在mac上安装多版本python并配置PATH

    摘要 mac 默认安装的python是 python3 但是如果我们需要其他python版本时 该怎么办呢 例如 需要python2 版本 如果使用homebrew安装会提示没有python2 同时使用python version 会发现c
  • linux中的ldd命令简介

    在linux中 有些命令是大家通用的 比如ls rm mv cp等等 这些我觉得没有必要再细说了 而有些命令 只有开发人员才会用到的 这类命令 作为程序员的我们 是有必要了解的 有的甚至需要熟练使用 有的人总说 这些命令不重要 用的时候去查
  • Elasticsearch基础学习笔记

    目录 一 全文搜索 1 数据分类 2 搜索分类 3 什么是全文搜索 全文检索是指 倒排索引 二 ElasticSearch简介 1 ElasticSearch是什么 2 ElasticSearch特点 3 ElasticSearch版本特性
  • C++学习(三三八)RSP文件

    RSP Response Text File 是一种资源文件 用编程软件或文本编辑工具可以打开 如VC Notepad等等 RSP 文件包含一个或多个命令行参数 由包含在 NET 编译器平台 也称为Roslyn 中的C 编译器 CSC 使用
  • dns服务器修改解析地址,dns服务器修改解析地址

    dns服务器修改解析地址 内容精选 换一换 obsutil是适用于Windows macOS和Linux操作系统的命令行工具 支持通过配置内网DNS服务器地址的方式 使在华为云上的Linux ECS通过内网直接访问OBS 下面将介绍其具体操
  • 内中断

    1 CPU根据中断码如何找到中断处理程序 要定位中断处理程序 就需要找到中断处理程序的段地址和偏移地址 如果根据中断码找到他们 这就引入中断向量表 CPU用8位的中断类型码通过中断向量表找到相应的中断处理程序的入口地址 2 使用中断类型码找
  • OpenCV实战(五)——对象简单计数

    现在我们用OpenCV来计数图像当中的目标物体数目 针对各个物体之间没有粘连的情况 include
  • 离散数学 --- 谓词逻辑 --- 谓词合式公式推理

    第一部分 推理形式和推理规则 1 谓词在拥有命题演算的基本蕴含公式的同时 还有着自己独有的基本蕴含公式 当我们的描述在个体和整体之间转换时 就需要进行量词的消去和添加 1 全称特指规则 US规则 其实就是全称量词消去规则 2 全称量词消去有
  • docker-compose

    能做什么 一个用来把 docker 自动化的东西 有了 docker compose 你可以把所有繁复的 docker 操作全都一条命令 自动化的完成 通过创建compose文件 YUML语法 在这个文件上面描述应用的架构 如使用什么镜像
  • 《零基础入门学习Python》(6)--Python之常用操作符

    前言 Python当中常用操作符 有分为以下几类 幂运算 正负号 算术操作符 比较操作符 lt lt gt gt 逻辑运算符 not and or 操作符介绍 幂运算 gt gt gt 3 3 27 正负号 幂运算的优先级比较特殊 因为幂操
  • 凸多边形面积_C++计算任意多边形的面积

    任意多边形的面积计算 拾忆楓灵的博客 CSDN博客 blog csdn net 计算任意多边形的面积 tenos 博客园 www cnblogs com 完美解决计算3D空间任意多边形面积 Studiouss的博客 CSDN博客 blog
  • 微信小程序开发实战 ②〇(Npm包)

    作者 SYFStrive 作者 SYFStrive 博客首页 HomePage 微信小程序 个人社区 欢迎大佬们加入 社区链接 觉得文章不错可以点点关注 专栏连接 感谢支持 学累了可以先看小段由小胖给大家带来的街舞 微信小程序 目录 什么是
  • React 性能优化完全指南,将自己这几年的心血总结成篇!

    作者 MoonBall 原文地址 https juejin cn post 6935584878071119885 本文分为三部分 首先介绍 React 的工作流 让读者对 React 组件更新流程有宏观的认识 然后列出笔者总结的一系列优化
  • MUMPS 安装

    Centos 7 Install MUMPS 1 下载安装包 需要提交申请 http mumps enseeiht fr 2 安装并行版MUMPS需要以下一些依赖包 MPI BLAS library BLACS library ScaLAP
  • C语言种根号怎么表示 比如(1-x)的二分之一次方

    库函数sqrt x include
  • 5.39 综合案例2.0 - STM32蓝牙遥控小车3(摇杆控制)

    综合案例2 0 蓝牙遥控小车1 摇杆控制 成品展示 案例说明 器件说明 小车连线 小车源码 PS2摇杆手柄 遥控连线 摇杆代码 成品展示 用python开发板和stm32制作一个摇杆控制蓝牙全向智能车 源码开放 案例说明 用STM32单片机