Kablosuz Ofis Çağrı Çan Devresi

Sorunları Ortadan Kaldırmak Için Enstrümanımızı Deneyin





Bu yazıda, baş / patronun masasından 6 farklı personeli aramak için kullanılabilecek kablosuz ofis arama zili veya eviniz için başka bir arama zili tipi eğlence projesi yapacağız.

NRF24L01 2,4 GHz modülünü kullanma

Evinizde veya ofisinizde herhangi bir kesinti veya kapsama sorunu olmadan çalışabilen Arduino ve nRF24L01 2,4 GHz modülünü kullanarak basit bir kablosuz çağrı zili inşa edeceğiz.



Önerilen devre, devrenizin canlı kalmasını ve çağrınızı duymaya hazır olmasını sağlayan bir 5V akıllı telefon adaptöründen veya herhangi bir ucuz 5V adaptörden çalıştırılabilir.

Şuna bir genel bakalım: nRF24L01 2,4 GHz modül .



Yukarıdaki yongaya nRF24L01 modülü denir. Raspberry Pi gibi mikrodenetleyiciler ve tek kartlı bilgisayarlar için tasarlanmış çift yönlü (çift yönlü) bir iletişim devre kartıdır.

Wi-Fi iletişiminde kullanılan frekansın aynısı olan ISM bandı (Endüstriyel, Bilimsel ve Medikal bant) olan 2,4 GHz frekansını kullanır.

2Mbps hızında veri iletebilir veya alabilir, ancak bu projede iletim ve alım, daha düşük veri gereksinimleri nedeniyle 250 Kbps ile sınırlıdır ve veri hızının düşürülmesi genel menzilin artmasıyla sonuçlanacaktır.

En yüksek veri iletiminde yalnızca 12,3 mA tüketir ve bu da pil dostu cihaz yapar. Mikrodenetleyici ile iletişim kurmak için SPI protokolünü kullanır.

Aralarında engel olmaksızın 100 metre ile yaklaşık 30 metre arasında bir engelle iletim / alım aralığına sahiptir.

Bu modülü popüler e-ticaret sitelerinde ve ayrıca yerel elektronik mağazanızda bulabilirsiniz.

Not: Modül 1.9 ila 3.6V arasında çalışabilir, Arduino'daki yerleşik regülatör modül için 3.3V sağlayabilir. NRF24L01’in Vcc terminalini Arduino’nun 5V çıkışına bağlarsanız, bu modülün arızalanmasına neden olacaktır. Bu yüzden dikkatli olunmalıdır.

Bu, nRF24L01 modülüne kısa bir giriş.

Devre şemasının ayrıntılarını inceleyelim:

Uzaktan Kumanda Devresi:

Uzaktan kumanda, patron veya ofis başkanı ile olacaktır.

çağrı zili uzaktan kumanda devresi

Uzaktan kumanda, herhangi bir Arduino kartını kullanabileceğiniz şekilde Arduino nano'dan, altı farklı alıcıyı çalmak için 6 basma düğmesinden, nRF24L01 modülünden ve bir düğmeye basıldığını onaylamak için bir LED'den oluşur.

Bunu 9V pil veya 5V adaptör kullanarak çalıştırabilirsiniz. Pil durumunda, aramanızın ardından bu uzaktan kumandayı kapatmalısınız.

Şimdi koda bakalım. Bundan önce kitaplık dosyasını indirmeniz gerekir, ancak o zaman kod derlenir.

Bağlantı: github.com/nRF24/RF24.git

Uzaktan Kumanda Kodu:

// --------- 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 -------//

Bu, uzaktan kumandayı / vericiyi sonlandırır.

Şimdi alıcıya bakalım.

Alıcı Devresi:

NOT: İhtiyaçlarınıza göre bir alıcı veya altı alıcı yapabilirsiniz.

Alıcı; Arduino kartı, nRF24L01 modülü ve bir zilden oluşur. Uzaktan kumandadan farklı olarak, alıcıya 5V adaptörden güç sağlanmalıdır, böylece birkaç gün içinde boşalacak pillere bağlı kalmazsınız.

çağrı zili uzaktan alıcı devresi

Şimdi alıcının koduna bakalım:

Alıcı için Program Kodu

// --------- 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 -------//

NOT:

Bu ofis çağrı zil sistemi için birden fazla alıcı inşa edecekseniz, art arda alıcı oluşturmada belirtilen değeri değiştirmeli ve kodu yüklemelisiniz.

İlk alıcı için (hiçbir şeyi değiştirmeye gerek yok):

// ------- Bunu değiştir ------- //
const bayt adresi [6] = '00001' ve kodu yükleyin.
// ------------- ------------ //

İkinci alıcı için (Değiştirmelisiniz):
const bayt adresi [6] = '00002' ve kodu yükleyin.

Üçüncü alıcı için (Değiştirmelisiniz):
const bayt adresi [6] = '00003' ve kodu yükleyin.

Ve böylece …… .. “00006” ya kadar veya altıncı alıcı.

Uzaktan kumandadaki 'S1' tuşuna bastığınızda, '00001' adresli alıcı yanıt verecek / vızıltı verecektir.

Uzaktan kumandada 'S2' tuşuna bastığınızda, '00002' adresli alıcı yanıt verecek / vızıltı verecektir.
Ve bunun gibi……

Bu, alıcı devresinin ayrıntılarını tamamlıyor.

Daha fazla sorunuz varsa, lütfen bunları yorum bölümünde ifade etmekten çekinmeyin, kısa süre içinde bir cevapla size geri dönmeye çalışacağız.




Önceki: Uzaktan Kumanda Test Devresi Sonraki: Basit Yükseltme Dönüştürücü Devreleri Nasıl Yapılır