真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么使用Arduino來開發(fā)灌溉系統(tǒng)

這篇文章將為大家詳細(xì)講解有關(guān)怎么使用Arduino來開發(fā)灌溉系統(tǒng),小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

目前創(chuàng)新互聯(lián)已為1000多家的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計(jì)、安澤網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

Arduino 來拯救

Arduino非常適合這樣的項(xiàng)目:低成本、只需要一個(gè)電源、沒有系統(tǒng)會(huì)凍結(jié)/掛起、擁有眾多的標(biāo)準(zhǔn)周邊設(shè)備。聽起來這個(gè)想法適合我做,所以我通過互聯(lián)網(wǎng)搜索到Arduino GSM模塊。***,我發(fā)現(xiàn)一個(gè)模塊以及開放庫只需要30美元,非常便宜。完整的系統(tǒng)成本大約50美元,和大多數(shù)其他系統(tǒng)成本700美元形成鮮明對(duì)照。

幸運(yùn)的是,GSMLib很容易使用,我一找出哪些針腳能用到,哪些沒用就開始動(dòng)手去做。一個(gè)簡(jiǎn)短的例子,當(dāng)一個(gè)認(rèn)證的手機(jī)號(hào)發(fā)短息給你時(shí),你需要做的就是:

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

系統(tǒng)描述

最終的水泵控制系統(tǒng)是相當(dāng)簡(jiǎn)單的。開始或者關(guān)閉的方法通過一個(gè)繼電器或者兩個(gè)繼電器系統(tǒng)模擬開/關(guān)按鈕實(shí)現(xiàn)。我想要的是兩種方法都支持,這并不是很困難。

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

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

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

實(shí)現(xiàn)錯(cuò)誤短信

實(shí)現(xiàn)錯(cuò)誤短息的函數(shù)只需幾行。初始時(shí),我們檢測(cè)繼電器的狀態(tài)是否改變(當(dāng)一個(gè)錯(cuò)誤繼電器保持激活狀態(tài)時(shí),我們想要邊緣觸發(fā)以避免虛假循環(huán)。例如):

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;}

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

// 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.");}

關(guān)于“怎么使用Arduino來開發(fā)灌溉系統(tǒng)”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。


網(wǎng)頁標(biāo)題:怎么使用Arduino來開發(fā)灌溉系統(tǒng)
網(wǎng)站網(wǎng)址:http://weahome.cn/article/psgoie.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部