第1步:失败的历史
欢迎跳过此步骤。我只是记录了我如何达到这个特定的解决方案。
TL; DR:虽然这个项目成功了但我怀疑我是否会使用433/315MHz套件做任何事情严肃的(至少不是简单的)。 Arduino自身产生的RF噪声(特别是如果连接到和/或传输串行)使得这些东西相当无用恕我直言。具体来说 - Arduino Micro的情况要糟糕得多(虽然我们正处于这种状态:Micro还需要很长时间才能重置。在那里。从我的胸部开始。)
一开始,它有效
有一个工作原型(见图)。它有一个不同的算法,但它有效。
然后我回到家里,再次建造它(见特百惠照片),它工作,但有很多错误检测(检测到的信号,没有任何),但我已经设法调整了一些东西并且它有效。
然后来了Arduino Micro
然后我尝试了一个基于Arduino Micro的小型接收器(见肥皂碟照片),这一切都出错:事情可能只检测信号,如果它是发射机的几个Cm(即使那时它有点不确定)。
所以我开始做一些“有机调试”(TM):我已经将压电蜂鸣器直接连接到接收器的数据引脚,并开始收听 - 即使发射器关闭,也会产生大量的RF噪声。
甚至在外地(远离任何电动的东西。
当我告诉它停止使用串口时,它变得更好了,但仍然 - 你可以听到附加的声音(在打开变送器之前/之后,一旦它变得离变送器20-30厘米。
作为参考,我已经在数据引脚上构建了一个只有接收和压电蜂鸣器的电路。你可以听到附加的声音(在我打开发射器之前/之后,当我[吵闹]走开~2m时)。
所以我决定成为主流
我开始思考:也许在发射器端没有Arduino的整个想法是愚蠢的。也许像VirtualWire或RadioHead这样的库可以在如此低的信号/噪声水平下获得任何。所以我在Arduino作为发射器和Arduino Micro作为接收器之间尝试了一个简单的“Hello”示例,没有接收。在大型Arduino和微型Nada之间切换。
我是否刻录了接收器?
经过几次实验甚至是“特百惠原型”(曾经工作过的人变得更糟。所以我决定我损坏了接收器。也许在所有这些实验中,发射器草图被上传到错误的机器并将信号发送到接收器的数据。不确定是否重要(如果你知道答案,请发表评论),但当你不知道你是否已经烧掉了你唯一的接收器时 - 它真的很糟糕。
所以我订购了更多RF套件 [并等待。..。..]
当新套件到货时 - nada。我无法让VirtualWire示例工作。所以我搜索了论坛,发现有类似问题的人(我强调):
我买了这个套件,使用VirtualWire让它完美运行。..。..然后突然停止工作。 。..。..过去常常会有很多噪音。..。..现在什么都没有。
并且有一个答案说:
USB电源非常糟糕。尝试通过电池供电.rx和tx之间的小距离不好。到PC的小距离不好(它们就像一个高频干扰器)。
所以我尝试不使用串口调试东西或外部电源
作为“无线调试工具”,我尝试使用I2C液晶显示器,但问题是让它能够使用电池电源(串行电缆连接到一台PC甚至墙壁插座严重阻碍了射频,但我只有一个旧的Arduino(我很快会订购一些现代的)带有手动USB/电池选择跳线,并且获得I2C液晶显示器并非易事。在“电池”模式下工作(如果你有类似的问题,这是我写的一个方法)。
成功
一旦我出现了LCD问题当然,我写了一个版本的stick2cane,它提供了直方图(稍后参见算法。它比前一个简单得多)。诀窍是直观地看直方图并研究它们。没有多少串行调试可以提供这样的见解(除非您通过串行导入csv或json - 未来项目的想法;)。
步骤2:发送器(手杖侧)
材料
1 x 433/415MHz射频套件(例如MX-FS-03V/MX-05V。如果您使用的是Milcandy接收器,则需要使用Grove套件。
1 x 555定时器
2 x1㏀电阻
1x10μF电容
1x0.01μF电容
正如您在照片中看到的那样(早期原型),有一个基于555的振荡器通过蓝色导线向发射器驱动50Hz信号。
在最后一张照片中,我们可以看到它可以真正紧密包装。
第3步:接收者(患者身边)
代码这里。
引脚定义是连接到Arduino所需组件的一个很好的清单。如果您没有使用MilCandy,只需在代码中写下“开始引脚定义”的相关引脚。
你需要连接的是一个按钮,红色和绿色指示灯(或其他“坏/好”指示灯),一个蜂鸣器(或振动器),当然 - 接收器匹配你用过的发射器上一步。
连接接收器
如果你不使用grove接收器,你可以将它插入你的arduino的标题(见照片)或进入面包板(见肥皂碟照片)。它有4个引脚:Gnd,2xdata,Vcc。你做的是插入模拟引脚(比如2-5),然后在设置中将LOW发送到2,HIGH到5(伪Gnd/Vcc),然后在引脚3,4上发出信号。
操作
MilCandy有一个内置的可充电电池,这很酷,但缺点是,如果你给它充电,它会打开(无论电源开关是什么并且由于电能产生RF噪声,它将进入“无信号”模式并开始发出蜂鸣声。解决它的方法是决定它总是以静音模式重启(可以通过按钮切换)。为了提醒用户静音模式已打开,LED(红色或绿色)闪烁。接收器盒上还贴有一个贴纸,试图传达所有这些信息(见图文件)。
为什么会起作用
毕竟我‘经过,我不太确定;)
基本上,我采集64个RF数据样本,取最重要的4位并创建一个直方图:有多少样本具有这样的值(从16粗选项。
正如预期的那样,通常有许多样本返回0(或可能值的最低16位)。当有信号时,我们会在特定的插槽中看到很多值。在一些罕见的情况下,它变得有点模糊(最近的槽中的一些值到最大的槽),但是如果你把最大的槽和它的邻居(如果有的话,不包括0槽)加起来,那么值应该高于MIN_REQUIRED_PEAK(根据我的经验,38级高于“房间噪音水平”)。这曾经是用电位器控制的,但最好的办法是不让病人让东西停止工作,所以我们就是这样。
-
发射器
+关注
关注
6文章
849浏览量
53508
发布评论请先 登录
相关推荐
评论