Belaidžio biuro skambučio grandinė

Išbandykite Mūsų Instrumentą, Kaip Pašalinti Problemas





Šiame įraše mes sukursime belaidį biuro skambučio skambutį, kuris gali būti naudojamas paskambinti 6 skirtingiems darbuotojams iš galvos / viršininko stalo ar kokio kito linksmo skambučio tipo projekto jūsų namams.

Naudojant „nRF24L01“ 2,4 GHz modulį

Mes sukursime paprastą belaidį skambučio varpą naudodami „Arduino“ ir „nRF24L01“ 2,4 GHz modulį, kuris gali dirbti aplink jūsų namus ar biurą be jokių žagsėjimų ar aprėpties problemų.



Siūloma grandinė gali būti maitinama iš 5V išmaniojo telefono adapterio arba bet kurio nebrangaus 5V adapterio, kuris palaiko jūsų grandinę gyvą ir pasirengusią išgirsti jūsų skambutį.

Pažvelkime į apžvalgą „nRF24L01“ 2,4 GHz modulis .



Pirmiau pateiktas lustas vadinamas nRF24L01 moduliu. Tai dvipusė (dvikryptė) ryšio plokštė, skirta mikrovaldikliams ir vieno plokštės kompiuteriams, tokiems kaip „Raspberry Pi“.

Jis naudoja 2,4 GHz dažnį, kuris yra ISM juosta (pramoninė, mokslo ir medicinos juosta). Tai yra tas pats dažnis, naudojamas „Wi-Fi“ ryšyje.

Jis gali perduoti arba priimti duomenis 2Mbps greičiu, tačiau šiame projekte perdavimas ir priėmimas yra ribojamas iki 250 Kbps, nes dėl mažesnių duomenų poreikių, o sumažinus duomenų perdavimo spartą, padidės bendras diapazonas.

Didžiausiu duomenų perdavimu jis sunaudoja tik 12,3 mA, todėl prietaisas yra patogus akumuliatoriui. Komunikacijai su mikrovaldikliu naudojamas SPI protokolas.

Jo perdavimo / priėmimo diapazonas yra 100 metrų, o tarp jų nėra kliūčių, o maždaug 30 metrų - su kai kuriomis kliūtimis.

Šį modulį rasite populiariose elektroninės prekybos svetainėse, taip pat vietinėje elektronikos parduotuvėje.

Pastaba: Modulis gali veikti nuo 1,9 iki 3,6 V, „Arduino“ borto reguliatorius gali suteikti 3,3 V moduliui. Jei prijungsite „nRF24L01“ Vcc terminalą prie 5 V „Arduino“ išvesties, tai sukels netinkamą modulio veikimą. Taigi reikia būti atsargiems.

Tai trumpas nRF24L01 modulio įvadas.

Ištirkime grandinės schemos detales:

Nuotolinio valdymo grandinė:

Nuotolinis bus su viršininku ar biuro vadovu.

skambučio varpo nuotolinio valdymo grandinė

Nuotolinio valdymo pultą sudaro „Arduino nano“, be to, galite naudoti bet kurią „Arduino“ plokštę, 6 mygtukai šešiems skirtingiems imtuvams skambinti, „nRF24L01“ modulis ir šviesos diodas mygtuko paspaudimui patvirtinti.

Tai galite maitinti naudodami 9 V akumuliatorių arba iš 5 V adapterio. Esant akumuliatoriui, šį skambutį turėtumėte išjungti.

Dabar pažvelkime į kodą. Prieš tai turite atsisiųsti bibliotekos failą tik tada, kai kodas bus sukompiliuotas.

Nuoroda: github.com/nRF24/RF24.git

Nuotolinio valdymo kodas:

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

Tai padaro nuotolinį / siųstuvą.

Dabar pažvelkime į imtuvą.

Imtuvo grandinė:

PASTABA: Priklausomai nuo jūsų poreikių, galite pagaminti vieną imtuvą arba šešis imtuvus.

Imtuvą sudaro „Arduino“ plokštė, „nRF24L01“ modulis ir garsinis signalas. Skirtingai nei nuotolinio valdymo pultas, imtuvas turėtų būti maitinamas iš 5 V adapterio, kad nepriklausytumėte nuo baterijų, kurios išsikraus per kelias dienas.

skambučio varpo nuotolinio imtuvo grandinė

Dabar pažvelkime į imtuvo kodą:

Imtuvo programos kodas

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

PASTABA:

Jei ketinate sukurti daugiau nei vieną šios biuro skambučių sistemos imtuvą, turėtumėte pakeisti minėtą vertę, kai vienas po kito imtuvas sukuria ir įkeliate kodą.

Pirmajam imtuvui (nieko keisti nereikia):

// ------- Pakeisk tai ------- //
const baito adresas [6] = '00001' ir įkelkite kodą.
// ------------- ------------ //

Antram imtuvui (turite pasikeisti):
const baito adresas [6] = '00002' ir įkelkite kodą.

Trečiajam imtuvui (turite pakeisti):
const baito adresas [6] = '00003' ir įkelkite kodą.

Ir taip toliau ... ... iki „00006“ arba šeštojo imtuvo.

Kai nuotolinio valdymo pulte paspausite „S1“, imtuvas, kurio adresas yra „00001“, atsakys / skambės.

Kai nuotolinio valdymo pulte paspausite „S2“, imtuvas, kurio adresas yra „00002“, atsakys / skambės.
Ir taip toliau……

Tuo baigiama imtuvo grandinės informacija.

Jei turite daugiau klausimų, prašome juos išsakyti komentarų skiltyje. Mes bandysime netrukus susisiekti su jumis su atsakymu




Pora: Nuotolinio valdymo testerio grandinė Kitas: Kaip sukurti paprastas keitiklio keitimo grandines