5173网站源码,商业网站设计专业,seo排名点击,wordpress自定义菜单插件个人主页~
实战项目的实现过程#xff08;一#xff09;~ 实战项目的实现过程 二、初步了解各个外设硬件1、OLED模块2、GPS模块3、MPU6050模块4、超声测距模块5、温度测控模块6、语音模块7、SIM模块8、按键模块 三、查阅资料1、查看手册2、查找例程 四、研究硬件功能1、OLED…
个人主页~
实战项目的实现过程一~ 实战项目的实现过程 二、初步了解各个外设硬件1、OLED模块2、GPS模块3、MPU6050模块4、超声测距模块5、温度测控模块6、语音模块7、SIM模块8、按键模块 三、查阅资料1、查看手册2、查找例程 四、研究硬件功能1、OLED模块2、GPS模块3、MPU6050模块4、语音模块 二、初步了解各个外设硬件
在我们确定好要实现的功能后我们要找到实现功能所对应的模块然后将他们的功能简要列举出来
这里我举几个我使用过的硬件的例子将它们的简单功能以及物理特性罗列一下在脑子里要清楚
1、OLED模块
对于OLED模块大家应该很熟悉它对于程序的调试有很好的帮助以及有显示信息等功能四脚OLED有SDA、SCK、VCC、GND两根数据线两根电源线使用IIC通信实现现在的产品基本都会有显示屏所以这个也是必不可少的
2、GPS模块
一根天线加一个解析模块有VCC、GND、TX、RX、PPS这里的PPS引脚是GPS特有引脚是GPS模块上的一个特殊引脚它用于输出每秒一个的脉冲信号这个信号与UTC时间同步具有非常高的精度和稳定性
3、MPU6050模块
MPU6050模块是一个6轴的陀螺仪芯片它是使用IIC通信实现的由3轴加速度计和3轴陀螺仪传感器分别测量X、Y、Z轴的加速度以及X、Y、Z轴的角速度
它有VCC、GND、SCL、SDA、XDA、XCL、AD0、INT其中XDA、XCL就相当于SDA和SCLINT引脚是中断引脚可以产生中断信号可以用来触发中断
4、超声测距模块
超声测距模块功能就是测量物体与模块之间的距离有GND、ECHO、TRIG、VCCECHO和TRIG分别是回响引脚和触发引脚TRIG引脚用来触发超声波测距模块开始测距ECHO引脚用来接收并输出超声波从发射到被障碍物反射回来并被接收的时间信息
5、温度测控模块
温度测控模块没啥好说的就是一个温控电阻然后可以测量实时温度有VCC、DQ、GNDDQ引脚是DS18B20等温度传感器的数据输入输出引脚用于传输温度数据等数字信号
6、语音模块
语音模块就是在特定任务下中断所要执行的程序比如说摄像头监控到行人闯红灯这时喇叭就可以播报有人闯红灯了禁止闯红灯也就是起到一个警示和提醒的作用
这块芯片引脚比较多说几个重要的SPK和SPK-是外接喇叭引脚M和M-是外接咪头也就是麦克风引脚然后有VCC、GND等
7、SIM模块
因为我们的项目是一个贴近生活的项目所以会用到SIM模块用以报警或将信息传递给指定号码
8、按键模块
按键模块用以触发中断一般有几个按钮就有几个1个引脚
三、查阅资料
一般在购买硬件之后商家会给我们发一个资料包商家不发我们也可以直接要或者直接从网络上找
1、查看手册
一般在刚开始上手硬件之前我们要先翻阅一下手册第一遍看手册主要是看一下各个引脚的协议简略的知道它们的连接方法以及电气属性其实简单来说就是别给弄坏了就行保持正确的连接这样方便我们进行调试
2、查找例程
在资料包中找到这个附带的例程然后将它下载到单片机里跑一跑然后我们自己来调试一下保证程序正常运行也就是裸机开发将所有需要该模块实现的程序都移植到一个裸机程序中实现我们预期的效果这样这一步就OK了
打开核心板的手册查看每个引脚对应的协议修改例程中的某些引脚避免出现多个设备要共用一个引脚的尴尬局面这都是要提前规划好的
四、研究硬件功能
挑几个用的比较多的模块解析其中能用到的比如说串口助手
1、OLED模块
OLED模块就是用来显示图片、数字、文字等的但是因为单片机它并不是计算机我们在VS上建一个项目写一个printf就能直接把文字和数字打印出来再搭配上数学公式就可以显示一个精美的图形在单片机上控制OLED屏幕显示就是控制它的像素点亮灭从而达到视觉上的效果这时候我们就需要一个文件专门用来存放这些像素点组合起来的文字数字以及图片然后用一个多个二维数组来维护但我们怎么知道哪些像素点可以组成文字数字和图片呢这时我们就可以用到取模工具 要是想要生成图片就是下面这个图形模式
其实取模软件上面都自带教程的我这里就不赘述了 获得的点阵数据存储到数组当中按照循环打印的方式让像素亮起这样就在视觉上形成了自己想要的图像
如此一来这个图像的生成就可以用来做我们优先级最低的一项任务用来显示一些固定的图像就像游戏机的开始界面不按按钮就一直显示按下某个按钮就会进入中断然后程序跑到游戏任务里面执行游戏界面
2、GPS模块
调试这个模块的时候需要用到USB转TTL 就是个东西可以将USB协议转为TTL协议那么有人会问了USB我知道我们平常用的U盘、很多数据线上的插头都是USB的TTL是什么
TTL是一种电子电路中的逻辑电平标准它使用晶体管进行逻辑电平转换USB转TTL模块的作用是将计算机上的USB接口的信号转换为TTL电平的串口信号以便与其他支持TTL电平标准的设备进行串口通信也就是说是计算机与单片机进行串口通信的桥梁
然后请上我们配套的串口助手 串口助手可以实时接收到来自模块的信息然后将信息显示甚至保存在文件当中然后可以对比着商家给的资料就可以解析出经纬度由于数据涉及到个人位置的隐私问题就不拿出来举例了不管是GPS还是北斗定位它都会涉及到协议问题再参照使用手册就可以很好理解这个模块的功能一般这种模块的手册都是很简单的
3、MPU6050模块
这个模块在很多产品中都会用到像电赛的循迹小车题等的都会用到只要是要检测运动状态的产品中都会存在这个模块这个模块很小有八个引脚大致可以分为四个模块一个是电源线VCC、GND一个是IIC通信线SDA、SCL、XDA、XCL一个是中断控制线INT一个是地址线AD0
电源线就不必多说了VCC可接3.3V或5V
SCLI2C通信的时钟线用于同步数据传输在I2C通信中SCL由主设备控制用于确定数据传输的速率。
SDAI2C通信的数据线用于在主设备和从设备之间传输数据。在MPU6050中SDA引脚用于接收和发送数据
XDA和XCL这些是MPU6050的辅助I2C接口引脚用于连接其他外部设备或传感器并非所有版本的MPU6050都包含这些引脚具体取决于模块的封装和配置效果与SCL与SDA相同目的是将其他设备也挂载到IIC总线上
INT中断引脚可用于输出中断信号当MPU6050检测到特定事件如数据就绪、超出阈值等时可以通过该引脚输出中断信号通知主控制器进行相应的处理
AD0地址选择引脚用于设置MPU6050的I2C地址通过将该引脚连接到VCC或GND可以选择不同的I2C设备地址从而允许在同一I2C总线上连接多个MPU6050模块而不会发生地址冲突
4、语音模块
语音模块的使用可以是外接一个喇叭或者一个喇叭一个咪头对于语音模块的使用还是按照步骤来发来的资料包中看手册看功能然后再在网络上搜索这里调试硬件也是需要USB转TTL可以极大程度的方便我们使用模块不过这里我们用到的功能是烧录
按照教程的说法我们可以在某平台上进行固件下载未来我们要输出的语音指令就可以是对应固件的比如说固件的语音输出的包头包尾我们可以写在单片机程序当中然后再在中间加入要语音输出的内容这样我们就可以很好的将该模块适配到单片机上 网上教程有很多对于入门使用很详细入门之后自己挖掘就可以了这样一个固件就下载好了这个模块也就调试好了当然编写程序的时候一定要看这个固件的协议是什么样的以便对症下药
我所使用的芯片是SU-03T是一款较普遍且稳定的语音模块芯片 下载是用的烧录工具在网上可以找到烧录教程
固件对每个引脚都有配置的参数用户可以自行调整如果装载着咪头还可以进行语音唤醒语音识别后进行相应的操作这样可以做一些智能家居、智能遥控器、智能音箱啥的 写到这里我突然明白了为什么现在的企业对于这些智能家居、智能小车那么不感冒了实现的原理在我们梳理模块功能的时候就能将一个小项目给规划出来包括智能门锁这样的项目我在网上看到过教程裸机开发就能搞定只需要4*4的按钮这样的项目还不如做一个小型的游戏机起码小型的游戏机里面的游戏逻辑也就是代码部分要求还是比较高的像我C语言项目里面的贪吃蛇游戏就可以进行修改然后做成小游戏机
但进行一些类似上面所说的小的项目实践对于深入了解STM32的各种外设是帮助很大的因为软硬结合的这种工作是需要动手实践的只看教程和书本是效率很低的一种行为练手是可以的搬上台面就没啥竞争力了 今日分享就到这里了~