智能物联网花盆-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 10098|回复: 10

[项目] 智能物联网花盆

[复制链接]
发表于 2019-3-20 15:35 | 显示全部楼层 |阅读模式
本帖最后由 冰峰侠 于 2019-4-30 23:53 编辑

打坏了一个费时5小时
3D打印的花盆,耗时22小时

3d打印花盆

3d打印花盆

下载:Kittenblock软件,安装、运行;
install.png
in2.png
in3.png
in4.png
b01.jpg
设计建模
b02.jpg
打印外壳
b00.jpg

外壳3d打印

外壳3d打印

外可组装结果

外可组装结果
经过实际比对其它的土壤传感器,发现这个传感器灵敏度一般,临时选择了结构更小更高灵敏度的土壤传感器,占地只有这个传感器的4分之一
a01.png
控制中心外壳

1.jpg
整体效果
2.jpg
侧面
3.jpg
关灯瞬间
7.jpg
光线传感器自动启动灯光补光
6.jpg
补光中
5.jpg
开灯状态手动遮挡光纤传感器,自动启动补光效果
4.jpg
夜间自动补光拍照

光线符合状态下,补光灯不亮
app.jpg
手机app控制端
app1.jpg

可以手动控制,也可以自动控制下面是模块化编程

001.png
002.png
003.png
004.png
[mw_shl_code=arduino,true]#include <SoftwareSerial.h>

#include <aduino_ColorLED.h>

#include <aduino_Tem_Hum.h>

Tem_D1  termo;



String currentInfo="";

#define my_Serial Serial1

ColorLED strip = ColorLED(1, 6);

String wendu;

String shidu;

String guangxian;

String automode;

String bluecs;



void setup()

{

  my_Serial.begin(9600);

  strip.begin();

  wendu = "24.13°";

  shidu = "400";

  guangxian = "400";

  automode = "auto";

  bluecs = "";

  pinMode(A2,INPUT);

  termo.begin();



  pinMode(A0,INPUT);

  Serial.begin(9600);

  pinMode(4, OUTPUT);

}



void loop()

{

  shidu = analogRead(A2);

  wendu = termo.getTemperature();

  guangxian = analogRead(A0);

  delay(100);

  Serial.println(String(wendu) + String(String("|") + String(String(shidu) + String(String("|") + String(guangxian)))));

  if (my_Serial.available() > 0) {

   currentInfo = my_Serial.readStringUntil('\n');

    if (currentInfo == "noauto") {

      automode = "noauto";



    } else {

      bluecs = currentInfo;



    }

    if (currentInfo == "auto") {

      automode = "auto";



    } else {

      bluecs = currentInfo;



    }

  }

  my_Serial.println(String(wendu) + String(String("|") + String(String(shidu) + String(String("|") + String(guangxian)))));

  if (automode == "auto") {

    if (String(guangxian).toInt() < 405) {

      Serial.println("开灯");

      strip.setPixelColor(1-1, 204,51,204);

      strip.show();



    } else {

      Serial.println("关灯");

      strip.setPixelColor(1-1, 0,0,0);

      strip.show();



    }

    if (String(shidu).toInt() < 405) {

      Serial.println("浇水打开");

      digitalWrite(4,HIGH);

      delay(1000);

      Serial.println("浇水关闭");

      digitalWrite(4,LOW);



    }



  } else {

    if (bluecs == "open") {

      Serial.println("开灯");

      strip.setPixelColor(1-1, 255,0,0);

      strip.show();



    } else if (bluecs == "close") {

      Serial.println("关灯");

      strip.setPixelColor(1-1, 0,0,0);

      strip.show();

    }

    if (bluecs == "water") {

      Serial.println("浇水打开");

      digitalWrite(4,HIGH);

      delay(1000);

      digitalWrite(4,LOW);

      bluecs = "";



    } else if (bluecs == "closewater") {

      Serial.println("浇水关闭");

      digitalWrite(4,LOW);

    }



  }

  Serial.println(automode);

}[/mw_shl_code]
下面是手机app的模块化编程代码
c4.png
c3.png
c2.png
c1.png


外可组装结果

外可组装结果
app.jpg
 楼主| 发表于 2019-5-4 21:50 | 显示全部楼层
作品视频,一直无法上传,不知道这次能否成功!
发表于 2019-5-28 18:51 | 显示全部楼层
请问后来的土壤传感器选了哪款?
 楼主| 发表于 2019-5-29 09:29 | 显示全部楼层
softice 发表于 2019-5-28 18:51
请问后来的土壤传感器选了哪款?

经过测试,这两款土壤传感器都没有问题的,为了美观和节约位置,
选则了Microduino的Sensor-Moisture小型的土壤传感器
产品编号:MSDT23

希望对你有帮助,如可以的话请帮我们的产品点支持,谢谢!
发表于 2019-5-29 12:27 | 显示全部楼层
请问手机APP用什么开发的啊?
发表于 2019-5-29 23:21 | 显示全部楼层
冰峰侠 发表于 2019-5-29 09:29
经过测试,这两款土壤传感器都没有问题的,为了美观和节约位置,
选则了Microduino的Sensor-Moisture小型的 ...

谢谢!点了支持哈哈!
发表于 2019-5-30 01:27 | 显示全部楼层
看到小朋友的时候愣了一下
 楼主| 发表于 2019-6-1 10:02 | 显示全部楼层
joycewen 发表于 2019-5-30 01:27
看到小朋友的时候愣了一下

经常打印,总时忘照相,找了一张老照片
 楼主| 发表于 2019-6-1 10:04 | 显示全部楼层
xiaodai 发表于 2019-5-29 12:27
请问手机APP用什么开发的啊?

孩子学校推荐他们学习的MIT App Inventor  记着给我们投票支持!谢谢
发表于 2019-6-23 15:27 | 显示全部楼层
这是蓝牙的?我做的第一个版本事zigbee的,也有mqtt版本的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-9-20 22:51 , Processed in 0.085166 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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