• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

基于STM32F103C8T6的OLED温湿度显示设计

1小时前
86
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

STM32单片机实物设计合集资料获取.pdf

共1个文件

资料清单:源程序+PDF原理图+PCB图+实物演示视频+软件安装包

PDF原理图&PCB图:Altium Designer

芯片型号:STM32F103C8T6

程序编译: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

  • STM32单片机实物设计合集资料获取.pdf
    下载

相关推荐