智能鱼缸管理系统-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5959|回复: 5

[项目] 智能鱼缸管理系统

[复制链接]
发表于 2019-3-29 00:38 | 显示全部楼层 |阅读模式
本帖最后由 CHtime 于 2019-4-6 16:50 编辑

本来是想用申请的电路板完成作品的,但是电路板迟迟不到,我还是先用我自己的板子做出来吧,今晚终于拍完了视频。
先给大家展示几张作品照片和完成视频。
1.这是手机软件APP操作界面

APP界面

APP界面

2.视频

3.今天就先到这,有时间再做详细介绍
更新
鱼塘智能管理系统使用说明
日期:2019406日星期四               作者:chtime
本设备设计方式是安装控制端的安卓手机和被控智能鱼缸在局域网即统一内网WIFI网络下操作。
设备清单:1 安装控制端软件的安卓手机
      2 被控智能鱼缸
      3 具备打开手机热点的安卓手机
使用步骤:
1. 打开安卓手机热点,将WIFI名称改为:TD123  密码:yzl:3.14
2. 接通智能鱼缸电源,等待30
3. 打开安装控制端软件的安卓手机,连接上述第1步的手机WIFI
4. 测试软件,功能是否正常
温度传感器校验表
项目|编号
1
2
3
4
5
ADC
940
875
811
760
700
温度(℃)
0
5
10
15
20
温度计算算法:温度=940-ADC/12
湿度传感器状态校验表
项目|编号
1
2
ADC
0-500
500-1024
状态
缺水
正常
通讯协议:
传输方向
手机>>>>>设备
编号
数据
功    能
备注
1
10
关闭供氧
2
11
打开供氧
3
20
关闭补水
4
21
打开补水
5
30
关闭补光
6
31
打开补光
7
40
关闭喂食
8
41
打开喂食
9
ZD
打开自动模式
10
SD
打开手动模式
11
0
无指令
传输方向
设备>>>>>手机
编号
数据
功    能
备注
1
10
供氧关
2
11
供氧开
3
20
补水关
4
21
补水开
5
30
补光关
6
31
补光开
7
40
喂食关
8
41
喂食开
9
50
水位高度:却水
10
51
水位高度:正常
11
0-99
水温

下面是程序,水平比较低
[pre]#include <SoftwareSerial.h>
//实例化软串口
SoftwareSerial mySerial(2, 3); // RX, TX
int ph=13;
int led=12;

int GY=2;
int JR=3;
int BG=4;
int WS=5;

const int LDPIN = 6;

int LD=0;

int sj;  //接收的串口数据


void setup()
{
  Serial.begin(115200);
  pinMode(ph,OUTPUT);
  pinMode(led,OUTPUT);
  pinMode(GY,OUTPUT);
  pinMode(JR,OUTPUT);
  pinMode(BG,OUTPUT);
  pinMode(WS,OUTPUT);

  pinMode(LDPIN,INPUT);
  
  Serial.println("串口已连接");
}

void loop()
{
    /*程序初始化*/
   digitalWrite(GY,LOW);
   digitalWrite(JR,LOW);
   digitalWrite(BG,LOW);
   digitalWrite(WS,LOW);
   digitalWrite(ph,LOW);
   digitalWrite(led,LOW);

   /*启动ESP8266*/
   delay(1000);
   digitalWrite(ph,HIGH);
   Serial.println("AT");
   delay(5000);
   Serial.println("AT+CWMODE=1");
   delay(5000);
   Serial.println("AT+CWJAP=\"TD123\",\"yzl:3.14\"");
   delay(5000);
   Serial.println("AT+CIPSTART=\"UDP\",\"255.255.255.255\",8090,9000,0");
   delay(5000);
   Serial.println("AT+CIPMODE=1");
   delay(5000);
   Serial.println("AT+CIPSEND");
   delay(5000);
   
      while(1)
      {
        /*水体参数发送数据*/
        int WD = analogRead(A0);
        int GZ = analogRead(A1);
        int SW = analogRead(A2);
        WD=940-WD;
        WD=WD/12;
        
        Serial.print(WD);
        delay(100);  
           
         if (SW>=400)         //光照:暗
         {
          Seri
          al.print("50");  
          delay(100);
          }
          else if(GZ<=200)    //光照:亮
          {
          Serial.print("51");  
          delay(100);
          }
         

      
       {
         /*数据接收处理程序*/
         sj = Serial.parseInt();      // 在串口数据流中查找一个有效整数
  
          if(sj==10)      //供氧
          {
          digitalWrite(GY,LOW);
          Serial.print("10");  
          delay(100);
          }
           else if (sj==11)
         {
          digitalWrite(GY,HIGH);
          Serial.print("11");  
          delay(100);
          }
          else if (sj==20)      //加热
         {
          digitalWrite(JR,LOW);
          Serial.print("20");  
          delay(100);
          }
          else if (sj==21)
         {
          digitalWrite(JR,HIGH);
          Serial.print("21");
          delay(100);
          }
          else if (sj==30)       //补光
         {
          digitalWrite(BG,LOW);
          Serial.print("30");
          delay(100);
          }
          else if (sj==31)
         {
          digitalWrite(BG,HIGH);
          Serial.print("31");
          delay(100);
          }
          else if (sj==40)        //喂食
         {
          digitalWrite(WS,LOW);
          Serial.print("40");  
          delay(100);
          }
          else if (sj==41)
         {
          digitalWrite(WS,HIGH);
          Serial.print("41");  
          delay(100);
          }
          else if (sj==51)
          {
          digitalWrite(GY,HIGH);
          Serial.print("11");
          delay(100);

          digitalWrite(JR,HIGH);
          Serial.print("21");
          delay(100);

         digitalWrite(WS,LOW);
         Serial.print("40");
         delay(100);

         if (GZ>=400)
         {
         digitalWrite(GZ,HIGH);
         Serial.print("50");  
         delay(100);
         }
         else if(GZ<=200)
         {
         digitalWrite(GZ,LOW);
         Serial.print("51");  
         delay(100);
         }
         }
         else  Serial.print(WD);
         delay(100);
         }
     }
}[/pre]
发表于 2019-3-29 16:54 | 显示全部楼层
为什么看不到视频。。。
发表于 2019-3-29 21:36 | 显示全部楼层
供氧是这个了?
 楼主| 发表于 2019-3-30 19:48 | 显示全部楼层
110gm 发表于 2019-3-29 21:36
供氧是这个了?

使用的是普通的三合一水泵,过滤+供氧,供氧有个小阀门我没打开
 楼主| 发表于 2019-3-30 19:49 | 显示全部楼层
羽流清 发表于 2019-3-29 16:54
为什么看不到视频。。。

视频我上传了两个,其中有一个我用的是优酷链接这个我可以看到,第一次发视频,不太会搞
发表于 2020-4-5 14:26 | 显示全部楼层
您好,我能问一下,您的Anfroid代码可以下载来参考一下吗?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-1 01:34 , Processed in 0.210822 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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