更多

    海水水族箱 鹽度自動調節系統(三)

    【場料】 買 Sennheiser 指定耳機 有靚價兼送現金禮券

    係人買嘢都想平啲兼有贈品,不過有無咁筍先?嗱世事就無絕對,好似 Sennheiser 呢期就真係益用家,由即日起凡購買香港行貨 Sennheiser IE 400 PRO 有靚價。

    【場料】 Nokia 5.4 即將來臨?大舖為上代 5.3 清貨

    近期網上不時傳出 Nokia 5.4 快將發表的消息,雖然官方一值未有證實,不過由近期大舖的減價行動來睇,相信距離 Nokia 5.4 發佈不遠了。近期某大連鎖店推出 Nokia 5.3 勁減優惠,凡使用滙豐信用卡購買 Nokia 5.3 就可以優惠價 $1,498 購買,更額外加送 THECOOPIDEA CARGO 真無線耳機。

    冇得去外打機療癒下 電車 Go!! 奔馳吧山手線

    香港人已經大半年冇得去旅行,真係唔病都屈到病。最近 PS4 就出咗隻《電車 Go!! 奔馳吧山手線》,讓大家返番去好耐冇去過嘅東京幾條鐵路線療癒一番。今晚就同大家一齊返去東京體驗一下啦。

    經過硬件接駁,以及理解海水水族箱裡的鹽度知識後,今期餘下程式設計的部分。大家不要以為此部分很艱難,因為傳感器的基礎程式已有,大家只要稍作修改就可使用。

    我們會先到傳感器的官方網站下載程式碼,然後啟動 Arduino 加以編譯就可使用。

    Step 1

    利用 Arduino 編程以使用 Vernier 傳感器的各種 Sketches 程式碼,可於 Vernier 公司的網站下載。
    Step 1:利用 Arduino 編程以使用 Vernier 傳感器的各種 Sketches 程式碼,可於Vernier 公司的網站下載。

    網址:https://www.vernier.com/engineering/arduino

    Step 2

    首先下載傳感器適用的 Sketch 程式碼,也就是 Arduino 的程式。再利用 Arduino IDE 開發環境修改。因每種傳感器的「Intercept」(攔截)及「Slope」(斜率)的值皆不一樣,需根據傳感器規格中列明的值作出修改。

    把繼電器連接到 Arduino UNO 的數位腳是 12(D12),於程式的設置(setup)中把數位腳 12 定為輸出模式。

    接著到程式運作,主要不斷地呼叫的部份(loop),當中分為兩部分:
    ① Sketch 中已編好 Arduino UNO 底板會從傳感器,傳來的原始數據換算成正確讀數(鹽度);設定「SensorReading」變量回傳所測試出的鹽度。
    ② 「freshwaterpump()」是我們自行編寫的一個程式碼模組,亦是這程式主要運行的部分之一。

    我們利用了「if⋯else」的編程概念,去決定水泵的開關。如果(if)鹽度感測器測出的數值附合預設條件,程式便指示水泵開動;但在所有其他情況下(else),程式均會示水泵停止。
    ① 設定的條件是當鹽度讀數大於或等於 36ppt 時,程式指示水泵開動。程式會指示 Arduino Uno 的數位腳 12(D12)輸出高電壓(HIGH),如此會令繼電器把水泵的電源接通,水泵就會開動。
    ② 當淡水加進水族箱後,需要一定時間才能與海水完全混合,所以我們於加入一定分量的淡水後,必須讓海水的鹽度有足夠的時間穩定下來,然後才作第二次的量度及操作。我們會利用「delay」這個延時指令去處理這情境,然後用「digitalWrite(12,HIGH);」、「delay(10000);」和
    「digitalWrite(12,LOW);」三組指令,讓水泵開動加入淡水 10,000 毫秒(即 10 秒)後停止。
    ③ 接著我們利用「delay(30000);」指令,提供 30,000 毫秒(即 30 秒)的時間,讓淡水與海水有充份時間完全混合,才開始下一次的量度及操作。(註:水泵開動和等待下一次量度的時間,需因應水族箱內水體的大小作調節。)

    程式碼並不複雜,僅34行左右。同學們只要理解當中每一個原則,就可按需要而設計及改動。
    Step 2:程式碼並不複雜,僅 34 行左右。同學們只要理解當中每一個原則,就可按需要而設計及改動。

    完成圖

    利用此裝置就能時刻確保海洋生態水族箱內的海水鹽度,維持在一個穩定的水平,這對養殖海洋生物會十分便利及安全。
    利用此裝置就能時刻確保海洋生態水族箱內的海水鹽度,維持在一個穩定的水平,這對養殖海洋生物會十分便利及安全。

    您會感興趣的內容

    相關文章