更多

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

    ThunderBolt 4、Qualcomm Snapdragon 865+ 正式公布

    上星期同大家說過的 Thunerbolt 4 如今正式出台,次世代傳輸規格會帶來什麼影響?手機界方面亦有重磅消息公布,就是Qualcomm Snapdragon 865+ 正式同大家見面,這款「Plus」版處理器將成為今年電競手機的重中之重。

    《 GT 》神還原 Assoluto Racing

    日前 Sony 發表新一代 PlayStation 5 ,瞬間成為機迷熱話, Sony 在發布會上,更預告多款新作,當中包括《 Gran Turismo 7 》,更細緻的畫面,令人眼界大開。雖然《 Gran Turismo 》未有推出手機版本,不過這個名為《 Assoluto Racing 》的賽車遊戲,卻與《 Gran Turismo 》十分相似,由賽車到改車,甚至各大車廠的戰車及賽道,都一一忠實呈現。

    【#1402 PCM】電競曲芒升級醒買術

    今期《PCM》就為大家搜羅市場上多款曲面電競屏幕,剖析一下這類屏幕的優缺點。

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

    我們會先到傳感器的官方網站下載程式碼,然後啟動 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 行左右。同學們只要理解當中每一個原則,就可按需要而設計及改動。

    完成圖

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

    相關文章