Arduino之旅(一)桌面自动浇灌系统之三:总结篇

网友投稿 2019-04-16 11:30

这个Case到了这里就告一段落了,淅淅沥沥的写了有几篇了,感觉没有一篇是个全貌的。这篇就做个总结吧。

       这个桌面自动浇灌系统总体上逻辑简单,使用的模块也不多,非常适合初学者第一次练手。先把使用的模块做个总结。

一、模块篇

(1)Arduino UNO板卡

https://cdn.china-scratch.com/timg/190418/1130301L5-0.jpg

上图是我这次用的,OpenJumper Zduino uno r3 开发板,淘宝链接如下:

https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-14066433630.16.FAz7MF&id=16777219005

      价格嘛,60多元,有点儿小贵。我后来又找了一个UNO的兼容板,打算下一个Case的时候用。价格合格,25元左右,质量待定。链接如下:

https://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-6778094070.15.r3VZAO&id=17520908234

(2)土壤湿度传感器模块

https://cdn.china-scratch.com/timg/190418/1130305I3-1.jpg

上图是我这次用的,微雪的土壤湿度计检测模块,探头型的,兼容 Arduino,价格也是超贵,好吧,毕竟我第一次,吃药总是难免的,14块大洋,链接如下:

https://item.taobao.com/item.htm?id=41353127765

不过勤能补拙,以下是我打算以后替代的模块链接,2.7元,妥妥的:

https://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-6778094070.26.d6KiaQ&id=36598169407

(3)继电器模块

https://cdn.china-scratch.com/timg/190418/113030ER-2.jpg

上图是我这次用的,OpenJumper的继电器模块,12大洋,还是贵。可以试试下面的链接:

https://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-6778094070.24.ol5OxY&id=525749206437

3元不到,东西基本一样,让我哭一会儿.......

(4)水泵

https://cdn.china-scratch.com/timg/190418/1130305O3-3.jpg

在淘宝上找的,价格合适,15元以内,加上12V电源和上下水管,35元以内搞定。https://item.taobao.com/item.htm?id=521327401368

(5)分流器

淘宝产品,15元以内

        https://item.taobao.com/item.htm?id=540420247725

(6)其它

       杜邦线若干,蓄水装备自制。

----------------------------------------------------我是分割线------------------------------------------

二、设计篇

       模块都有了,就需要按图纸装配。这里需要说一下,虽然设计是第二篇,但必须是首先要做的事情。哈哈。下图简陋,完美主义者请跳过。

【小经验】画图时,把端口号标上,装配的时候会方便很多。

https://cdn.china-scratch.com/timg/190418/1130305Y9-4.jpg

----------------------------------------------------我是分割线------------------------------------------

三、程序篇

程序这块就不多说了,做了几次小优化,下面直接贴出来。另外Arduino IDE不能写中文注释,让人头疼。

/*

  # Example code for the soil moisture sensor,AutoIrrigate System

  # Editor     : bingbingyouli

  # Date       : 2016.11.24

  # Version    : 1.0

  # Connect the sensor to the A0(Analog 0) pin on the Arduino board

  # the sensor value description

  # 0  ~300     dry soil

  # 300~700     humid soil

  # 700~950     in water

*/

#define SoilSensorPort  0             //Soil sensor put A0 port

#define electricRelayPort  7          //Relay put 7 port

#define moistureKey  400             // Moisture Key,if lower than 400,so...

#define CheckTime  200000              //Check soil for twelve  times,interval 200 seconds

#define irrigateTime  2000            //irrigate for 2 seconds

#define sleepTime  1200000           //wait for 1200 seconds,next...

#define Count  12      // sum Checkresult with 12 times,filter noise

int result;

void setup() {

  // put your setup code here, to run once:

  Serial.begin(9600);

  pinMode(electricRelayPort,OUTPUT);

  result = 0 ;

}

void loop() {

  // put your main code here, to run repeatedly:

  for (int i = 0 ; i< Count;i++ ){

  Serial.print(millis());

  Serial.print( "   Checking " );

  Serial.print( i+ 1);

  Serial.print( "......" );

 int result1 = analogRead(SoilSensorPort);

  Serial.println( result1 );

  result += result1;

  delay(CheckTime); 

 }

  result = result / Count;

  Serial.print("Moisture Sensor Value:");

  Serial.println(result);

  if (result < moistureKey){

  Serial.println( "   Starting irrigate... ");

  digitalWrite(electricRelayPort,HIGH); 

  delay(irrigateTime);  

  digitalWrite(electricRelayPort,LOW);

  Serial.println( "   Stopping irrigate... ");

  }

  result = 0;

  Serial.print(millis());

  Serial.println( "   Sleep......"); 

  delay(sleepTime);  

}

----------------------------------------------------我是分割线------------------------------------------

四、实景篇

说了半天了,没图没真相。

全景图(分流器还没接上),插口相对简单,传感器接在模拟口A0,继电器接在数字口7;12V电源接在继电器上,再串接水泵;上水管接在矿泉水瓶子里,下水管直接插花里了,也可以接一个分流器,多浇几盆。

https://cdn.china-scratch.com/timg/190418/11303150b-5.jpg

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com