遙控器給老闆Delay了三個禮拜才用好

今天終於拿到啦!

IMG_7249.JPG

...不過這個遙控器好大啊

就改稱叫"監控盒"吧~

(對了,盒子老闆算300$,我覺得很划算啦!)

 這算第二次外包機盒,第一次外包是這篇:

*情人節DIY*製作情侶專屬音樂盒

 

簡單圖解介紹一下這個監控盒的特色與功能吧:

1. 外觀:樸實簡約,一個LCD顯示螢幕、一個總開關、四個按鈕。

遙控盒2.jpg

 

2. 內部:一個Mini pro Arduino 、一個藍芽模組 、 一個9V電池組、跳線大部分都是自壓杜邦,電路板用OK線較不占空間也不容易因擠壓斷線。

遙控盒3.jpg

 

3. 顯示器功能: LCD第一排永遠都是系統運作的天數&時數,第二排2秒切換一次,有"餵食"、"補水"、"馬達"、"感測",四大主要項目做監視。

遙控盒.jpg

 DEMO 影片 : 一開始是在等待與主機連線,所以數值都是0              >>我是主機<<

         IMG_7268.JPG

 

4. 設定功能: 這時候才會用到4個按鈕,按鈕功能由左到右分別是: 設定模式/正常模式 、下一個 、  增加  、 減少

 遙控盒4.jpg  

 

監控盒外觀與功能差不多就介紹到這邊,監控盒放在任何地方都非常醒目呢。

 

再來是主機的部分

*新增了WIFI(ESP8266) 資料雲端上傳ThingSpeak作資料整合

 

這是前幾天ThingSpeak新增的功能"Apps",裡面一個叫做"MATLAB Visualizations"

藍色:水溫                                                                                    橘色:水位

 可以讓使用者更方便的整理數據,進行比較。

 

不過Arduino程式設計的時候遇到之前沒遇到的問題

因為藍芽與WIFI都是串列通訊,如果不算內建Serial(Debug用),就會用到兩個"SoftwareSerial"

當兩個SoftwareSerial進行 read/find 的時候就會打架,造成 read/find 誤動作,像是Arduino丟AT給ESP8266,但明明看到ESP8266亮藍燈,Arduino卻沒收到"OK"。

這時候就要用到"listen()"來做 read/find 的分配

以下範例: 

void setup()
{
 // Open serial communications and wait for port to open:
  Serial.begin(9600);
   while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }
  // Start each software serial port
  portOne.begin(9600);
  portTwo.begin(9600);
}
void loop()
{
  // By default, the last intialized port is listening.
  // when you want to listen on a port, explicitly select it:
  portOne.listen();
  Serial.println("Data from port one:");
  // while there is data coming in, read it
  // and send to the hardware serial port:
  while (portOne.available() > 0) {
    char inByte = portOne.read();
    Serial.write(inByte);
  }
  // blank line to separate data from the two ports:
  Serial.println();
  // Now listen on the second port
  portTwo.listen();
  // while there is data coming in, read it
  // and send to the hardware serial port:
  Serial.println("Data from port two:");
  while (portTwo.available() > 0) {
    char inByte = portTwo.read();
    Serial.write(inByte);
  }
  // blank line to separate data from the two ports:
  Serial.println();
}

 

但是使用listen()也要注意,兩個 SoftwareSerial listen 的間隔時間不能太相近,不然一樣會誤作。

實際使用過,100ms 以上的間隔時間,就是安全範圍。

 

主題回到水草缸:

這是5天前,剛設好缸的樣子,水有點混濁。

IMG_7203.JPG

 

這是現在的樣子,水質非常的清澈,水草明顯長高囉,這生長的速度太驚人了...(但後面還有更驚人的)

IMG_7264.JPG

 

5天前的豆芽,青澀內斂。

IMG_7206.JPG

現在的豆芽,豪氣奔放?

IMG_7263.JPG

 

或許真的是黑土讓水中PH質偏酸了,酸性土壤對於植物是健康的,不過還沒買感測器或紙蕊測過PH。

 

看完缸內外的植物後,來看看生物:

這顆是長著兔牙的角螺,奮力吃壁藻的模樣。

IMG_7266.JPG

 

火山岩慢慢的吸收水份,終於下沉了,然後裡面有個亮點,找找看。

 

 IMG_7265.JPG  

裡面有兩隻蝦米,來找碴,看你找不找的到!!

IMG_7267.JPG

 

答案揭曉:

極火蝦窩在慕絲與火山岩之間。

火山岩提供礦物與穩定水質,慕絲給予食物與躲藏地,難怪蝦蝦常常群聚在裡面呢!

 找蝦蝦.jpg   

這個真的太難找了,照片模糊不說,用眼睛都很難看到呢! 

蝦米的特色就是愛躲角落或貼牆壁,然後頭白、尾巴透明的就是牠了~

找蝦米.jpg

 

那下次目標就是進"水晶蝦"啦!

水中的貴族,不知道這個水草缸適不適合他們居住呢?

 

DIY - 數位生態系統 第四章  就到這邊結束囉 

期待這個水草造景缸越來越茂盛呢~

--------THE END ---------

 

創作者介紹

**兩隻小豬**

兩隻小豬 發表在 痞客邦 PIXNET 留言(0) 人氣()