起因:之前做过一个电报机,纯电路触发,只能自己一个人玩,有小伙伴一块儿玩的话可就不得劲了,为防别的小伙伴们羡慕,也为了一起愉快的玩耍,我觉得做个可以通信的电报机出来。正好手头有几个NRF24L01,想着用它们做一个2.4G无线通信的,我会以单双杠、半双工、全双工的方式,分三节解;本节是讲单双工式。
目的:制作2.4G无线通信对讲机。
分类:焊接、硬件、Arduino、2.4G通信
材料:arduino nano2、2X4排母2、1X15排母4、NRF24L012、蜂鸣器/喇叭2、端子2、按键1、5节电池盒2、电脑:Arduino IDE、人
话不多说,走曲
虚҉伪҉ 原创
芯片简介
nRF24L01是由NORDIC生产的工作在2.4GHz~2.5GHz的ISM 频段的单片无线收发器芯片。无线收发器包括:频率发生器、增强型“SchockBurst”模式控制器、功率放大器、晶体振荡器、调制器和解调器。
应用领域
● 无线鼠标 键盘 游戏机操纵杆
● 无线门禁
● 无线数据通讯
● 安防系统
● 遥控装置
● 遥感勘测
● 智能运动设备
● 工业传感器
● 玩具
芯片图
芯片引脚
芯片与arduino nano连接表
前言:制作的发送机和接收机我们都是使用的洞洞板,电路板会考虑开发。
首先,需要制作电报机收发一体机,这是我们需要焊接的材料:
将这些全部摆放到洞洞板上,确定好位置后就可以焊接了,就像我这样:
接下来是发送机代码部分:
#include <nRF24L01.h>
#include <RF24.h>
RF24 radio(9, 10);
void setup() {
Serial.begin(9600);
radio.begin();
radio.openWritingPipe(address);
radio.setPALevel(RF24_PA_MIN);
radio.stopListening();
}
void loop() {
int D2 = digitalRead(2);
radio.write(&D2, sizeof(D2));
Serial.println(D2);
}
成品如下:
其次,是接收机部分,和发送机的步骤一样:
接收机代码部分:
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
RF24 radio(9, 10);
void setup() {
Serial.begin(9600);
radio.begin();
radio.openReadingPipe(0, address);
radio.setPALevel(RF24_PA_MIN);
radio.startListening();
}
void loop() {
int D2;
if (radio.available()) {
radio.read(&D2, sizeof(D2));
Serial.println(D2);
if(D2 == 0){
tone(2,800);
}else{
noTone(2);
}
}
}
成品如下:
※提个醒:收发一体机自带喇叭和按键,可以用来播放声音,需要自己额外写代码。
作者:Huski( 虚҉伪҉ )
转载请注明出处