<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>電子資料>多功能自動化系統開源分享

多功能自動化系統開源分享

2022-11-08 | zip | 0.73 MB | 次下載 | 免費

資料介紹

描述

主意

制作自動化系統的想法來自我們的村屋,那里有雞、狗和植物。我父親制作了一個電子系統來自動化日常任務,例如給植物澆水、喂狗和喂雞、給雞開門等。他為那個系統使用了定時繼電器??,并且大部分時間都運行良好。但是,我們村的房子經常停電,導致我父親的自動化系統出現問題。如果在一個繼電器的分閘和合閘時間之間斷電,當電回來時,它不會安排繼電器的狀態。當我們處理植物,主要??是動物時,這是一個巨大的問題。而且定時繼電器??的成本比Netduino+Relay高,使用起來也不是你想的那么簡單。

解決問題

為了解決這個問題,我申請了Netduino Contest的Idea Round,我的想法被接受了。我買了一個 16 通道 5V 繼電器模塊,用于多繼電器控制。我需要知道時間。因此,我使用了一個外部 RTC 模塊 DS3231 不僅可以獲取實時時間,還可以獲取星期幾,這鼓勵我每周編寫一個程序作品。我寫了一個循環函數,根據時間確定繼電器的狀態。此函數每秒循環一次并檢查每個繼電器的情況,然后比較來自 SD 卡(或直接來自代碼——我在代碼中解釋)的繼電器時間,并根據時間打開/關閉繼電器。但是,我想獨立使用傳感器,以完成緊急需求。我設法連接了三個傳感器,以用我的系統舉例說明傳感器的工作過程。

發展

由于缺乏互聯網連接、時間和庫存,開發過程對我來說有點困難。我在我們村的房子里,我不得不使用我的舊傳感器,我沒有足夠的時間購買新的,因為運往村莊的貨物受到限制。因此,我完成了我所擁有的。我熟悉 Arduino,這就是為什么示例項目的引腳圖或電路對我來說很容易。我一直在努力集成 DS3231 并使用傳感器(包括 LDR、水位和運動檢測)。雖然有相關的教程,但大多數教程都有點老了。但是,Netduino 基金會很棒,而且大部分都是最新的!

我使用Netduino Foundation DS32xx 集成代碼從 DS3231 RTC 模塊獲取時間數據。對于傳感器,我嘗試使用 SecretLabs.NETMF.Hardware.AnalogInput 參考,但 VS 2015 向我顯示了一次又一次檢查設備的錯誤。沒有這個參考,所有的項目都像魅力一樣運行。這就是為什么我檢查了 AnalogInput 的庫以了解如何從模擬輸入中獲取數據。之后,我從 Microsoft.SPOT.Hardware 獲得了如下值:

Microsoft.SPOT.Hardware.AnalogInput waterLevel = new Microsoft.SPOT.Hardware.AnalogInput(Cpu.AnalogChannel.ANALOG_0);
Debug.Print("Water Level Sensor: " + (int)(waterLevel.Read() * 100));

我寫了一個函數來確定繼電器的情況。下面是我的函數的參數的示例和含義:

// Relay no:2 12:10 - 16:27 Only Tuesday
TimeToAct(2, currentHour, currentMinute, DayOfWeekToString(dayOfWeek), 12, 10, 16, 27, DetectDay(3));
///        
/// Main Alarm System       
///        
/// Relay No       
/// current Hour       
/// current Minute       
/// current Day String       
/// Relay opens: hr       
/// Relay opens: min       
/// Relay closes: hr       
/// Relay closes: min       
/// Relay opens at specific day or days of week
static void TimeToAct(int relayNo, int currentHour, int currentMinute, String currentDay, int hourAct, int minuteAct, int hourReAct, int minuteReAct, String[] daysAct)       {

我的代碼在一天的操作中運行得很好(例如中繼 6 僅在星期三工作)。然而,我的目標是讓我的繼電器每周工作好幾天。我考慮過如何理解為多個操作選擇了多少天,這是我的解決方案,使用素數:)

