この投稿では、ヘッド/ボスのデスクから6人の異なる担当者に電話をかけるために使用できるワイヤレスオフィスの呼び鈴、または自宅用のその他の呼び鈴タイプの楽しいプロジェクトを構築します。
nRF24L01 2.4GHzモジュールの使用
ArduinoとnRF24L012.4 GHzモジュールを使用して、簡単なワイヤレスコールベルを構築します。これにより、問題やカバレッジの問題が発生することなく、自宅やオフィスを回避できます。
提案された回路は、5Vスマートフォンアダプターまたは安価な5Vアダプターから電力を供給できます。これにより、回路が存続し、通話を聞く準備が整います。
の概要を見てみましょう nRF24L01 2.4GHzモジュール 。
上記のチップはnRF24L01モジュールと呼ばれます。これは、マイクロコントローラーやRaspberry Piなどのシングルボードコンピューター用に設計されたデュプレックス(双方向)通信回路基板です。
Wi-Fi通信と同じ周波数であるISMバンド(産業・科学・医療用バンド)である2.4GHzの周波数を利用しています。
2Mbpsの速度でデータを送受信できますが、このプロジェクトでは、データ要件が低く、データ速度を下げると全体の範囲が広がるため、送受信は250Kbpsに制限されます。
ピークデータ転送時に12.3mAしか消費しないため、バッテリーに優しいデバイスになります。マイクロコントローラとの通信にSPIプロトコルを利用します。
送信/受信範囲は100メートルで、間に障害物はなく、約30メートルの範囲で障害物があります。
このモジュールは、人気のあるeコマースサイトや地元の電気店で見つけることができます。
注:モジュールは1.9〜3.6Vで動作でき、Arduinoのオンボードレギュレーターはモジュールに3.3Vを供給できます。 nRF24L01のVcc端子をArduinoの5Vの出力に接続すると、モジュールが誤動作します。したがって、注意が必要です。
これがnRF24L01モジュールの簡単な紹介です。
回路図の詳細を調べてみましょう。
リモートコントロール回路:
リモートは上司またはオフィスの長と一緒になります。
リモコンは、Arduinoボード、6つの異なるレシーバーを鳴らすための6つのプッシュボタン、nRF24L01モジュール、およびボタンのプッシュを確認するためのLEDで構成されています。
これは、9Vバッテリーまたは5Vアダプターを使用して電力を供給できます。バッテリーの場合は、電話の後にこのリモコンをオフにする必要があります。
それでは、コードを見てみましょう。その前に、ライブラリファイルをダウンロードするだけで、コードがコンパイルされます。
リンク:github.com/nRF24/RF24.git
リモートのコード:
// --------- Program Developed by R.GIRISH / homemade-circuits. com -------//
#include
#include
RF24 radio(9, 10)
const byte address_1[6] = '00001'
const byte address_2[6] = '00002'
const byte address_3[6] = '00003'
const byte address_4[6] = '00004'
const byte address_5[6] = '00005'
const byte address_6[6] = '00006'
const int input_1 = A0
const int input_2 = A1
const int input_3 = A2
const int input_4 = A3
const int input_5 = A4
const int input_6 = A5
const int LED = 2
const char text[] = 'call'
void setup()
{
pinMode(input_1, INPUT)
pinMode(input_2, INPUT)
pinMode(input_3, INPUT)
pinMode(input_4, INPUT)
pinMode(input_5, INPUT)
pinMode(input_6, INPUT)
pinMode(LED, OUTPUT)
digitalWrite(input_1, HIGH)
digitalWrite(input_2, HIGH)
digitalWrite(input_3, HIGH)
digitalWrite(input_4, HIGH)
digitalWrite(input_5, HIGH)
digitalWrite(input_6, HIGH)
radio.begin()
radio.setChannel(100)
radio.setDataRate(RF24_250KBPS)
radio.setPALevel(RF24_PA_MAX)
radio.stopListening()
}
void loop()
{
if (digitalRead(input_1) == LOW)
{
radio.openWritingPipe(address_1)
radio.write(&text, sizeof(text))
digitalWrite(LED, HIGH)
delay(400)
digitalWrite(LED, LOW)
}
if (digitalRead(input_2) == LOW)
{
radio.openWritingPipe(address_2)
radio.write(&text, sizeof(text))
digitalWrite(LED, HIGH)
delay(400)
digitalWrite(LED, LOW)
}
if (digitalRead(input_3) == LOW)
{
radio.openWritingPipe(address_3)
radio.write(&text, sizeof(text))
digitalWrite(LED, HIGH)
delay(400)
digitalWrite(LED, LOW)
}
if (digitalRead(input_4) == LOW)
{
radio.openWritingPipe(address_4)
radio.write(&text, sizeof(text))
digitalWrite(LED, HIGH)
delay(400)
digitalWrite(LED, LOW)
}
if (digitalRead(input_5) == LOW)
{
radio.openWritingPipe(address_5)
radio.write(&text, sizeof(text))
digitalWrite(LED, HIGH)
delay(400)
digitalWrite(LED, LOW)
}
if (digitalRead(input_6) == LOW)
{
radio.openWritingPipe(address_6)
radio.write(&text, sizeof(text))
digitalWrite(LED, HIGH)
delay(400)
digitalWrite(LED, LOW)
}
}
// --------- Program Developed by R.GIRISH / homemade-circuits. com -------//
これでリモコン/送信機は終わりです。
それでは、受信機を見てみましょう。
受信回路:
注:必要に応じて、1つのレシーバーまたは6つのレシーバーを作成できます。
受信機は、Arduinoボード、nRF24L01モジュール、およびブザーで構成されています。リモコンとは異なり、レシーバーは5Vアダプターから電力を供給される必要があります。これにより、数日以内に消耗する電池に依存することがなくなります。
次に、レシーバーのコードを見てみましょう。
“DC発電機とは何ですか ”
受信機のプログラムコード
// --------- Program Developed by R.GIRISH / homemade-circuits. com -------//
#include
#include
RF24 radio(9, 10)
const int buzzer = 2
char text[32] = ''
// ------- Change this ------- //
const byte address[6] = '00001'
// ------------- ------------ //
void setup()
{
Serial.begin(9600)
pinMode(buzzer, OUTPUT)
radio.begin()
radio.openReadingPipe(0, address)
radio.setChannel(100)
radio.setDataRate(RF24_250KBPS)
radio.setPALevel(RF24_PA_MAX)
radio.startListening()
}
void loop()
{
if (radio.available())
{
radio.read(&text, sizeof(text))
digitalWrite(buzzer, HIGH)
delay(1000)
digitalWrite(buzzer, LOW)
}
}
// --------- Program Developed by R.GIRISH / homemade-circuits. com -------//
注意:
このオフィスコールベルシステム用に複数のレシーバーを構築する場合は、後続のレシーバービルドで上記の値を変更し、コードをアップロードする必要があります。
最初の受信機の場合(何も変更する必要はありません):
// - - - - これを変える - - - - //
const byte address [6] = '00001'そしてコードをアップロードします。
// ------------- ------------ //
2番目の受信機の場合(変更する必要があります):
const byte address [6] = '00002'そしてコードをアップロードします。
3番目の受信機の場合(変更する必要があります):
const byte address [6] = '00003'そしてコードをアップロードします。
など……..「00006」または6番目の受信機まで。
リモートで「S1」を押すと、アドレス「00001」の受信機が応答/バズします。
リモートで「S2」を押すと、アドレス「00002」の受信機が応答/バズします。
等々……
これで受信回路の詳細は終わりです。
ご不明な点がございましたら、コメント欄にご記入ください。折り返しご連絡を差し上げます。
前:リモートコントロールテスター回路 次へ:簡単なブーストコンバータ回路の作り方