电子发烧友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次下载  |  免费