×

nRF24L01带ATtiny85 3针开源分享

消耗积分:0 | 格式:zip | 大小:0.04 MB | 2022-12-19

李俊

分享资料个

描述

这将是我之前的项目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给出的说明来 实施它。 

所需的组件是

  • 阁楼85
  • nRF24L01+ 
  • 陶瓷电容器 - 10nF 
  • 碳膜电阻器 - 22kΩ
  • 开关二极管 - 1n4148  

将下面的代码上传到 ATtiny85(  如果你想知道怎么做,请参考我之前的项目Programming ATtiny85 with Arduino Uno )

发件人.ino

 

如下图所示连接组件

 
 
 
 
pYYBAGOYdIWAEzcaAABeJBSwzBM545.png
 
1 / 3
 
如果不清楚,请参阅该项目随附的 Fritzing 文件。尽管 nRF24L01+ 的其余引脚可承受 5v 电压,但您应始终为 Vcc 提供 3v3 电源,否则会损坏它。

连接电源后,发射器将开始每 1 秒发送一次数字序列。

接收者

接收器接收发送器发送的数据,接收到的数据可以在串口监视器中看到。

所需的组件是

将以下代码上传到 Uno

接收器.ino

 

如下图所示连接组件

 

 
 
 
 
pYYBAGOYdIiAfpVjAACBsRqo3Pk801.png
 
1 / 2
 

如果不清楚,请参阅该项目随附的 Fritzing 文件。请注意,Vcc 应始终为 3v3。在某些 Arduino Uno 克隆中,3v3 电源可能没有足够的电流,导致 nRF24L01+ 无法工作。建议使用以下任何一种方法来解决此问题

  1. 使用单独的 3v3 电源
  2. 在模块本身的 Vcc 和 Gnd 之间添加一个 10uF 电容。
  3. 使用  nRF24L01+ 插座适配器

 

发射器和接收器准备就绪,现在可以进行测试了。确保变送器的电源处于打开状态。将 Arduino Uno 连接到 PC 并在 arduino ide 中打开串行监视器。它应该如下工作

 

使其永久化

由于我对焊接的了解很少,我使用穿孔板将其永久化。

 
 
 
 
pYYBAGOYdT6AODWXABptmyGYmmA699.jpg
 
1 / 3
 

这是一个更简单的模块,用于演示 nRF24L01+ 以及我们如何仅利用 ATtiny85 的 3 个引脚连接它,以便其余引脚可用于读取传感器数据。欢迎反馈/建议。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !