资料清单:源程序+PDF原理图+PCB图+实物演示视频+软件安装包
PDF原理图&PCB图:Altium Designer
程序编译:Keil5 MDK
编程语言:C语言
设计编号:【STM001】
1、简介
本文提出了一种基于STM32单片机的OLED温湿度显示设计。该设计在硬件方面主要采用STM32F103C8T6作为主控核心,结合DHT11温湿度采集模块,将采集到的温湿度信息送到OLED显示。
2、主要功能
a.将DHT11温湿度模块采集的温湿度信息送到OLED显示。
3、源程序
#include "stm32f10x.h"
#include "bsp_systick.h"
#include "bsp_i2c_gpio.h"
#include "OLED_I2C.h"
#include "dht11.h"
#include "stdio.h"
float temp;//温度
float hum; //湿度
//SCL-PB6
//SDA-PB5
//DHT11-PA15
//VCC-3.3V
void oled_display(void)//OLED显示函数
{
u8 i;
unsigned char buffer1[5]={0},buffer2[5]={0}; //定义两个数组,作为传感器值缓冲
DHT11_Read_Data(); //读取温度湿度值
sprintf((char*)buffer1,"%.1f",temp); //温度
sprintf((char*)buffer2,"%.1f",hum); //湿度
for(i=11;i<17;i++){OLED_ShowCN((i-10)*16,0,i);} //温度湿度测量
for(i=11;i<13;i++){OLED_ShowCN((i-11)*16,3,i);} //温度文字显示
OLED_ShowStr(34,3,(unsigned char*)":",2); //显示ASCII
OLED_ShowStr(45,3,buffer1,2); //温度值
OLED_ShowStr(76,3,(unsigned char*)"C",2); //温度符号
for(i=13;i<15;i++){OLED_ShowCN((i-13)*16,5,i);} //湿度文字显示
OLED_ShowStr(34,5,(unsigned char*)":",2); //显示ASCII
OLED_ShowStr(45,5,buffer2,2); //湿度值
OLED_ShowStr(76,5,(unsigned char*)"%",2); //湿度符号
}
int main(void) //主程序
{
SystemInit(); //系统时钟初始化
i2c_Init(); //IICOLED初始化
OLED_Init(); //OLED屏幕设置初始化
DHT11_Init(); //DHT11初始化
while(1)
{
oled_display(); //OLED显示
}
}
4、PDF原理图和PCB图
该原理图和PCB是通过Altium Designer软件设计的,仅提供PDF原理图和PCB顶层/底层图片!!!
PDF原理图:
PCB顶层和底层图:
5、实物效果图
6、资料清单
7、资料获取链接
百度网盘下载链接:https://docs.qq.com/doc/DRXdKb1hOTGRMZVdR
更多单片机实物设计合集:https://docs.qq.com/sheet/DRURGZmFVZ1BoQ2ZU
阅读全文
86