///        
/// Detect Day depending on first 7 prime numbers       
/// 2 --> Monday       
/// 3 --> Tuesday       
/// 5 --> Wednesday       
/// 7 --> Thursday       
/// 11 --> Friday       
/// 13 --> Saturday       
/// 17 --> Sunday       
/// If we want our relay to open only one day, we need to enter days' prime number, for instance 5 for Wednesday.       
/// If we want our delay to open multiple days, we need to multiply days' prime numbers.       
/// For instance, all the days of week, we need to enter 2*3*5*7*11*13*17 = 510510       
/// Monday + Tuesday = 2*3 = 6       
/// Wednesday + Saturday + Sunday = 5*13*17 = 1105       
///        
/// dayNumber       
/// Detect Day String array
       static String[] DetectDay(int dayNumber)
       {
           String[] days = { "", "", "", "", "", "", "" };
           for (int i = 0; i < 7; i++)
           {
               days[i] = "";
           }
           if (dayNumber % 2 == 0) { days[0] = "Monday"; }
           if (dayNumber % 3 == 0) { days[1] = "Tuesday"; }
           if (dayNumber % 5 == 0) { days[2] = "Wednesday"; }
           if (dayNumber % 7 == 0) { days[3] = "Thursday"; }
           if (dayNumber % 11 == 0) { days[4] = "Friday"; }
           if (dayNumber % 13 == 0) { days[5] = "Saturday"; }
           if (dayNumber % 17 == 0) { days[6] = "Sunday"; }
           Debug.Print("DayNo: " + dayNumber);
           Debug.Print("Days: ");
           for (int i = 0; i < 7; i++)
           {
               if (days[i].Length > 5)
               {
                   Debug.Print("-" + days[i]);
               }
           }
           return days;
       }

我的最后一個挑戰是將數據存儲在 SD 卡中。我有許多甚至超過 8GB 的?? micro SD (SDHC) 卡。但是,Netduino 頁面說您需要使用高達 2GB 的 SD 卡(不是 SDHC),這使我無法使用我的卡。我曾嘗試與我的卡一起使用,但它不起作用。然后我決定使用 DS32xx 的 EEPROM 來存儲所有數據。我從 Netduino.Foundation 找到了一個庫,但是這個庫導致 VS 出現問題(上面同樣的錯誤)我需要存儲數據,所以我為 SD 卡編寫了代碼,但我無法使用 SD 卡進行測試。

說明(用于制作項目)

  • 訪問 Netduino網站下載 Netduino 的固件更新程序。
  • 使用該程序更新您的 Netduino。
  • 下載并安裝 Visual Studio 2015。
  • 在Windows上安裝 .NET MicroFramework 和 Netduino SDK 。
  • 根據我的原理圖將傳感器和繼電器連接到 Netduino。
  • 下載并使用 VS 2015 打開我的項目。
  • 部署代碼!

結果

我很高興也很自豪能夠完成這個項目并找到解決我們問題的方法!我的系統可以處理許多事情,例如:

  • 根據小時、分鐘和星期幾編程 8 個繼電器(現在限制為 8 個,但繼電器計數可以增加)
  • 中繼系統每周工作,可根據日、月或年防止出現問題。
  • 自動化系統幫助農民種植更好的作物并減少他們的工作。
  • 由于我的系統不需要互聯網連接,它可以在世界任何地方工作。
  • 繼電器可以通過傳感器的值來控制,這也可以幫助農民在緊急情況下做植物或動物需要的事情。
  • 使用 SD 卡不僅有利于存儲和檢索數據,而且可以更輕松地對繼電器進行編程。
  • 時間系統和傳感器可以同時工作。(傳感器優先控制繼電器)
  • 農民可以為他們的目的添加許多傳感器。
  • 如果發生停電,我的系統工作正常。
?

為了未來

  • 我可以添加 Internet 連接,無論是 WiFi 還是以太網,以有效地傳輸數據并更輕松地對繼電器進行編程。
  • 通過有效的互聯網連接,我可以制作一個應用程序來監控數據、編程繼電器、確定傳感器的值限制......這可以簡化我的系統的使用。
  • 我可以使用 Grove 傳感器來增加傳感器數量。
  • 我可以增加繼電器數量。
  • 我可以添加藍牙傳感器以更好地進行通信并修改繼電器的時間表,而無需取下 SD 卡。這當然是為了離線使用。

最后

我真的很感謝 Wilderness Labs 給我們一個機會來解決我們使用 Netduino 的問題,他們的高級語言支持卡。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>