資料介紹
描述
主意
制作自動(dòng)化系統(tǒng)的想法來(lái)自我們的村屋,那里有雞、狗和植物。我父親制作了一個(gè)電子系統(tǒng)來(lái)自動(dòng)化日常任務(wù),例如給植物澆水、喂狗和喂雞、給雞開(kāi)門等。他為那個(gè)系統(tǒng)使用了定時(shí)繼電器??,并且大部分時(shí)間都運(yùn)行良好。但是,我們村的房子經(jīng)常停電,導(dǎo)致我父親的自動(dòng)化系統(tǒng)出現(xiàn)問(wèn)題。如果在一個(gè)繼電器的分閘和合閘時(shí)間之間斷電,當(dāng)電回來(lái)時(shí),它不會(huì)安排繼電器的狀態(tài)。當(dāng)我們處理植物,主要??是動(dòng)物時(shí),這是一個(gè)巨大的問(wèn)題。而且定時(shí)繼電器??的成本比Netduino+Relay高,使用起來(lái)也不是你想的那么簡(jiǎn)單。
解決問(wèn)題
為了解決這個(gè)問(wèn)題,我申請(qǐng)了Netduino Contest的Idea Round,我的想法被接受了。我買了一個(gè) 16 通道 5V 繼電器模塊,用于多繼電器控制。我需要知道時(shí)間。因此,我使用了一個(gè)外部 RTC 模塊 DS3231 不僅可以獲取實(shí)時(shí)時(shí)間,還可以獲取星期幾,這鼓勵(lì)我每周編寫(xiě)一個(gè)程序作品。我寫(xiě)了一個(gè)循環(huán)函數(shù),根據(jù)時(shí)間確定繼電器的狀態(tài)。此函數(shù)每秒循環(huán)一次并檢查每個(gè)繼電器的情況,然后比較來(lái)自 SD 卡(或直接來(lái)自代碼——我在代碼中解釋)的繼電器時(shí)間,并根據(jù)時(shí)間打開(kāi)/關(guān)閉繼電器。但是,我想獨(dú)立使用傳感器,以完成緊急需求。我設(shè)法連接了三個(gè)傳感器,以用我的系統(tǒng)舉例說(shuō)明傳感器的工作過(guò)程。
發(fā)展
由于缺乏互聯(lián)網(wǎng)連接、時(shí)間和庫(kù)存,開(kāi)發(fā)過(guò)程對(duì)我來(lái)說(shuō)有點(diǎn)困難。我在我們村的房子里,我不得不使用我的舊傳感器,我沒(méi)有足夠的時(shí)間購(gòu)買新的,因?yàn)檫\(yùn)往村莊的貨物受到限制。因此,我完成了我所擁有的。我熟悉 Arduino,這就是為什么示例項(xiàng)目的引腳圖或電路對(duì)我來(lái)說(shuō)很容易。我一直在努力集成 DS3231 并使用傳感器(包括 LDR、水位和運(yùn)動(dòng)檢測(cè))。雖然有相關(guān)的教程,但大多數(shù)教程都有點(diǎn)老了。但是,Netduino 基金會(huì)很棒,而且大部分都是最新的!
我使用Netduino Foundation DS32xx 集成代碼從 DS3231 RTC 模塊獲取時(shí)間數(shù)據(jù)。對(duì)于傳感器,我嘗試使用 SecretLabs.NETMF.Hardware.AnalogInput 參考,但 VS 2015 向我顯示了一次又一次檢查設(shè)備的錯(cuò)誤。沒(méi)有這個(gè)參考,所有的項(xiàng)目都像魅力一樣運(yùn)行。這就是為什么我檢查了 AnalogInput 的庫(kù)以了解如何從模擬輸入中獲取數(shù)據(jù)。之后,我從 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));
我寫(xiě)了一個(gè)函數(shù)來(lái)確定繼電器的情況。下面是我的函數(shù)的參數(shù)的示例和含義:
// 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) {
我的代碼在一天的操作中運(yùn)行得很好(例如中繼 6 僅在星期三工作)。然而,我的目標(biāo)是讓我的繼電器每周工作好幾天。我考慮過(guò)如何理解為多個(gè)操作選擇了多少天,這是我的解決方案,使用素?cái)?shù):)
///
/// 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;
}
我的最后一個(gè)挑戰(zhàn)是將數(shù)據(jù)存儲(chǔ)在 SD 卡中。我有許多甚至超過(guò) 8GB 的?? micro SD (SDHC) 卡。但是,Netduino 頁(yè)面說(shuō)您需要使用高達(dá) 2GB 的 SD 卡(不是 SDHC),這使我無(wú)法使用我的卡。我曾嘗試與我的卡一起使用,但它不起作用。然后我決定使用 DS32xx 的 EEPROM 來(lái)存儲(chǔ)所有數(shù)據(jù)。我從 Netduino.Foundation 找到了一個(gè)庫(kù),但是這個(gè)庫(kù)導(dǎo)致 VS 出現(xiàn)問(wèn)題(上面同樣的錯(cuò)誤)我需要存儲(chǔ)數(shù)據(jù),所以我為 SD 卡編寫(xiě)了代碼,但我無(wú)法使用 SD 卡進(jìn)行測(cè)試。
說(shuō)明(用于制作項(xiàng)目)
- 使用該程序更新您的 Netduino。
- 下載并安裝 Visual Studio 2015。
- 在Windows上安裝 .NET MicroFramework 和 Netduino SDK 。
- 根據(jù)我的原理圖將傳感器和繼電器連接到 Netduino。
- 下載并使用 VS 2015 打開(kāi)我的項(xiàng)目。
- 在部署之前閱讀并應(yīng)用這些官方說(shuō)明。(查找部署部分)
- 部署代碼!
結(jié)果
我很高興也很自豪能夠完成這個(gè)項(xiàng)目并找到解決我們問(wèn)題的方法!我的系統(tǒng)可以處理許多事情,例如:
- 根據(jù)小時(shí)、分鐘和星期幾編程 8 個(gè)繼電器(現(xiàn)在限制為 8 個(gè),但繼電器計(jì)數(shù)可以增加)
- 中繼系統(tǒng)每周工作,可根據(jù)日、月或年防止出現(xiàn)問(wèn)題。
- 自動(dòng)化系統(tǒng)幫助農(nóng)民種植更好的作物并減少他們的工作。
- 由于我的系統(tǒng)不需要互聯(lián)網(wǎng)連接,它可以在世界任何地方工作。
- 繼電器可以通過(guò)傳感器的值來(lái)控制,這也可以幫助農(nóng)民在緊急情況下做植物或動(dòng)物需要的事情。
- 使用 SD 卡不僅有利于存儲(chǔ)和檢索數(shù)據(jù),而且可以更輕松地對(duì)繼電器進(jìn)行編程。
- 時(shí)間系統(tǒng)和傳感器可以同時(shí)工作。(傳感器優(yōu)先控制繼電器)
- 農(nóng)民可以為他們的目的添加許多傳感器。
- 如果發(fā)生停電,我的系統(tǒng)工作正常。
為了未來(lái)
- 我可以添加 Internet 連接,無(wú)論是 WiFi 還是以太網(wǎng),以有效地傳輸數(shù)據(jù)并更輕松地對(duì)繼電器進(jìn)行編程。
- 通過(guò)有效的互聯(lián)網(wǎng)連接,我可以制作一個(gè)應(yīng)用程序來(lái)監(jiān)控?cái)?shù)據(jù)、編程繼電器、確定傳感器的值限制......這可以簡(jiǎn)化我的系統(tǒng)的使用。
- 我可以使用 Grove 傳感器來(lái)增加傳感器數(shù)量。
- 我可以增加繼電器數(shù)量。
最后
我真的很感謝 Wilderness Labs 給我們一個(gè)機(jī)會(huì)來(lái)解決我們使用 Netduino 的問(wèn)題,他們的高級(jí)語(yǔ)言支持卡。
- 家庭自動(dòng)化系統(tǒng)開(kāi)源構(gòu)建
- 自動(dòng)化系統(tǒng)開(kāi)源硬件
- 家庭自動(dòng)化系統(tǒng)開(kāi)源分享
- 自動(dòng)化PCB開(kāi)源設(shè)計(jì)
- Automation(電力系統(tǒng)及其自動(dòng)化)
- bacnet技術(shù)的智能樓宇自動(dòng)化系統(tǒng)的設(shè)計(jì)
- 基于航跡數(shù)據(jù)的空中交通管制自動(dòng)化系統(tǒng) 7次下載
- 基于DSP的變電站綜合自動(dòng)化控制系統(tǒng) 23次下載
- Industrial自動(dòng)化擴(kuò)展系統(tǒng)800xA 6次下載
- 如何使用軟件定義實(shí)現(xiàn)自動(dòng)化測(cè)試系統(tǒng)進(jìn)行高級(jí)汽車電子測(cè)試
- 樓宇自動(dòng)化--空調(diào)系統(tǒng)自動(dòng)化原理(第3章) 0次下載
- 樓宇自動(dòng)化--樓宇自動(dòng)化系統(tǒng)集成(第11章) 0次下載
- 基于Lotus Dominonotes 平臺(tái)的辦公自動(dòng)化系統(tǒng)
- 配電網(wǎng)自動(dòng)化系統(tǒng)線路故障自動(dòng)隔離功能探討
- CAM工序自動(dòng)化說(shuō)明 0次下載
- 工業(yè)自動(dòng)化和自動(dòng)化區(qū)別是什么 1029次閱讀
- SCADA系統(tǒng)在工業(yè)自動(dòng)化中的應(yīng)用 747次閱讀
- 自動(dòng)化仿真系統(tǒng)搭建實(shí)踐 1333次閱讀
- 自動(dòng)化控制系統(tǒng)的基本知識(shí) 3750次閱讀
- 過(guò)程自動(dòng)化控制和運(yùn)動(dòng)自動(dòng)化控制的原理詳解 1350次閱讀
- Selenium在自動(dòng)化中有何用處 1612次閱讀
- 基于以太網(wǎng)的現(xiàn)場(chǎng)總線技術(shù)實(shí)現(xiàn)自動(dòng)化系統(tǒng)的控制功能 1439次閱讀
- 什么是非標(biāo)自動(dòng)化設(shè)備及分類介紹 4.2w次閱讀
- 非標(biāo)自動(dòng)化設(shè)備的分類 6279次閱讀
- Pilz PSS 4000自動(dòng)化系統(tǒng),助力天然氣管道實(shí)現(xiàn)高度自動(dòng)化運(yùn)營(yíng)和監(jiān)測(cè) 1580次閱讀
- ATE自動(dòng)化測(cè)試系統(tǒng)是什么_ATE自動(dòng)化測(cè)試系統(tǒng)介紹 3.2w次閱讀
- 自動(dòng)化領(lǐng)域初涉水 非標(biāo)自動(dòng)化和自動(dòng)化到底有哪些區(qū)別? 6088次閱讀
- 過(guò)程自動(dòng)化系統(tǒng)介紹 CPAS架構(gòu)詳解 6843次閱讀
- 紅帽推出Ansible 2.2 :為開(kāi)源自動(dòng)化框架奠定牢靠的基礎(chǔ) 984次閱讀
- 基于GPRS的電網(wǎng)調(diào)度自動(dòng)化系統(tǒng) 1238次閱讀
下載排行
本周
- 1Keysight B1500A 半導(dǎo)體器件分析儀用戶手冊(cè)、說(shuō)明書(shū) (中文)
- 19.00 MB | 4次下載 | 免費(fèi)
- 2使用TL431設(shè)計(jì)電源
- 0.67 MB | 2次下載 | 免費(fèi)
- 3BT134雙向可控硅手冊(cè)
- 1.74 MB | 2次下載 | 1 積分
- 4一種新型高效率的服務(wù)器電源系統(tǒng)
- 0.85 MB | 1次下載 | 1 積分
- 5LabVIEW環(huán)形控件
- 0.01 MB | 1次下載 | 1 積分
- 6PR735,使用UCC28060的600W交錯(cuò)式PFC轉(zhuǎn)換器
- 540.03KB | 1次下載 | 免費(fèi)
- 751單片機(jī)核心板原理圖
- 0.12 MB | 1次下載 | 5 積分
- 8BP2879DB支持調(diào)光調(diào)滅的非隔離低 PF LED 驅(qū)動(dòng)器
- 1.44 MB | 1次下載 | 免費(fèi)
本月
- 1開(kāi)關(guān)電源設(shè)計(jì)原理手冊(cè)
- 1.83 MB | 54次下載 | 免費(fèi)
- 2FS5080E 5V升壓充電兩串鋰電池充電管理IC中文手冊(cè)
- 8.45 MB | 23次下載 | 免費(fèi)
- 3DMT0660數(shù)字萬(wàn)用表產(chǎn)品說(shuō)明書(shū)
- 0.70 MB | 13次下載 | 免費(fèi)
- 4UC3842/3/4/5電源管理芯片中文手冊(cè)
- 1.75 MB | 12次下載 | 免費(fèi)
- 5ST7789V2單芯片控制器/驅(qū)動(dòng)器英文手冊(cè)
- 3.07 MB | 11次下載 | 1 積分
- 6TPS54202H降壓轉(zhuǎn)換器評(píng)估模塊用戶指南
- 1.02MB | 8次下載 | 免費(fèi)
- 7STM32F101x8/STM32F101xB手冊(cè)
- 1.69 MB | 8次下載 | 1 積分
- 8基于MSP430FR6043的超聲波氣體流量計(jì)快速入門指南
- 2.26MB | 7次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935119次下載 | 10 積分
- 2開(kāi)源硬件-PMP21529.1-4 開(kāi)關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420061次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233084次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191367次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73807次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65987次下載 | 10 積分
評(píng)論
查看更多