確かに、Arduinoまたはその他の要素を使用してDIYプロジェクトを作成する必要があり、 無線通信。 そしてそれはあなたがIR、RF、Bluetooth、WiFiなどを使って送信することを可能にするある種のモジュールまたはデバイスを持っていることによって起こります。 つまり、自分のケースでどのタイプの信号が最も適切であるかを知る必要があることを明確にする必要があります。
この場合、 NRF24L01のガイド あなたのために。 これは、信号を送受信するために必要なものを提供する無線通信チップです。 それが処理する信号のタイプは、RFまたは無線周波数、つまり長波長の波であり、したがって低エネルギーであり、電磁スペクトルでは周波数が3 Hz〜300Ghzです。
NRF24L01とは何ですか?
El NRF24L01は、NordicSemiconductorによって製造されたチップです。。 それであれば 製品が見つかりません。、チップは、必要ないくつかの補助要素を備えた小さなPCBにマウントされているため、モジュールを構成します。 後で説明するように、Adruinoに接続するなど、いくつかの方法で使用できます。
NRF24L01は、その名前から推測できるように、RFまたは無線周波数を使用して動作する機能を備えた無線通信デバイスです。 2,4Ghz-2,5Ghz。 それが無料で使えるフリーバンドです。 他のバンドが予約されていることはすでに知っているので、それらを使用して情報を送信する場合は料金を支払う必要があります。 さらに、送信機+受信機を統合します。
具体的には、使用できる周波数帯は2.400Mhzから2.525Mhzで、どちらかを選択できます。 125運河 それらの間に1Mhzのスペースがあります。 ただし、WiFiネットワーク、この周波数で動作するドローンなどを使用している場合は、2.4Ghz周波数を使用することはお勧めしません。そうしないと、干渉が発生します。 そのため、2.501Mhz以降を使用することが望ましいです。
その特徴については、 1.9から3.6vで動作し、 そのため、3.3接続のArduinoボード自体、バッテリー、さらにはその電圧の電源を使用して、簡単に電力を供給できます。 また、250 Kbps、1Mbps、最大2Mbpsの伝送速度を設定できます。
エミッションとレセプションのチップは同時に動作することができます 最大6つの接続 さまざまなデバイスの。 これにより、さまざまなポイントから問題なくブロードキャストまたは受信できます。 また、通信の堅牢性や信頼性が心配な場合は、チップ自体に、データエラーを修正し、必要に応じて情報を転送するための論理回路があります。 したがって、プロセッサをこのタスクから解放します。
それを制御するには、 SPIバス、したがって、Arduinoでの制御は非常に簡単です。 さらに、NRF24L01のデータピンは問題なく最大5vをサポートします。 スタンバイ時の消費電力は非常に低いため、心配する必要はありません。また、データの送受信に15mAしか必要としないため、動作中は最もコストがかかるものではありません。
市場にはいくつかあります NRF24L01チップをマウントするさまざまなモジュール、それらは、それらが持っている補助要素またはいくつかの詳細でのみ変更されます。 たとえば、アンテナのタイプです。 PCBにアンテナが約20〜30メートルの範囲のジグザグ形状で印刷されているものもあります。 他の人は、アンプ付きのやや強力な外部アンテナが700メートルから1kmになることを認めています。
しかし、 実際の範囲はいくつかの要因によって制限されます道路の障害物、存在する他の要素または信号からのノイズまたは干渉、伝送速度、供給電圧(より高い電圧、より長い距離)など。 たとえば、最大速度2Mbpsで送信する場合、距離に大きなペナルティが発生します。これは、最大2メートルまたは3メートルにすぎません。 低速では、その距離を登ることができる場合があります。
購入する前に何を知っておく必要がありますか?
El NRF24L01は非常に安価なチップです 多数のプロジェクトで使用できます。 たとえば、外部アンテナがない場合は、最大0.65ユーロで購入できます。外部アンテナモデルはこれよりも少し高価ですが、それでも非常に安価で、通常は1.7ユーロを超えません。
別の放射または受信要素がない場合は、24つのNRF01LXNUMXモジュールを購入する必要があることをすでに知っています。XNUMXつは送信する場所の一方の側で使用し、もう一方はもう一方の側で使用します。 彼らは両方とも次のように行動します 送信者または受信者 好きなように。
NRF24L01のピン配列と取り付け
組み立てはとても簡単です。 ザ・ NRF24L01には8つのピンがあるため、ピン配置は非常に簡単です。 私があなたに残したこの画像であなたがどのように見ることができるかを理解するために。 右側にボードのピン配列を見ることができます Arduino UNO モジュールの各ピンがどのように接続されるか。
あなたが推測できるように、プレート NRF24L01は、GNDピンと3.3vピンを使用して給電されます Arduinoから。 5v信号でそれをしないことを忘れないでください、さもないとモジュールを損傷します。
Arduinoとの統合
NRF24L01とは何か、接続方法と電源供給方法がわかったら、これらの安価なデバイスをいくつか使用して実行できるプロジェクトの数に加えて、次のことを示します。 プログラミング例 そのため、ArduinoIDEの実験を開始できます。 送信できるデータ形式はソースコードで変更できることに注意してください。
文字列、整数、浮動小数点データなどの送受信を選択できます。 私はあなたをお勧めします Arduinoプログラミングに関するガイド あなたが始めているなら。 これを使用すると、最初のプロジェクトを作成できます。 そして、NRF24L01の具体例として、ここに残しておきます 文字列に必要なコード.
Arduino IDEで記述し、割り当てるNRF24L01に接続されたArduinoボードをプログラムする必要があるコード 送信機:
#include <nRF24L01.h> #include <RF24.h> #include <RF24_config.h> #include <SPI.h> const int pinCE = 9; const int pinCSN = 10; RF24 radio(pinCE, pinCSN); // Single radio pipe address for the 2 nodes to communicate. const uint64_t pipe = 0xE8E8F0F0E1LL; char data[16]="Aquí tu mensaje" ; void setup(void) { radio.begin(); radio.openWritingPipe(pipe); } void loop(void) { radio.write(data, sizeof data); delay(1000); }
ここでは、Arduino IDEに入力し、専用のNRF24L01に接続したボードに次のように記録する必要があるコードを示します。 受信機:
#include
#include
#include
#include
const int pinCE = 9;
const int pinCSN = 10;
RF24無線(pinCE、pinCSN);
// 2つのノードが通信するための単一の無線パイプアドレス。
constuint64_tパイプ= 0xE8E8F0F0E1LL;
charデータ[16];
ボイド設定(ボイド)
{
Serial.begin(9600);
radio.begin();
radio.openReadingPipe(1、パイプ);
radio.startListening();
}
ボイドループ(ボイド)
{
if(radio.available())
{
int done = radio.read(data、sizeof data);
Serial.println(データ);
}
}
それと 必要なものがすべて揃っているので、一方の単語またはテキスト文字列を送信して、もう一方がそれらをどのように受信するかを確認できます。。 USBでArduinoボードに接続されたXNUMX台のコンピューターを使用して、データを表示する手段としてコンソールを使用します。 あなたが持っているモジュールまたはあなたがそれを与えた構成に従ってそれらを慎重な距離に分けてください、そしてあなたはあなたが最初のコードで入力した文字を他のコンピュータの画面に見るようになります...
こんにちはアイザック
arduinoやrasberryなどでプロジェクトを完成させたいです。
説明するために電子メールの連絡先を与えることができますか?
鉱山- a01b02@abv.bg
感謝