大数跨境
0
0

"表面上是对罐头,其实它是一副对讲机。"

"表面上是对罐头,其实它是一副对讲机。" DF创客社区
2020-06-03
2
导读:号称“世界上第一台”罐头对讲机!
【点击上方「蓝字」关注DF,一起成为技术颜控!】

能够做一副对讲机其实一直是我小时候的梦想,今天就来和大家分享一个小哥做的号称“世界上第一台”罐头对讲机项目。

▲  文末有完整视频

最后的内部结构大概是这个样子:

项目中的硬件由DFRobot友情赞助!

起因

项目的主人公是个逗比,制作罐头对讲机的初衷是因为自己的香蕉电话坏了,导致错过了一个非常重要的电话,一生气,决定升级一下自己的电话。

准备工具和材料

工具

  • 电钻
  • 铁皮剪
  • 热熔胶枪
  • 尖嘴钳
  • 圆头锤

材料

  • DFRduino Uno R3
  • Gravity IO 扩展板(可选)
  • 模拟声音传感器(麦克风)
  • 386AMP音频放大器模块(扬声器)
  • 6xAA电池座,带DC2.1电源插孔(5号电池6枚)
  • NRF24L01 + PA + LNA(带天线)
  • 按钮开关
  • 铝制罐头
  • 跳线

处理罐头

在连接电子设备之前,我们需要在罐头上先打两个孔。

一个用于天线,另一个用于按钮。

先来给天线钻孔。把天线板放到罐头里面,测量好距离,并用白板笔做好标记,然后在需要钻孔的地方压出一个小凹痕,方便等下钻孔。

根据你使用的天线的不同,需要钻的孔的大小也可能不一样,为了确保尺寸合适,我拿天线上的螺纹和钻头的尺寸进行了比较。

一旦确定好了尺寸、标记好了孔的位置,用电钻快速钻进去,但不要太用力。罐头的壁很薄,钻完之后可以用铁皮剪清理一下孔的边缘,注意手不要被割到。

接下来是给按钮开关钻孔,具体操作如下:

在五个红色叉叉的位置打孔。

用铁皮剪剪掉多余的部分,最后剪成一个圆圈的形状。

我们预计达到的效果是这样的:

粘合组件

现在让我们把组件粘上!

先插上热胶枪,等它热起来,这个时候可以放点音乐。

然后,用胶枪把天线固定在罐体上。

这里建议在天线的金属部分涂上胶水,这样它就不会直接与罐子接触。

注意:

对于所有这些组件,可以多用一点热熔胶,不要让任何模块有机会与罐子接地。如果测试的时候听到嗡嗡声或哔哔声,则可能是接地故障。

将DFRduino Uno粘到罐子的底部,然后装上电池组。这是所有部件中最重的部分,建议将胶水涂在边缘上,然后把罐子放到你想放的地方,保持天线朝上。

为了方便和美观,我们把扬声器模块粘在电池组的一边,麦克风模块粘在另外一边,像这样:

这边需要重点强调的一点是一定要多用点胶水,保证没有任何引脚与罐头直接接触。

电路接线

模块都牢牢地粘好之后,我们开始接线。

根据上面的原理图,将所有的跳线连接到相应的引脚。(下面提供基于Gravity扩展板的引脚接法)

天线

  • MI -> MISO
  • MO -> MOSI
  • SCK -> SCK
  • CE -> Pin 7
  • CSE -> Pin 8
  • GND -> GND
  • 5V -> 5V
注意:

NRF24L01是一项出色的技术,但它对电流非常敏感。确保仅使用3.3V的电压为其供电。当使用扩展板时,只能连接到5V,否则会烧坏天线。

模拟声音传感器

  • Gravity Pins -> A0

扬声器

  • +(扬声器输入端) -> 9 或 10 (左或右音频)
  • -(扬声器输入端) -> GND
  • Gravity pins -> D0

按钮开关

  • NO -> A1
  • COM -> GND

因为我们用的是RF24Audio库[1],所以麦克风、扬声器、按钮开关和天线的引脚排列也是特定的:

  • 麦克风的信号引脚总是对应A0引脚;

  • 开关总是对应A1引脚;

  • 这里使用的音频放大器不管它插在哪里,只要有电就行。重要的是你用于音频传输的电线,它默认910引脚(用于左音频和右音频);

  • 天线的CECSE引脚总是分别连接到引脚78(允许两个方向的无线电信号)。

