单片机学习小组
直播中

杨海清

7年用户 1629经验值
私信 关注

怎样去设计一种基于STM32F103C8T6的户外环境监测系统呢

怎样去设计一种基于STM32F103C8T6的户外环境监测系统呢?

回帖(1)

何微微

2022-1-19 11:25:55
基于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可是进行数据传输。(后面我把代码打个包)
这里是接线安排
[tr]OUT管脚接最小系统板的PB11管脚[/tr]


(2):GY-30光照强度传感器

这个代码实现的逻辑是由下图
|
[tr]GPIO配置配置使能,管脚配置为PB56[/tr]
初始化BH1750设置地址,内存地址,还有IIC信号停止源
延时函数Delay()
读取光照强度读取BH1750内部结构
合成数据运算设置value值
想要了解更多的同学可以看这个博主的博文帅奎奎
管脚插线方法:
[tr]GND、ADDGND[/tr]
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);


}
这是我自己修改的地方,为了代码的客观性,将冗余的代码用函数的形式实现。
接线设置:
[tr]SDAPA7[/tr]

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


遇到的问题总结
一个是运行总线IIC上面的知识,自己运用的不是很熟练,同时在将这些代码初始时,整体的客观性不强,现在改过来啦。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分