电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子资料>紧凑型多开关数据记录器开源分享

紧凑型多开关数据记录器开源分享

2023-06-20 | zip | 0.00 MB | 次下载 | 免费

资料介绍

描述

我在这个项目中描述了如何通过将不同类型的开关直接连接到 Hexabitz uSD 模块 (H1BR60) 并将它们全部记录到单个 microSD 卡日志来构建一个微型数据记录器。该项目教您如何同时运行具有不同配置和多个变量的多个日志。四个传感器/开关连接到单个 H1BR60(microSD 卡)模块:两个机械限位开关、一个光学限位开关和一个磁性开关。

它是什么?

四个传感器/开关连接到单个 H1BR60 模块:两个机械限位开关、一个光学限位开关(用于 3d 打印机)和一个磁簧开关(也是机械的,通常用于门等)这个例子特别展示了如何PortButtons BOS 功能可用于许多不同的实现,而不仅仅是读取用户按钮。我们将同时运行两种不同类型的日志,一种是基于速率的,另一种是基于事件的。

预计硬件构建时间:5 分钟 

预计软件开发时间:5-10分钟

 

 

 
 
 
 
pYYBAGOpdNaAQIa1AA_hW7oz9Us941.jpg
 
1 / 2
 

 

代码说明

端口开关/按钮功能是 BOS(Bitz 操作系统,底层 Hexabitz 后端)功能,可将阵列串行端口转换为 I/O 端口,可以通过易于使用的 API 对外部开关进行采样。在此示例中,我们定义了四个开关并将每个开关与不同的事件相关联。 

AddPortButton(MOMENTARY_NO, P1);            // Magnetic
SetButtonEvents(P1, 0, 0, 1, 0, 0, 1, 0, 0);
AddPortButton(MOMENTARY_NO, P3);            // Limit Switch 1
SetButtonEvents(P3, 1, 0, 3, 0, 0, 0, 0, 0);
AddPortButton(MOMENTARY_NO, P4);            // Limit Switch 2
SetButtonEvents(P4, 1, 0, 3, 0, 0, 0, 0, 0);
AddPortButton(MOMENTARY_NC, P5);            // Optical
SetButtonEvents(P5, 1, 0, 1, 0, 0, 1, 0, 0);

光开关与其他的有点不同。它不是连接和断开信号的纯机械开关。BOS 端口按钮功能的工作方式是在端口 TXD 引脚上输出 1 (3.3V) 并在 RXD 引脚上读回。如果机械开关导致这两条线连接在一起,则会被检测到。光开关有3个引脚:电源、地和信号输出。尽管如此,我通过将其电源引脚连接到端口 TXD(开关兼容 3.3V-5V),将其信号引脚连接到端口 RXD 并将其接地连接到模块 GND,将其改装成端口按钮/开关。所以基本上它会在短时间内通电,但足以产生信号并进行测量。这很有效,因为终点站是一个简单的开关,没有时间延迟或复杂性。

然后我们在下面创建一个基于事件的日志并记录所有的开关:

CreateLog("Event", EVENT, 10, FMT_COMMA, FMT_SAMPLE, "#");
LogVar("Event", PORT_BUTTON, P1, "Magnetic");
LogVar("Event", PORT_BUTTON, P3, "LS1");
LogVar("Event", PORT_BUTTON, P4, "LS2");
LogVar("Event", PORT_BUTTON, P5, "Optical");

然后开始记录并在 30 秒后停止。LED 指示灯用于显示一些闪烁! 

IND_ON(); 
    
StartLog("Event");
Delay_s(30);    
StopLog("Event");
    
IND_OFF();                // Signal the end of the log
Delay_ms(300); IND_blink(200);        
Delay_ms(300); IND_blink(200);

 基于事件的日志可以很容易地替换为基于速率的日志,如下所示:

CreateLog("Rate", RATE, 10, FMT_SPACE, FMT_SAMPLE, "#");

您还可以同时运行两个日志并同时或独立地启动/停止它们。使用所有 Hexabitz 模块中可用的内部 RTC 和日历,您还可以设置带有时间戳的基于时间的日志。查看下面的一些基于时间的日志的屏幕截图。演示代码和示例日志已附加到该项目。

 

 
 
 
 
poYBAGOpdNqAYMChAAA_Hywwi5Y510.jpg
 
1 / 4
 

 


下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  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次下载  |  免费