| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> STM32分别实现温湿度的采集和OLED显示屏显示数据 -> 正文阅读 |
|
[嵌入式]STM32分别实现温湿度的采集和OLED显示屏显示数据 |
目录 一、温湿度的采集1.1了解I2C总线协议? ? ? ?由于本次的温湿度采集需要通过I2C接口实现,所以我们先来了解一下I2C总线协议 从图中我们可以看出呢,I2C总线的特点: 1.它是由两根线组成的,一根叫SCL(串行时钟线),一根叫SDA(串行数据线)。线少,好处自然不用多说咯,但是速度肯定就慢了,用作外设之间的数据接口够用了。而快速的芯片内部通信,用的是AMBA总线通信,想了解的自己查一下,或者过几天我研究后再写。 2.每颗I2C芯片呢都可以作为主机和从机,但一次通行中只允许存在一个主机。 I2C总线存在三种状态: 1.空闲 2.工作开始 3.工作停止 先说空闲状态:当SCL与SDA同时为高电平时,为空闲态,说白了,就啥也不干。如下图: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 再说说开始工作状态,此时SCL为高,而SDA出现下降沿,如下图: 最后就是停止工作状态,此时SCL为高,SDA出现上升沿,如下图: 1.2实现AHT20采集程序串口调试助手可以自己随机选择下载,这里用的是野火串口调试助手 主要代码: AHT20芯片的使用过程:
AHT20芯片读取数据:
结果显示: ?二、OLED显示屏显示数据2.1了解SPI? ? ? ? ISP全称Image Signal Processing,即图像信号处理。主要用来对前端图像传感器输出信号处理的单元,以匹配不同厂商的图象传感器。ISP 通过一系列数字图像处理算法完成对数字图像的效果处理 ? ? ? ? ISP 的控制结构如图所示,lens 将光信号投射到sensor 的感光区域后,sensor 经过光电转换,将Bayer 格式的原始图像送给ISP,ISP 经过算法处理,输出RGB 空间域的图像给后端的视频采集单元。在这个过程中,ISP 通过运行在其上的firmware 对ISP逻辑,lens 和sensor 进行相应控制,进而完成自动光圈、自动曝光、自动白平衡等功能。其中,firmware 的运转靠视频采集单元的中断驱动。PQ Tools 工具通过网口或者串口完成对ISP 的在线图像质量调节。 ? ? ? ?ISP 由ISP 逻辑及运行在其上的Firmware 组成,逻辑单元除了完成一部分算法处理外,还可以统计出当前图像的实时信息。Firmware 通过获取ISP 逻辑的图像统计信息,重新计算,反馈控制lens、sensor 和ISP 逻辑,以达到自动调节图像质量的目的。 2.2使用OLED显示2.2.1实验题目:2. 理解OLED屏显和汉字点阵编码原理,使用STM32F103的SPI或IIC接口实现以下功能: 1) 显示自己的学号和姓名;? 2) 显示AHT20的温度和湿度; 3) 上下或左右的滑动显示长字符,比如“Hello,欢迎来到物联网205实训室!”或者一段歌词或诗词(最好使用硬件刷屏模式)。 2.2.2实验过程下载官方的资料:(里面有工程) 0.96inch SPI OLED Module - LCD wiki 工程在这里,选择自己所用的芯片即可: ? 打开后找到oledfont.h (注意:工程需要编译了之后才会出现.h文件,打开工程先编译) 在如图的函数里复制粘贴你想写的东西,但在此之前需要字模的转换? 字模的转换可以用PCtoLCD2002完美版,转换前记得设置选择,选C51 然后去test.c中找到void TEST_MainPage(void)然后输入:
接线如下,注意烧程序的时候跳线帽是01: 连好线之后烧录程序后拔掉usb,将跳线帽改成00,再将usb接上电脑即可: ? 之后的滑动显示长字符也和上面的操作差不多,先取字模然后改test.c,最后因为需要滑动的效果,还需要在main.c中合适位置加上?OLED_WR_Byte(0x2F,OLED_CMD); //开启滚动 ? 三、总结? ? ?这次的温湿度和OLED的实验让我了解到了I2C总线协议和ISP,这两个实验的代码其实都很开源,网上找找就有,算是验证性实验,在OLED的时候字模和有一些代码需要改成自己想显示的字,还有一些小细节需要注意就好了。 四、参考资料I2C总线协议详解 - Jamesjiang2050 - 博客园 (cnblogs.com) 温湿度采集的代码参考:GitHub - Sunlight-Dazzling/stm32-AHT20 at master (62条消息) stm32通过I2C接口实现温湿度(AHT20)的采集_Harriet的博客-CSDN博客(62条消息) stm32通过I2C接口实现温湿度(AHT20)的采集_Harriet的博客-CSDN博客 (62条消息) ISP概述、工作原理及架构_一个人的红尘-CSDN博客 (62条消息) STM32Mini基于SPI接口的0.96寸OLED屏数据显示_CHL的博客-CSDN博客 ? |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 10:28:25- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |