基于stm32f103的SHT30温湿度显示
本次分享的是基于STM32F103C8T6单片机型号和SHT30温湿度传感器以及TFT(3.5)屏的温湿度显示实验
本实验使用的TFT彩色屏的驱动程序由商家提供,我们只需要按照自己显示的形式进行相应的设置进行了。同时SHT30程序部分借鉴了这位博主的分享(表示感谢)
一、硬件材料
1.stm32f10c8t6
2.sht30温湿度传感器
3.TFT(3.5)寸屏
二、SHT30介绍
sht30为4引脚IIC控制传感器,这里就不详细说这个模块了,知道怎么用就行了,和DHT11温湿度模块差不多。
sht30.h
- #ifndef _SH30_H
- #define _SH30_H
- #include "delay.h"
- #include "sys.h"
- #include "stdio.h"
- #include "usart.h"
- #include "string.h"
- extern u8 humiture_buff1[20];
- void SHT30_Init(void);
- void IIC_ACK(void);//确认字符,表示发来的数据已经确认接收无误
- void IIC_NACK(void);//无确认字符,表示数据接收有误或者还未接收完成
- u8 IIC_wait_ACK(void);//等待接收确认字符
- void IIC_Start(void);//等待IIC传输数据开始
- void IIC_Stop(void);//IIC传输数据停止
- void IIC_SendByte(u8 byte);//IIC发送数据
- u8 IIC_RcvByte(void);//IIC接收数据
- void SHT30_read_result(u8 addr);//SHT30温湿度传感器开始读取数据
- #endif
复制代码
sht30.c
下面这两句不明白的小伙伴,我另外一篇博文会专门介绍
- #define IIC_INPUT_MODE_SET() {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=8<<28;}//改变PB7对应位为1000(CNF[1:0]MODE[1:0]),设置成上拉或者下拉输入
- #define IIC_OUTPUT_MODE_SET() {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=3<<28;}//改变PB7对应位为0011,设置成通用推挽输出
复制代码
三、主程序
main.c
- /*------------------------TFT3.5接线--------------------------
- // GND 电源地
- // VCC 3.3v电源
- // SCL PA0(SCLK)
- // SDA PA1(MOSI)
- // RES PA2
- // DC PA3
- // BLK PA4 控制背光
- // MISO PA5
- // CS1 PA6
- // CS2 PA7
- ----------------------------------------------------------------*/
- #include "delay.h"
- #include "sys.h"
- #include "led.h"
- #include "lcd_init.h"
- #include "lcd.h"
- #include "pic.h"
- #include "usart.h"
- #include "SH30.h"
- extern float Temperature;
- extern float Humidity;
- unsigned char buf[2][24] = {0};
- int main(void)
- {
- u8 i,j;
- float t=0;
- LED_Init();//LED初始化
- LCD_Init();//LCD初始化
- SHT30_Init();
- uart_init(115200);
- printf("SHT30初始化正常,已准备就绪!\r\n");
- LCD_Fill(0,0,LCD_W,LCD_H,GREEN);
- while(1)
- {
- SHT30_read_result(0x44);
- sprintf((char *)buf[0],"Current Temp:%.2f",Temperature);
- sprintf((char *)buf[1],"Current Humi:%.2f",Humidity);
- LCD_ShowString(40,120,buf[0],WHITE,RED,32,0);
- LCD_ShowString(40,160,buf[1],WHITE,RED,32,0);
- delay_ms(2000);
- }
- }
复制代码
四、实验结果
————————————————
版权声明:@slow-walker
|