课程实习stm32主从蓝牙计算器+温度测量

NJWZS      2022-02-16     415

关键词:

说明:对于主从蓝牙计算器项目中的代码都是本人经过思考之后自行创作出来的,没有经过任何的网上抄录,由于课程实习的要求不高,所以我就没有对一些出现的bug进行修改(没有删除功能等)。但是基本的加减乘除都可以实现,包括在一次运算完成之后可以直接进行第二次运算,不需要复位。

我的风格就是先上代码:由于代码比较长,包含关系较为复杂(也算是个比较全面的小项目),所以我会在文章结尾以百度网盘链接的形式展示给大家。

硬件方面:板子用的stm32vet6 hc-05蓝牙模块 iic0.96寸oled 。开发板是学校实习发的,上面有许多的外设模块,我们要用的的有4个独立按键和矩阵键盘以及ds18b20温度传感器。由于开发板是学校的资源,老师也重点强调了不可以向外发布(我觉得非常没有这样必要,我觉得在学习的过程中要保持开源和互相沟通的心理,这样做.......) ,所以这里我就不提供原理图了。

软件方面:本次实习有四个任务,我把四个任务的代码全部整合到了一起,就是在刚开始的界面oled会提示你选择进入那个任务,并按照提示不同的按键选择不同的任务。

前两个任务太过简单,就没有讲的必要,就是基础的按键控制灯,只不过第二个任务用的是矩阵键盘。讲的话浪费大家时间也有失我的水准。

直接从第三个任务讲起。第三个任务是,用ds18b20测量温度,温度越高,亮的led灯就越多。是不是也是很简单,作为一个合格的嵌入式软件工程师应该很快就会想出解决的方法。唯一麻烦的就是对于ds18b20的温度读取上,这里我偷了个懒,直接从淘宝上找商家要的代码,然后改个数据引脚就行。但是对于嵌入式学习来说,最核心最重要的就是对于驱动的编写上,ds18b20是单总线协议的芯片,我曾经写过dht11的驱动代码,也是单总线协议,上手ds18b20的驱动相信也不会很难,但是由于实习时间比较紧张,就直接拿现成的用了,但是建议大家在时间充裕的条件下还是好好的研究芯片的时序图,写写驱动代码,还是很好玩的。

第四个任务。第四个任务我个人认为是相对较为难一些的,毕竟几乎用了我一个小下午的时间。

第四个任务是,在A板输入,然后在B板进行显示并且进行运算,采取蓝牙通信的方式。首先我们解决第一个问题蓝牙通信,实习老师发的是hc-05蓝牙模块,我之前用做过蓝牙遥控小车,所以基本上主从模式很快就可以配好,这里推荐给大家一篇博客。

(7条消息) 蓝牙HC-05上电自动互联(最详细教程)_CaT-CSDN博客_hc05自动连接https://blog.csdn.net/exm_further/article/details/91127481这里要说明一下,蓝牙配好之后,通信的方式我们还是用的串口通信。我们可以把蓝牙直接看成导线使用,一次发一个字节。

蓝牙配好之后,接下来就是计算器程序的编写。我们可以这样想,不管是加减乘除运算,计算的格式都是A_B=C的这种形式,‘_’可以是加减乘除。在A板(主机)我们循环扫描矩阵键盘,并设置每个按键对应数字和加减乘除等的对应关系。当按下一个按键时,通过串口发送对应的字符。B板(从机)在接收到字符之后进行判断是数字还是加减乘除等,如果是数字则判断是第一个还是第二个数字,如果是加减乘除则把对应的标志位设置成相对应的数字,如果是等则根据加减乘除的标志位和记录的第一个和第二个数来计算结果。以上的操作在判断完成之后都会实时的显示在oled上。具体的详细信息,我在代码里面都有注释,大家可以好好看看思考一下。

代码链接:https://pan.baidu.com/s/1ssYG3fslDiQvrLFnPoG7Lw 
提取码:4s7k

Vincent-NJW

如何用stm32检测温度

参考技术ASTM32检测温度?STM32内部带有一个温度传感器,注意这个传感器只能用来测量芯片内部温度。通过配置ADC的16通道来读取。如果你希望检测外部的温度还是得用18B20这样的温度传感器 查看详情

stm32实战应用——1602蓝牙时钟1液晶的显示测试

...西,就是想复习一下最近学习的知识。正好上学期单片机课程设计做过一个可以蓝牙、按键校准、带温度显示的时钟,所以我想看能不能将程序移植到STM32上呢?说做就做,经过三天的时间,几次的程序修改和调试,终于成功了... 查看详情

基于stm32的多功能心电信号监测系统设计

...电信号监测系统,系统包含心电信号采集模块、体表温度采集模块、运动信息测量模块、无线数据传输模块、系统控制模块。实现对人体心电信号、体表温度信息、走路运动信息的实时采集、计算、显示与无线传输。实验测... 查看详情

基于stm32的温度遥测系统(代码片段)

...序1、NRF24L01程序2、DS18B20程序五、总结六、详细代码前言温度是一个和人们生活环境有着密切关系的物理量,也是一种在生产、科研、生活中需要测量和控制的物理量。温度的变化给我们的生活、生产、工作等带来重大影响&#... 查看详情