希望这些信息可以帮助你在任何电路板上都有可以连接好电路。

烧录代码

借助RF24Audio库,这个项目的程序非常简单。它甚至不到10行代码!

//Include Libraries
#include <RF24.h>
#include <SPI.h>
#include <RF24Audio.h>

RF24 radio(7,8); // Set radio up using pins 7 (CE) 8 (CS)
RF24Audio rfAudio(radio,1); // Set up the audio using the radio, and set to radio number 0.

void setup() {
rfAudio.begin(); // The only thing to do is initialize the library.
}

这里就不具体解释它是如何工作的了,如果你想了解有关Arduino IDE的更多信息以及此代码的含义,请查看此链接[2]

你还需要安装RF24和RF24Audio库,可以在这里下载[3]

安装好Arduino IDE后,下载提供的Arduino程序并打开代码。查看"Tools(工具)"下拉列表。确保将 "Programmer(编程器)" 设置为 AVR ISP,并将 “开发板” 设置为Arduino UNO(或您使用的任何板卡)。还要确认你的端口正确(应该显示"ArduinoUnoonCom#")

现在我们已经准备好烧录代码了。将USB电缆插入Arduino和计算机,然后单击IDE左上方的上载箭头。

代码上传,你可能会听到安静的嗡嗡声。

试着按下按钮,看看嗡嗡声是否会改变音调。

它还应使IO扩展板上的LED变暗。

如果上面的情况都出现了,那么程序正确运行了,说明各个模块的连接也没有问题。

实地测试

为了测试它,我们需要把两个罐头的开关都打开。按下其中一个罐子上的按钮,使麦克风发出一些噪音。你能听到另一个罐子传来的声音吗?

同样在另一个罐子上也试试。

听到什么了吗?如果听到了,说明你成功了!

注意:

如果出现干扰或嗡嗡声,请检查接地问题。确保没有任何引线接触到罐子,并且组件之间有足够的胶水。尽量避免相互缠绕,因为这会增加干扰。

我还建议用电工胶带覆盖天线的金属部分,以防止它接地到罐子上。

如果你测试下来有效的话,接着测试一下距离。

如果没有任何阻挡信号的东西,通信的有效距离应该可以达到1000米。


▼  项目完整视频如下


参考资料

[1]

RF24Audio库: https://tmrh20.github.io/RF24Audio/

[2]

Arduino IDE的更多信息: https://www.arduino.cc/en/Guide/HomePage

[3]

RF24和RF24Audio库: https://github.com/nRF24/RF24Audio

[4]

项目来源: https://www.instructables.com/id/How-to-Make-a-Wireless-Tin-Can-Telephone-Arduino-W/



译:Roy

转载请注明作者名称及出处!



硬件军火库


DF创客社区军火库



项目制作涉及硬件可在军火库中找到


点击了解详情👆


大家有什么想法,或是对文章的指正,都欢迎在下方留言反馈

欢迎大家点击阅读原文,到社区讨论关于项目的内容!




 往期回顾 



【福利】Arduino系列引脚大全

一个害羞的口罩,见人就闭嘴。

DIY一款既实用又时尚的二进制手表!

自制一个简易实用的无接触式洗手液装置

自己动手,做一个“B数”显示器


点击阅读👆


赶紧动手👇

【声明】内容源于网络
0
0
DF创客社区
我们是专注于创新和开源硬件开发的公司——DFRobot成立的创客社区,无论你是资深创客还是小白,这里都有你的一席之地。一个人玩自己的项目,你只是寂寞宅;一群人看你玩项目,你就是技术牛!快来分享你的项目吧!
内容 1282
粉丝 0
DF创客社区 我们是专注于创新和开源硬件开发的公司——DFRobot成立的创客社区,无论你是资深创客还是小白,这里都有你的一席之地。一个人玩自己的项目,你只是寂寞宅;一群人看你玩项目,你就是技术牛!快来分享你的项目吧!
总阅读2.1k
粉丝0
内容1.3k