91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么使用Arduino來開發灌溉系統

發布時間:2021-11-06 14:59:25 來源:億速云 閱讀:152 作者:小新 欄目:web開發

這篇文章將為大家詳細講解有關怎么使用Arduino來開發灌溉系統,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

Arduino 來拯救

Arduino非常適合這樣的項目:低成本、只需要一個電源、沒有系統會凍結/掛起、擁有眾多的標準周邊設備。聽起來這個想法適合我做,所以我通過互聯網搜索到Arduino GSM模塊。***,我發現一個模塊以及開放庫只需要30美元,非常便宜。完整的系統成本大約50美元,和大多數其他系統成本700美元形成鮮明對照。

幸運的是,GSMLib很容易使用,我一找出哪些針腳能用到,哪些沒用就開始動手去做。一個簡短的例子,當一個認證的手機號發短息給你時,你需要做的就是:

stat = call.CallStatusWithAuth(number, 1, 3);if(stat == CALL_INCOM_VOICE_AUTH) {      call.HangUp();      sms.SendSMS(number, value_str);}

系統描述

最終的水泵控制系統是相當簡單的。開始或者關閉的方法通過一個繼電器或者兩個繼電器系統模擬開/關按鈕實現。我想要的是兩種方法都支持,這并不是很困難。

除了輸出之外,也有輸入。當系統啟動并運行時,相應的繼電器開啟和關閉;當有一個錯誤時(斷電、低壓、高溫),三個繼電器可能會開啟。我們的軟件一般需要發送短信,當系統開始和停止運行時(無論任何原因,無論你是否通過電話開啟系統),當一個錯誤繼電器觸發時,一條帶有具體錯誤原因的短信將發送。

我們也想要一種取消SMS發送的方法,與確保你不會得到無關緊要的信息,如果你手動開啟/關閉系統,而你在水泵身旁(顯而易見的是當你站在水泵旁邊時,關閉水泵,壓力消失,你不在需要接受短信)通過簡單的選擇輸入可實現開啟短息發送功能或者關閉。

當然也有一些次要的問題需要考慮,比如錯誤繼電器和其他元件不相關聯(當關閉電源后,所有其他的錯誤繼電器將繼續運行,所以你只需要發送“電力消失”信息),錯誤條件具體到錯誤(例如,關閉系統觸發“壓力下降”錯誤),但這都非常簡單。

實現錯誤短信

實現錯誤短息的函數只需幾行。初始時,我們檢測繼電器的狀態是否改變(當一個錯誤繼電器保持激活狀態時,我們想要邊緣觸發以避免虛假循環。例如):

for (char i=0; i < INPUT_LENGTH; i++) {      pinState = digitalRead(inputPins[i]);      if (pinState != pinStates[i]) {          // If the pin's state changed, note it.          statesChanged[i] = 1;      }      // Update the state.      pinStates[i] = pinState;}

然后我們掌握了所有狀態的改變以及新狀態,決定接下來做什么就不難了:

// Decide what happens.if (statesChanged[0] == 1 && pinStates[0] == OFF) {      // Phase dropped, send message regardless.      sendSMS("Phase dropped.");} else if (statesChanged[1] == 1 && pinStates[1] == OFF) {      sendSMS("Thermal dropped.");} else if ((statesChanged[2] == 1 && pinStates[2] == OFF) &&             (statesChanged[3] == 1 &&  pinStates[3] == OFF)) {      // Pressure dropped *and operation stopped simultaneously*.      // This is because we don't want to be notified of normal      // pressure drops after we stop the system ourselves.      sendSMS("Pressure dropped.");} else if (statesChanged[3] == 1 && pinStates[3] == OFF) {      sendSMS("Pump shut down.");} else if (statesChanged[3] == 1 && pinStates[3] == ON) {      sendSMS("Pump started.");}

關于“怎么使用Arduino來開發灌溉系統”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

虎林市| 绵阳市| 玉溪市| 阿尔山市| 怀仁县| 凤山市| 岳池县| 黄龙县| 恩平市| 漾濞| 金塔县| 全椒县| 贺州市| 柳林县| 新宁县| 克拉玛依市| 彝良县| 阳原县| 天长市| 松江区| 寿宁县| 肥东县| 秦皇岛市| 和龙市| 怀仁县| 新平| 蕲春县| 炎陵县| 诏安县| 阿克苏市| 曲麻莱县| 吉隆县| 营口市| 河北区| 茶陵县| 读书| 保靖县| 乐东| 仙居县| 东莞市| 自治县|