个人项目——基于STM32的太阳能供电智能花盆

        最近考完试是真的无聊,突然想起来之前有想做过智能花盆的,而且零件也买了,因为没有时间一直没做,正好现在有空,就把它做了吧。

        总体来说项目比较简单,所以做起来还是很快的,软硬件全部做完大概花个了四个小时,其中大部分时间在焊接硬件,老规矩,先来看我录的项目视频介绍

        点击观看视频

        接下来当然是项目的源码,也给大家准备好了

        点击下载代码

        这次没有单独设计APP,只用了机智云的Demo APP,大家有需要单独设计的请查看我的博客:“个人项目——机智云开源APP基础修改教程(Android)”    https://blog.youkuaiyun.com/tichimi3375/article/details/80621362,里面有详细的修改步骤,包看包会。同样的用STM32连接机智云的教程也有:https://blog.youkuaiyun.com/tichimi3375/article/details/80292336

        先上几张成品图


        云端的数据点有


        硬件连接如下


        关键部分的代码如下

adcx=Get_Adc_Average(ADC_Channel_1,10);//获取PA1的adc值
		adcy=Get_Adc_Average(ADC_Channel_2,10);//获取PA2的adc值
		temp=(float)adcx*(3.3/4096);//得到电压
		temp1=((float)adcy*(3.3/4096))*5;//得到电压再乘5,因为电压检测模块将检测到的电压缩小了5倍再输出给单片机
		percent=(3.3-temp)/3.3*100;//自定义湿度百分比
		adcz=Lsens_Get_Val();//得到光照强度
		currentDataPoint.valueHumidity = percent;//上传湿度百分比
		currentDataPoint.valueVoltage = temp1;//上传电池电压
		currentDataPoint.valueLight = adcz;	//上传光照强度
		//printf("Humity:%f   %%\r\n",percent);
		//printf("ADC_channel2:%f\r\n",temp1);
		if(0x01 == currentDataPoint.valueAutomatic)//如果自动模式开启
		{
			currentDataPoint.valueWatering=0;//浇水功能不能使用
			if(percent<40)//如果湿度小于40%
			{
					LED0=1;//闭合继电器浇水
			}else
			{
					LED0=0;//否则不动作
			}
		}else
		{
				if(0x01 == currentDataPoint.valueWatering)//如果自动模式关闭,浇水功能开启
        {
          //user handle
					LED0=1;//闭合继电器浇水
        }
        else
        {
          //user ha.ndle
					LED0=0;//否则不浇水
        }
		}	
		if(temp1<2)
		{
				currentDataPoint.valueWarning = 1;//如果电池电压小于2V,开启报警
		}else
		{
				currentDataPoint.valueWarning = 0;
		}

        项目基本就是这样了,其实并不难,大家可以认真阅读学习。

        至此,教程结束,谢谢大家,也欢迎大家关注我的个人技术与资源分享公众号“linkutures”


评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值