基于STM32F103C8T6最小开发板设计的户外环境监测系统(运用了DHT11模块,GY-30数字光照模块,低电平触发蜂鸣器,OLED显示)

基于STM32F103C8T6最小开发板设计的户外环境监测系统(运用了DHT11模块,GY-30数字光照模块,低电平触发蜂鸣器,OLED显示)

这个户外监测系统自己还在完善,在这个上传给onenet中移物联网上传出现一点小问题,不过上传数据还是不是很稳定,所以目前个人发表的是自己实现在周遭环境监测系统的1.0版本。后续还会发表自己的升级版,敬请期待吧!

首[在这里插入图片描述是我们这个系统运行的载体是STM32F103C8T6最小系统板
然后就是大家比较熟知的传感器模块:
(1):温湿度传感器
在这里插入图片描述
这个传感器运行是需要经过两次的上拉电平,才能实现将AD转换成数据转发传输,想要更加深入理解这个传感器的原理可以这个大佬学习-(我也是看这个的)

static void DHT11_Rst(void)
{                 
		GPIO_SETOUT();											//配置成输出模式
    GPIO_ResetBits(DHT11_IO,DHT11_PIN); //拉低数据线
    delay_ms(20);    										//拉低至少18ms
    GPIO_SetBits(DHT11_IO,DHT11_PIN); 	//拉高数据线 
	  delay_us(30);     									//主机拉高20~40us
		GPIO_ResetBits(DHT11_IO,DHT11_PIN);
}

这是启动让DHT11可是进行数据传输。(后面我把代码打个包)
这里是接线安排

OUT管脚接最小系统板的PB11管脚

(2):GY-30光照强度传感器
在这里插入图片描述
这个代码实现的逻辑是由下图
|

GPIO配置配置使能,管脚配置为PB5\6
初始化BH1750设置地址,内存地址,还有IIC信号停止源
延时函数Delay()
读取光照强度读取BH1750内部结构
合成数据运算设置value值

想要了解更多的同学可以看这个博主的博文帅奎奎
管脚插线方法:

GND、ADDGND
VCCVcc
SDAPB5
SCLPB6

(3)OLED显示屏:
在这里插入图片描述
我用的OLED代码是正点原子的,通过这个实验例程移植到我这边的代码上。当然为了更好的实现我自己也改了一些内容:

void OLED_Show(u8 temp,u8 humi,u8 Light)
{	
  
	OLED_ShowString(35,2, ":",16);//显示温度中文
	OLED_ShowCHinese(0,4,10);
	OLED_ShowCHinese(17,4,11);
	OLED_ShowString(35,4, ":",16);//显示湿度中文
	OLED_ShowCHinese(0,6,12);
	OLED_ShowCHinese(17,6,13);
	OLED_ShowString(35,6, ":",16);//显示光照中文
	OLED_ShowNum(45,2,temp,3,16);//显示温度
	OLED_ShowNum(45,4,humi,3,16);//显示湿度的码值 
	OLED_ShowNum(45,6,Light,3,16);//显示湿度的码值	 
	delay_ms(10);

}

这是我自己修改的地方,为了代码的客观性,将冗余的代码用函数的形式实现。

接线设置:

SDAPA7
SCLPA5

这样就可以将这些模块整合在最小系统里了。
OLED显示

串口实时反馈

遇到的问题总结
一个是运行总线IIC上面的知识,自己运用的不是很熟练,同时在将这些代码初始时,整体的客观性不强,现在改过来啦
在这里插入图片描述
整体自己这样过来还是颇有感触,网上有各种各样的方法和代码,都不如自己慢慢调试,形成自己传感器库,在后面的开发中直接调用就可以了,当然我们还是要借鉴别人的代码,感谢那些引路人,谢谢你们

源码给你哇,一起加油喂

  • 3
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
STM32F103C8T6是一款功能强大的32位ARM处理器,广泛应用于嵌入式系统中。最小开发板PCB针对该芯片设计,具备以下特点: 1. 紧凑设计最小开发板PCB采用紧凑设计,板子尺寸小、形状简单,可方便地嵌入到各种嵌入式设备中。 2. 强大的处理能力:这款开发板搭载STM32F103C8T6处理器,具备高性能和低功耗的特点,适用于各种应用场景,包括工业控制、智能家居、汽车电子等。 3. 多种接口:开发板上提供了丰富的接口,包括数字I/O口、模拟I/O口、UART、SPI、I2C等,方便用户连接外部设备和传感器。 4. 丰富的外设:最小开发板PCB上还集成了多个外设模块,如LED指示灯、按键开关、USB接口等,方便开发者进行原型设计和测试。 5. 支持USB供电:该开发板支持通过USB接口进行供电,方便实现无需外部电源的开发。 6. 软件开发支持:STM32F103C8T6是一款广受欢迎的芯片,在软件开发方面有丰富的资源支持,包括官方提供的开发工具和开发环境,以及广泛的社区支持。 综上所述,STM32F103C8T6最小开发板PCB是一款便捷实用的嵌入式系统开发工具,具备强大的处理能力和丰富的外设接口,为开发者提供了简单、高效的开发环境。无论是初学者还是经验丰富的嵌入式工程师,该开发板都能满足各种需求,并帮助他们快速开发、测试和验证各种应用。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值