温湿度采集 二

上一篇:温湿度采集并上传到服务器,并通过网络显示

这次使用蓝牙,用安卓App显示
思路同样简单:
首先,使用DHT11温湿度传感器,单片机根据其特定时序读取数据,显示到液晶屏上;
然后,通过串口发送到蓝牙模块,手机连接蓝牙模块;
再然后,写安卓程序接受数据,并显示。

这次不一样的是,自己做硬件。

Demo如下:
DHT11读取温湿度

uint8_t DHT11_ReadTempAndHumi(float *temp,float *humi)
	{
		uint8_t buf[5];
		uint8_t i;
		DHT11_Reset();
		if(DHT11_IsOnline() =/= 0)
		{
			//四位数据位 1位检验位
			//第一位为湿度整数位		第二位为湿度小数位
			//第三位为温度整数位     第四位为温度小数位     第五位为检验位
			for(i = 0; i < 5; i ++)
			{
				buf[i] = DHT11_ReadByte();
			}
			if((buf[0] + buf[1] + buf[2] + buf[3]) == buf[4])
			{
				*humi = (float)buf[0];
				*temp = (float)buf[2];
			}
		}
		else 
		{
			return 1;
		}
		return 0;	    
	}

液晶屏显示 液晶屏用的tft1.44 spi传输数据(网上很多例程)
温湿度采集 二_第1张图片
至于蓝牙传输数据,就是将单片机和蓝牙模块的TX,RX交叉连起来。单片机程序往串口写数据即可。
温湿度采集 二_第2张图片
再通过串口助手发AT指令配置蓝牙模块,手机直接搜索、配对连接。手机下载App蓝牙串口,即可收到数据
温湿度采集 二_第3张图片
至于自己的安卓App,目前还在学,到时候偶写好了再贴

前面都是热身,硬件才是重点
硬件说简单也简单,单片机最小系统+传感器+蓝牙模块,模块都是现成的直接买,但是要做好还是比较难。
我不甘心只做个最小系统(实际上还是个最小系统,哈哈),所以还得画图,让别个加工板子,焊接,最后再调。
先上个原理图
温湿度采集 二_第4张图片
PCB图 图二为手动布线,图一为自动布线,手动布线还是好看很多哈,毕竟花了七八个小时。
温湿度采集 二_第5张图片
这是我第三次画图,前面两次都没成功,这次应该可以,不行也得行
温湿度采集 二_第6张图片
明天再检查一下,覆个铜,调下丝印,然后下单做板子。中间这些时间就拿来做安卓程序。
温湿度采集 二_第7张图片
铺铜OK,然后做了电器检查,然后输出制造文件,前往嘉立创下单,备齐元器件,等待板子回来
温湿度采集 二_第8张图片
OK,等了几天板子终于回来了,元器件也差不多了。
温湿度采集 二_第9张图片
然后板子我也焊接好了,调试也通过了

温湿度采集 二_第10张图片
温湿度采集 二_第11张图片
在这儿总结一下
板子上留了超级多GPIO,但是排针的封装搞错了,,,,以至于闲置了大部分面积,排针我连焊的心情都没了,买的USB的封装跟画的也不一样。
当然板子会再改一次,哎呀就是最小系统。。
MCU使用的Stm32F103RCT6 然后买成了Stm32F030RCT6 对比一下一两个数字之差,程序下不了,调了两个小时。
最开始画板子是想着尽可能的多花点自己接触过的传感器,芯片啥子,现在实际上看来没多大作用,还是要做什么画什么的好。。

嘿嘿,又重新画了一个,修改了封装,部分电路,我觉得还可以。温湿度采集 二_第12张图片
最终效果
温湿度采集 二_第13张图片

接下来还剩下安卓的蓝牙程序,目前安卓刚刚入门,会点简单的界面了。没有找到例程,只有自己慢慢学了。
温湿度采集 二_第14张图片
感觉这下算是真正理解到了单片机为何物了,也不枉画了这么多钱。

你可能感兴趣的:(单片机)