找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5908|回复: 5
收起左侧

STM32智能浇花系统源码

[复制链接]
ID:154413 发表于 2018-4-20 17:01 | 显示全部楼层 |阅读模式
一个比较简单的课程设计:智能浇花
通俗易懂
用的是STM32
有需要的可以下载

单片机源程序如下:

  1. // ADC 单通道采集
  2. #include "stm32f10x.h"
  3. #include "./usart/bsp_usart.h"       
  4. #include "bsp_adc.h"
  5. #include "bsp_pwm_output.h"
  6. #include "./lcd/bsp_ili9341_lcd.h"
  7. #include "./flash/bsp_spi_flash.h"

  8. // ADC1转换的电压值通过MDA方式传到SRAM
  9. extern __IO uint16_t ADC_ConvertedValue;
  10. int get_YL_value_percent(float a);
  11. int b;

  12. // 局部变量,用于保存转换计算后的电压值          
  13. float ADC_ConvertedValueLocal;        
  14. int humi;
  15. char humiBuff[10];
  16. // 软件延时
  17. void Delay(__IO uint32_t nCount)
  18. {
  19.   for(; nCount != 0; nCount--);
  20. }
  21. /**
  22.   * @brief  主函数
  23.   * @param  无
  24.   * @retval 无
  25.   */
  26. int main(void)
  27. {       
  28.         //LCD初始化
  29.         ILI9341_Init();
  30.         // 配置串口
  31.         USART_Config();
  32.         // ADC 初始化
  33.         ADCx_Init();
  34.         //pwm配置
  35.         TIMx_PWM_Init();
  36.        
  37.         printf("\r\n ----土壤湿度读出数据----\r\n");
  38.        
  39.         LCD_SetColors(RED,BLACK);

  40.         ILI9341_Clear(0,0,LCD_X_LENGTH,LCD_Y_LENGTH);        /* 清屏,显示全黑 */
  41.        
  42.         while (1)
  43.         {        
  44.                 ADC_ConvertedValueLocal =(float) ADC_ConvertedValue/4096*3.3; // 读取转换的AD值
  45.                
  46.                 //换算成对应的湿度值
  47.                 b=get_YL_value_percent(ADC_ConvertedValueLocal);
  48.                 humi=100-b;       
  49.                        
  50.                 printf("\r\n 转换到的电压值 = %04fV \r\n", ADC_ConvertedValueLocal);
  51.           printf("\r\n 获取湿度 = %d %RH  \r\n",humi);
  52.                
  53.                 //把整形转换成字符串
  54.                 //LCD显示当前湿度
  55.                 LCD_SetFont(&Font8x16);
  56.                 LCD_SetTextColor(RED);
  57.                 ILI9341_DispStringLine_EN(LINE(5),"The new humi is");
  58.                 sprintf(humiBuff,"  %dRH ",humi);
  59.                 LCD_SetTextColor(GREEN);
  60.                 LCD_SetFont(&Font24x32);
  61.                 ILI9341_DispString_EN(50,180,humiBuff);
  62.                
  63.                 if((humi>0)&&(humi<5))  //正转
  64.                 {
  65.                         Delay(0xff);

  66.                         TIM_SetCompare1(TIM3,900); //设置定时器3通道1 新的占空比
  67.                         TIM_SetCompare2(TIM3,0);
  68.                         Delay(0xfffe);
  69.                 }
  70.                 else                   //不转
  71.                 {
  72.                         Delay(0xff);

  73.                         TIM_SetCompare1(TIM3,0);
  74.                         TIM_SetCompare2(TIM3,0);
  75.                   Delay(0xfffe);
  76.                 }

  77.                 Delay(0xffffe);
  78.         }
  79. }

  80. /*********************************************END OF FILE**********************/

复制代码

所有资料51hei提供下载:
智能灌溉系统.rar (783.2 KB, 下载次数: 134)
回复

使用道具 举报

ID:322230 发表于 2018-5-4 17:41 | 显示全部楼层
为什么打不开程序?
回复

使用道具 举报

ID:319334 发表于 2018-5-7 18:33 | 显示全部楼层
没有币了,呜呜
回复

使用道具 举报

ID:319334 发表于 2018-5-8 10:39 | 显示全部楼层
这个资料里的内容看不懂啊
回复

使用道具 举报

ID:471632 发表于 2019-2-28 16:42 | 显示全部楼层
这都用上了stm32了吗?这个用最简单的单片机就可以实现,甚至用瓶子加滴水装置即可实现了
回复

使用道具 举报

ID:861916 发表于 2020-12-17 09:27 | 显示全部楼层
赞一个,真好,想要源码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表