jjzjj

STM32蓝牙小车制作全过程---刚入门的小白也能会

吃葡萄还吐籽的狐狸 2024-05-04 原文

首先我本人也是学stm32满打满算也才半个学期的小白,经过半学期的学习总感觉理论啥的虚了点,所以就打算搞辆蓝牙小车来练练手,这就有了现在的这篇文章,来分享一下制作小车时的一些问题和经验希望能帮助到更多的小白(。・ω・。),有说错的地方希望大家能指正哈。

//--------------------------------------------------这里是分割线-----------------------------------------------------------

首先是小车材料:

小车构架(车架和车轮),直流电机*4,L298N电机驱动模块*2,HC-05蓝牙模块*1,STM32C8T6*1,电源模块3.3/5/12*1,12V的可充电锂电池*1,杜邦线公对公/公对母/母对母诺干

注释:买配套的小车构架会包含车架,车轮,直流电机,还有电池盒,不过电池盒比价拉跨而且电压小了点,所以我又买了块12V的可充电锂电池,当然这也看各位看官的需求了,

调试工具:

USB转TTL-CH340模块,最小开发板Stlink下载器

//--------------------------------------------------这里是分割线-----------------------------------------------------------

当材料准备齐全了先不要急着组装,一个个模块调试

1.首先是电源部分,这部分比较简单,将锂电池的公头接到电源模块上,然后拿万用表来测试一下,没有什么问题的话就可以下一步了

如果自己没有万用表的话找别人要awa,有条件可以买一个也就几十块钱

2.首先将直流电机和L298N电机驱动模块用杜邦线接起来,在程序里一个个调试好转动的方向

如果不清楚L298N怎么使用可以去b站上找个视频看,几分钟就能学会

 3.当驱动部分调试好后,我们来看控制部分,就是调试蓝牙模块,不过不要一开始就直接将蓝牙模块和板子连接,先拿出TTL转USB-CH340模块,对着板子或者蓝牙模块的TX,RXGND,VCC(3.3v/5v)接就行了,别的引脚可以不接,这里说一下哈,蓝牙模块得接5V才行,接好线后直接插电脑上,然后打开串口调试助手即可

如果不知道该怎么调试,去你买模块的那家店,点一下商品详情,仔细的阅读一遍后再上手操作

AT 指令没有返回?

1、 指令格式是否正确(特定命令、 结尾回车)

2、 TX/RX 是否连接正确(交叉接线)

3、 供电是否正常(不带底板供电 3.3V、 带底板供电 5V)

4、 串口助手是否卡死(串口助手程序崩溃)

5、 串口线是否可正常使用(串口线正常传输)

//--------------------------------------------------这里是分割线-----------------------------------------------------------

说完硬件部分,咱们来看看软件部分,也就是代码的编写

等一下哈,咱们先来讲一下手机操控软件的制作awa

MIT App Inventor (gzjkw.net)http://app.gzjkw.net/login/在这个网站里可以零基础做出自己想要的软件(有一点逻辑思维就行了ˋ( ° ▽、° ) )

