找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2458|回复: 3
收起左侧

有人制作过单片机自动浇花系统没,求详细资料

[复制链接]
ID:170455 发表于 2017-3-13 22:18 来自手机 | 显示全部楼层 |阅读模式
4黑币
自动浇花系统,求大神联系qq1064748826,有偿

回复

使用道具 举报

ID:7485 发表于 2017-3-14 14:33 | 显示全部楼层
我就是测一个有代表性的、盆子里的土壤的含水,控制电磁阀,主管路(都是软管)上扎上孔,自流到花盆里。大花盆扎大孔,小花盆扎小孔。注意最好是不透光的,否则会在管壁上长水苔,会堵住管子上的孔的。

这个不是智能的,比如:刚刚浇过了水,就下起了雨。这一点好像不太容易改进。
回复

使用道具 举报

ID:123289 发表于 2017-3-14 22:27 | 显示全部楼层
如果做产品,愿意合作。
回复

使用道具 举报

ID:345619 发表于 2018-6-5 19:44 | 显示全部楼层

一个比较简单的课程设计:智能浇花
用的是STM32
// ADC 单通道采集
#include "stm32f10x.h"
#include "./usart/bsp_usart.h"        
#include "bsp_adc.h"
#include "bsp_pwm_output.h"
#include "./lcd/bsp_ili9341_lcd.h"
#include "./flash/bsp_spi_flash.h"

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

// 局部变量,用于保存转换计算后的电压值         
float ADC_ConvertedValueLocal;        
int humi;
char humiBuff[10];
// 软件延时
void Delay(__IO uint32_t nCount)
{
  for(; nCount != 0; nCount--);
}
/**
  * @brief  主函数
  * @param  无
  * @retval 无
  */
int main(void)
{        
        //LCD初始化
        ILI9341_Init();
        // 配置串口
        USART_Config();
        // ADC 初始化
        ADCx_Init();
        //pwm配置
        TIMx_PWM_Init();
        
        printf("\r\n ----土壤湿度读出数据----\r\n");
        
        LCD_SetColors(RED,BLACK);

        ILI9341_Clear(0,0,LCD_X_LENGTH,LCD_Y_LENGTH);        /* 清屏,显示全黑 */
        
        while (1)
        {         
                ADC_ConvertedValueLocal =(float) ADC_ConvertedValue/4096*3.3; // 读取转换的AD值
               
                //换算成对应的湿度值
                b=get_YL_value_percent(ADC_ConvertedValueLocal);
                humi=100-b;        
                        
                printf("\r\n 转换到的电压值 = %04fV \r\n", ADC_ConvertedValueLocal);
          printf("\r\n 获取湿度 = %d %RH  \r\n",humi);
               
                //把整形转换成字符串
                //LCD显示当前湿度
                LCD_SetFont(&Font8x16);
                LCD_SetTextColor(RED);
                ILI9341_DispStringLine_EN(LINE(5),"The new humi is");
                sprintf(humiBuff,"  %dRH ",humi);
                LCD_SetTextColor(GREEN);
                LCD_SetFont(&Font24x32);
                ILI9341_DispString_EN(50,180,humiBuff);
               
                if((humi>0)&&(humi<5))  //正转
                {
                        Delay(0xff);

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

                        TIM_SetCompare1(TIM3,0);
                        TIM_SetCompare2(TIM3,0);
                  Delay(0xfffe);
                }

                Delay(0xffffe);
        }
}

/*********************************************END OF FILE**********************/

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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