基于蓝牙的超声波无线测距系统

...的传播速度③实现通过超声波传感器测量距离值。④实现主从机设置,主机显示距离值以及温度,从机测量温度和距离。标签:51单片机,超声波测距, 查看详情

基于onenet平台设计的多节点温度采集系统-有人云4g模块+stm32(代码片段)

一、设计说明设计思路:每个测量点采用4G+STM32+温度测量模块组成;采集温度数据之后直接上传到OneNet物联网云平台,在OneNET云平台上设计可视化界面进行显示,并且也可以在手机APP设备云上显示。当前采用的物联网平台是OneNET... 查看详情

stm32计算机课程设计技术点记录(代码片段)

目录DS18B20一、DS18b20相关背景知识二、DS18b20原理图和数据手册1、内部方框图:2、DS18B20MemoryMap3、详解内部寄存器:4、DS18b20的单总线协议三、时序图1、初始化时序:2、读写时序四、ds18b20进行温度转换AD转换一、AD转... 查看详情

基于stm32+铂电阻设计的测温仪(代码片段)

1.前言设计一种针对特定企业气体温度测量的工况(要求测量精度较高的)进行实际测量。热电阻用来做测量用的电阻有两类,即铂和铜,它们与温度的函数关系是一样的,但实用测温范围不一样,工厂实... 查看详情

基于stm32的智能蓝牙温控风扇控制系统设计-毕设课设

1.LCD1602液晶显示当前温度,温度上下限值,风扇等级,自动手动模式;2.设置有4个按键,按键1可以设置自动和手动2种模式切换;按键2为温度上下限的设置键;按键3为设置状态下的加一键,手动模... 查看详情

stm32驱动模数转换芯片ads1120(2-pt100铂电阻测温度)

1.先看下原理图,原理图是电流从IDAC1流出,提供驱动,然后R(REF)这个电阻上的电压作为参考,读取AIN0和AIN1的电压,那么可以测量出来电阻值。 查看详情

ntc温度探头的采集计算方程我要stm32的案例,精确采集的方程案例谢谢!

1000*temp-1430)/4.3+25,应该主要是因为这个式子,这个式子里面用到了很多的近似值,像1430啊,4.3,1000啊,这些都是一个估计值,你看下或者网上搜下,把这几个数字改下,可能会好些把,我是菜菜鸟一个,不晓得其他的什么原... 查看详情

stm32stm32f407+dht11(代码片段)

...准数字信号输出的温湿度传感器。其精度湿度±5%RH,温度±2℃,量程湿度5~95%RH,温度-20~+60℃。——来自百度百科测量范围:湿度5~95%RH,温度-20~+60℃测量精度:湿度±5%RH,温度±2℃供电电压:... 查看详情

stm32stm32f407+dht11(代码片段)

...准数字信号输出的温湿度传感器。其精度湿度±5%RH,温度±2℃,量程湿度5~95%RH,温度-20~+60℃。——来自百度百科测量范围:湿度5~95%RH,温度-20~+60℃测量精度:湿度±5%RH,温度±2℃供电电压:... 查看详情

STM32,主从设备互不响应

】STM32,主从设备互不响应【英文标题】:STM32,masterandslavedevicesnotrespondingtoeachother【发布时间】:2019-08-3010:06:22【问题描述】:尊敬的堆栈溢出用户,我已经构建了一个带有主设备和10个从属设备的网络。它们都通过4线SPI进行通... 查看详情

stm-32:tim输入捕获—输入捕获模式测频率/pwmi模式同时测量频率和占空比(代码片段)

...频率测量三、电路实现测周法3.1看图说话3.2详细的电路3.3主从触发模式3.4输入捕和PWMI基本结构四、程序代码4.1输入捕获相关函数4.1.1输入捕获初始化配置4.1.2主从触发模式配置4.2输入捕获模式测频率4.2.1接线图4.2.2程序4.3PWMI模式... 查看详情

pt100测温计算

测温系统如下:PT100(0~200℃)----温度变送器(输出0~10V)----AD采集卡。请问如何通过AD采集卡测量的电压值来计算温度测量值,谢谢!参考技术A温度和电压是线性对应关系,例如测量的是5V的电压,那么对应的温度是100℃,计算公式... 查看详情

stm32f103vet6基于stm32cubemx利用exti外部中断测量pwm频率(代码片段)

STM32F103VET6基于STM32CubeMX利用EXTI外部中断测量PWM频率📌相关篇《STM32G070RBT6基于STM32CubeMX配置定时器PWM功能案例》📍《STM32F103VET6基于STM32CubeMX创建EXTI外部中断工程》🌼本篇利用上面两篇示例综合,利用STM32F103VET6引... 查看详情

stm32f103vet6基于stm32cubemx配置非dma方式获取内部温度(代码片段)

STM32F103VET6基于STM32CubeMX配置非DMA方式获取内部温度📌相关篇《STM32F103VET6基于STM32CubeMX配置DMA方式获取内部温度》🛠STM32CubeMX配置🌿勾选温度传感器通道。🌿参数配置选项参考上图。🌿配置串口1作为温度信息... 查看详情