不太清楚的话也可以去b站找视频学习,我也是看这位up主的视频做的操作软件(○` 3′○)

【蓝牙APP】第一期:AT指令配置蓝牙模块HC05;APP按下按钮发送数据_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1nu41197mR?spm_id_from=333.1007.top_right_bar_window_history.content.click&vd_source=b89b71168bc472c15c6b623e30048ab0

软件制作好后用手机打开后下面老是短了一截,在制作界面勾选了窗口自动调整也还是这样,不知道怎么搞哦,有哪位看官清楚的跟我说一下哈§(* ̄▽ ̄*)§

这里我每按不同的键发出去的字母都不一样,后面在软件的编写中我们就通过接收不同的字母指令来实现对电机的控制。

 //--------------------------------------------------这里是分割线----------------------------------------------------------

首先咱们打开一个工程模板(我用的是正点原子的模板)

然后创建一个新的文件并添加到工程里

亲,如果这都不清楚怎么操作,这边是建议先找个视频看上一段时间来( ̄﹃ ̄)

1. 我们先来编写电机驱动程序

 看起来是不是就跟点灯差不多awa,不然我上面怎么说L298N只要几分钟就能搞懂嘛

后面行驶方向拿部分大家不要照搬,参考一下就好,毕竟咱们接线的方式不同,没准你有哪根线接的跟我不同那效果也就不同了,得自己调试

这里我是编写了一个控制函数,将几个方向函数整理了一下,边上的是L298N的.h文件

 2.然后再来编写中断服务函数

看我拉住的那段内容是不是很眼熟呢,我们用蓝牙模块和板子相接后,蓝牙接收到的数据会通过串口发送给板子,那我们板子就通过中断服务函数来判断接收到的内容是啥,然后将一个对应的值赋给定义好的标志位,再在主函数里判断对应的标志位来调用对应的行驶方向函数就行了

3.主函数

主函数是不是很简单awa,对了,方向控制函数下面的是RGB-LED灯的控制,因为我打算给我的小车加个底光灯,所以就多写的个内容ԅ(¯﹃¯ԅ)

各位看官,有没有感觉真的非常简单诶

 

  //--------------------------------------------------这里是分割线----------------------------------------------------------

 我擦,效果视频放不出来,难受ヽ(*。>Д<)o゜

  //--------------------------------------------------这里是分割线----------------------------------------------------------

代码链接:https://pan.baidu.com/s/1b_Qh3hrEC5oC6WJ8jtohxw 
提取码:ynma

  //--------------------------------------------------这里是分割线----------------------------------------------------------

最后就是我的一些废话了,总之做小车从立项到完成差不多也就一个礼拜吧,前几天还是因为等快递,花费大概是一百多大洋(让每个月就八百生活费的我雪上加霜/(ㄒoㄒ)/~~),学了半个学期老师也没怎么教,也没学长啥的带,全靠自己和另外几个跟我一样的可怜孩子摸石头过河,写这篇文章也希望能帮到更多的小白ˋ( ° ▽、° ) 

  //--------------------------------------------------这里是分割线----------------------------------------------------------

创作不易,希望各位看官能支持一下,有什么说错的地方,希望各位大佬指出来哈

溜了~

有关STM32蓝牙小车制作全过程---刚入门的小白也能会的更多相关文章

  1. Unity 3D 制作开关门动画,旋转门制作,推拉门制作,门把手动画制作 - 2

    Unity自动旋转动画1.开门需要门把手先动,门再动2.关门需要门先动,门把手再动3.中途播放过程中不可以再次进行操作觉得太复杂?查看我的文章开关门简易进阶版效果:如果这个门可以直接打开的话,就不需要放置"门把手"如果门把手还有钥匙需要旋转,那就可以把钥匙放在门把手的"门把手",理论上是可以无限套娃的可调整参数有:角度,反向,轴向,速度运行时点击Test进行测试自己写的代码比较垃圾,命名与结构比较拉,高手轻点喷,新手有类似的需求可以拿去做参考上代码usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;u

  2. STM32读取串口传感器数据(颗粒物传感器,主动上传) - 2

    文章目录1.开发板选择*用到的资源2.串口通信(个人理解)3.代码分析(注释比较详细)1.主函数2.串口1配置3.串口2配置以及中断函数4.注意问题5.源码链接1.开发板选择我用的是STM32F103RCT6的板子,不过代码大概在F103系列的板子上都可以运行,我试过在野火103的霸道板上也可以,主要看一下串口对应的引脚一不一样就行了,不一样的就更改一下。*用到的资源keil5软件这里用到了两个串口资源,采集数据一个,串口通信一个,板子对应引脚如下:串口1,TX:PA9,RX:PA10串口2,TX:PA2,RX:PA32.串口通信(个人理解)我就从串口采集传感器数据这个过程说一下我自己的理解,

  3. LC滤波器设计学习笔记(一)滤波电路入门 - 2

    目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称

  4. 微信小程序开发入门与实战(Behaviors使用) - 2

    @作者:SYFStrive @博客首页:HomePage📜:微信小程序📌:个人社区(欢迎大佬们加入)👉:社区链接🔗📌:觉得文章不错可以点点关注👉:专栏连接🔗💃:感谢支持,学累了可以先看小段由小胖给大家带来的街舞👉微信小程序(🔥)目录自定义组件-behaviors    1、什么是behaviors    2、behaviors的工作方式    3、创建behavior    4、导入并使用behavior    5、behavior中所有可用的节点    6、同名字段的覆盖和组合规则总结最后自定义组件-behaviors    1、什么是behaviorsbehaviors是小程序中,用于实现

  5. 动漫制作技巧如何制作动漫视频 - 2

    动漫制作技巧是很多新人想了解的问题,今天小编就来解答与大家分享一下动漫制作流程,为了帮助有兴趣的同学理解,大多数人会选择动漫培训机构,那么今天小编就带大家来看看动漫制作要掌握哪些技巧?一、动漫作品首先完成草图设计和原型制作。设计草图要有目的、有对象、有步骤、要形象、要简单、符合实际。设计图要一致性,以保证制作的顺利进行。二、原型制作是根据设计图纸和制作材料,可以是手绘也可以是3d软件创建。在此步骤中,要注意的问题是色彩和平面布局。三、动漫制作制作完成后,加工成型。完成不同的表现形式后,就要对设计稿进行加工处理,使加工的难易度降低,并得到一些基本准确的概念,以便于后续的大样、准确的尺寸制定。四、

  6. 【Java入门】使用Java实现文件夹的遍历 - 2

    遍历文件夹我们通常是使用递归进行操作,这种方式比较简单,也比较容易理解。本文为大家介绍另一种不使用递归的方式,由于没有使用递归,只用到了循环和集合,所以效率更高一些!一、使用递归遍历文件夹整体思路1、使用File封装初始目录,2、打印这个目录3、获取这个目录下所有的子文件和子目录的数组。4、遍历这个数组,取出每个File对象4-1、如果File是否是一个文件,打印4-2、否则就是一个目录,递归调用代码实现publicclassSearchFile{publicstaticvoidmain(String[]args){//初始目录Filedir=newFile("d:/Dev");Datebeg

  7. ES基础入门 - 2

    ES一、简介1、ElasticStackES技术栈:ElasticSearch:存数据+搜索;QL;Kibana:Web可视化平台,分析。LogStash:日志收集,Log4j:产生日志;log.info(xxx)。。。。使用场景:metrics:指标监控…2、基本概念Index(索引)动词:保存(插入)名词:类似MySQL数据库,给数据Type(类型)已废弃,以前类似MySQL的表现在用索引对数据分类Document(文档)真正要保存的一个JSON数据{name:"tcx"}二、入门实战{"name":"DESKTOP-1TSVGKG","cluster_name":"elasticsear

  8. 区块链入门教程(6)--WeBASE-Front节点前置服务安装 - 2

    文章目录1.任务背景2.任务目标3.相关知识点4.任务实操4.1安装配置JDK4.2启动FISCOBCOS4.3下载解压WeBASE-Front4.4拷贝sdk证书文件4.5启动节点4.6访问节点4.7检查运行状态5.任务总结1.任务背景FISCOBCOS其实是有控制台管理工具,用来对区块链系统进行各种管理操作。但是对于初学者来说,还是可视化界面更友好,本节就来介绍WeBASE管理平台,这是一款微众银行开源的自研区块链中间件平台,可以降低区块链使用的门槛,大幅提高区块链应用的开发效率。微众银行是腾讯牵头设立的民营银行,在国内民营银行里还是比较出名的。微众银行参与FISCOBCOS生态建设,一定

  9. STM32的HAL和LL库区别和性能对比 - 2

    LL库和HAL库简介LL:Low-Layer,底层库HAL:HardwareAbstractionLayer,硬件抽象层库LL库和hal库对比,很精简,这实际上是一个精简的库。LL库的配置选择如下:在STM32CUBEMX中,点击菜单的“ProjectManager”–>“AdvancedSettings”,在下面的界面中选择“AdvancedSettings”,然后在每个模块后面选择使用的库总结:1、如果使用的MCU是小容量的,那么STM32CubeLL将是最佳选择;2、如果结合可移植性和优化,使用STM32CubeHAL并使用特定的优化实现替换一些调用,可保持最大的可移植性。另外HAL和L

  10. Tcl脚本入门笔记详解(一) - 2

    TCL脚本语言简介•TCL(ToolCommandLanguage)是一种解释执行的脚本语言(ScriptingLanguage),它提供了通用的编程能力:支持变量、过程和控制结构;同时TCL还拥有一个功能强大的固有的核心命令集。TCL经常被用于快速原型开发,脚本编程,GUI和测试等方面。•实际上包含了两个部分:一个语言和一个库。首先,Tcl是一种简单的脚本语言,主要使用于发布命令给一些互交程序如文本编辑器、调试器和shell。由于TCL的解释器是用C\C++语言的过程库实现的,因此在某种意义上我们又可以把TCL看作C库,这个库中有丰富的用于扩展TCL命令的C\C++过程和函数,所以,Tcl是

随机推荐