这将是我之前的项目Programming ATtiny85 with Arduino Uno的延续。现在有了更便宜的 ATtiny85,我一直在寻找更便宜的方式来传输传感器数据。这让我想到了 nRF24L01+ 一种便宜的低功耗射频收发器。这对我来说似乎是更好的解决方案。但是有一个问题,ATtiny85 中的针数限制。我无法同时连接 nRF24L01+ 和其中的传感器。所以我一直在寻找解决方案,并遇到了“ nrf24l01+ control with 3 ATtiny85 pin ”。在这里,我将讨论我是如何实现它的。
这里将有发射器和接收器两个模块。发射器是 ATtiny85,发送一些数据,接收器是 Arduino Uno,通过 nRF25L01+ 接收数据。我使用 RF24 库。按照那里给出的说明,在开始之前将其添加到 Arduino IDE。我不会过多解释 RF24,因为它有一个非常好的文档。
发送器每秒发送一个递增的数字。ATtiny85 将仅使用 3 个引脚通过 nRF24L01+ 发送数据。我按照 Ralph Doncaster给出的说明来 实施它。
所需的组件是
将下面的代码上传到 ATtiny85( 如果你想知道怎么做,请参考我之前的项目Programming ATtiny85 with Arduino Uno )
如下图所示连接组件
如果不清楚,请参阅该项目随附的 Fritzing 文件。尽管 nRF24L01+ 的其余引脚可承受 5v 电压,但您应始终为 Vcc 提供 3v3 电源,否则会损坏它。
连接电源后,发射器将开始每 1 秒发送一次数字序列。
接收器接收发送器发送的数据,接收到的数据可以在串口监视器中看到。
所需的组件是
将以下代码上传到 Uno
如下图所示连接组件
如果不清楚,请参阅该项目随附的 Fritzing 文件。请注意,Vcc 应始终为 3v3。在某些 Arduino Uno 克隆中,3v3 电源可能没有足够的电流,导致 nRF24L01+ 无法工作。建议使用以下任何一种方法来解决此问题
发射器和接收器准备就绪,现在可以进行测试了。确保变送器的电源处于打开状态。将 Arduino Uno 连接到 PC 并在 arduino ide 中打开串行监视器。它应该如下工作
由于我对焊接的了解很少,我使用穿孔板将其永久化。
这是一个更简单的模块,用于演示 nRF24L01+ 以及我们如何仅利用 ATtiny85 的 3 个引脚连接它,以便其余引脚可用于读取传感器数据。欢迎反馈/建议。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !