Tranzistoare pentru un receptor cu o frecvență de 433 MHz. Kit de control radio de casă bazat pe un telefon cu receptor (433 MHz)

O soluție simplă pentru sarcina ta!

În stoc

Cumpărați în vrac

Specificații

Frecvența de funcționare (MHz) 433
Tip de putere constant
Număr de intrări (buc) 1
Număr de ieșiri (buc) 1
Temperatura de funcționare recomandată (°C) -15...+60
Tensiunea de alimentare a receptorului (V) 5
Tensiunea de alimentare a emițătorului (V) 12
Greutate, nu mai mult (g) 20
Consumul de curent al receptorului (mA) 1,5
Consumul de curent al transmițătorului (mA) 10
Sensibilitate de intrare (µV) 1,5
Raza de acțiune (m) 100
Lungimea receptorului (mm) 19
Lungimea emițătorului (mm) 30
Puterea de ieșire a transmițătorului (mW) 10
Nivel de intrare a datelor transmițătorului (V) 5
Nivel de ieșire a datelor receptorului (V) 0,7
Lățimea emițătorului (mm) 15
Înălțimea emițătorului (mm) 10
Lățimea receptorului (mm) 19
Înălțimea receptorului (mm) 10
Greutate 22

Scheme

Folosind kitul fără a utiliza microcontrolere.

Domeniul de livrare

  • Placă de transmisie - 1 buc.
  • Placă receptor - 1 buc.
  • Instrucțiuni - 1 buc.

Ce este necesar pentru asamblare

  • Pentru conectare veți avea nevoie de: sârmă, fier de lipit, tăietoare laterale.

termeni de utilizare

  • Temperatura - -15C până la +50C buc.
  • Umiditate relativa - 20-80% fara condens buc.

Precauții

  • Nu depășiți tensiunea maximă admisă de alimentare pentru receptor și transmițător.
  • Nu confundați polaritatea de putere a receptorului și a emițătorului.
  • Nu depășiți curentul nominal maxim al ieșirilor receptorului.
  • Nerespectarea acestor cerințe va duce la defectarea dispozitivului.

Întrebări și răspunsuri

  • Este posibil să achiziționați mai multe receptoare pentru un emițător? Dacă sunt mai multe receptoare în cameră, toate vor fi declanșate de un emițător?
    • 1. Poți. 2. Va fi.
  • Pot controla receptorul cu una dintre telecomenzile de 433 MHz oferite?
    • Este posibil, dar pentru a evita falsele pozitive, este necesar să instalați un microcontroler în spatele receptorului și să îl programați pe telecomanda suplimentară achiziționată.
  • Buna ziua!!! Este posibil pe acest dispozitiv sa se reduca raza de actiune la 30 cm?
    • Nu l-am încercat până la 30 cm. Dar raza de acțiune este ajustată prin reducerea lungimii antenei de pe receptor și emițător.
  • Bună ziua, vă rog să-mi spuneți dacă acest set de receptor și transmițător poate fi programat sau sunt dispozitive analogice.
    • Acestea sunt dispozitive analogice. Proiectat pentru a funcționa împreună cu un microcontroler.
  • Ușor de conectat. Modulele în cauză, spre deosebire de nRF24L01+, sunt alimentate cu o tensiune de 5 V.
  • Disponibilitate. Modulele radio sunt produse de mulți producători, în diverse modele și sunt interschimbabile.
  • Defecte:

    • La o frecvență de 433,920 MHz funcționează multe alte dispozitive (candelabre radio, prize radio, brelocuri radio, modele radio etc.), care pot „bloca” transmisia de date între modulele radio.
    • Lipsa de feedback. Modulele sunt împărțite în receptor și transmițător. Astfel, spre deosebire de modulul nRF24L01+, receptorul nu poate trimite un semnal de confirmare către transmițător.
    • Viteză scăzută de transfer de date, până la 5 kbit/sec.
    • Receptorul MX-RM-5V este esențial chiar și pentru micile ondulații de pe magistrala de alimentare. Dacă Arduino controlează dispozitive care introduc ondulații chiar și mici, dar constante în magistrala de alimentare (servo, indicatoare LED, PWM etc.), atunci receptorul consideră aceste ondulații ca un semnal și nu răspunde la undele radio de la transmițător. Efectul ondulației asupra receptorului poate fi redus în unul dintre următoarele moduri:
      • Utilizați o sursă externă pentru a alimenta Arduino, nu magistrala USB. Deoarece tensiunea de ieșire a multor surse de alimentare externe este controlată sau netezită. Spre deosebire de magistrala USB, unde tensiunea poate „scădea” semnificativ.
      • Instalați un condensator de netezire pe magistrala de alimentare a receptorului.
      • Utilizați o sursă de alimentare stabilizată separată pentru receptor.
      • Utilizați alimentare separată pentru dispozitivele care introduc ondulație în magistrala de alimentare.

    Vom avea nevoie de:

    • Module radio FS1000A și MX-RM-5V x 1 set.
    • Trema LED (rosu, portocaliu, verde, albastru sau alb) x 1buc.
    • Un set de fire mamă-femă pentru conectarea modulelor radio x 1 set.

    Pentru a implementa proiectul trebuie să instalăm bibliotecile:

    • Biblioteca iarduino_RF433 (pentru lucrul cu module radio FS1000A și MX-RM-5V).
    • Biblioteca iarduino_4LED, (pentru lucrul cu indicator LED de patru cifre Trema).

    Puteți afla cum să instalați biblioteci pe pagina Wiki - Instalarea bibliotecilor în IDE-ul Arduino.

    Antenă:

    Primul amplificator al oricărui receptor și ultimul amplificator al oricărui transmițător este antena. Cea mai simplă antenă este o antenă bici (o bucată de sârmă de o anumită lungime). Lungimea antenei (atât receptorul, cât și transmițătorul) trebuie să fie un multiplu de un sfert din lungimea de undă a frecvenței purtătoare. Adică, antenele bici pot fi cu un sfert de undă (L/4), semiundă (L/2) și egale cu lungimea de undă (1L).

    Lungimea unei unde radio se calculează împărțind viteza luminii (299"792"458 m/s) la frecvență (în cazul nostru 433"920"000 Hz).

    L = 299"792"458 / 433"920"000 = 0,6909 m = 691 mm.

    Astfel, lungimea antenelor pentru module radio la 433,920 MHz poate fi: 691 mm(1L), 345 mm(L/2), sau 173 mm(L/4). Antenele sunt lipite de plăcuțele de contact, așa cum se arată în schema de conectare.

    Video:

    Schema de conectare:

    Receptor:

    La pornire (în codul de configurare), schița configurează funcționarea receptorului radio, indicând aceiași parametri ca și emițătorul și, de asemenea, inițiază lucrul cu indicatorul LED. După care, în mod constant (în codul buclei) verifică dacă există date primite de receptorul radio în buffer. Dacă există date, atunci acestea sunt citite în matricea de date, după care valoarea elementului 0 (citirile glisorului Trema) este afișată pe indicatorul LED, iar valoarea elementului 1 (citirile potențiometrului Trema) este convertită și utilizată pentru a seta LED-ul luminozitatea.

    Cod program:

    Transmiţător:
    #include // Conectați biblioteca pentru a lucra cu transmițătorul FS1000A iarduino_RF433_Transmitter radio(12); // Creați un obiect radio pentru a lucra cu biblioteca iarduino_RF433, indicând numărul pin la care este conectat transmițătorul int date; // Creați o matrice pentru transmisia de date void setup())( radio.begin(); // Inițiați funcționarea transmițătorului FS1000A (puteți specifica viteza de NUMĂR de biți/sec ca parametru, atunci nu aveți pentru a apela funcția setDataRate) radio.setDataRate (i433_1KBPS, // Specificați rata de transfer de date (i433_5KBPS, i433_4KBPS, i433_3KBPS, i433_2KBPS, i433_1KBPS, i433_500BPS, i433_500BPS, i433_100BPS, i433_4KBPS), i433_4KBPS, i433_4KBPS; WritingPipe (5); Deschideți conducta 5 pentru transmiterea datelor (transmițătorul poate transmite date doar unul câte unul de la conducte: 0...7) ) // Dacă apelați din nou funcția openWritingPipe specificând un alt număr de conductă, emițătorul va începe să transmită; date prin noua buclă specificată a conductei void loop())( data = analogRead(A1); // citiți citirile glisorului Trema de la pinul A1 și scrieți-le în elementul 0 al matricei de date data = analogRead(A2); // citiți citirile potențiometrului Trema din pinul A2 și scrieți-le pe 1 element al matricei de date radio.write(&data, sizeof(data) // trimiteți datele din matricea de date indicând câți octeți din matrice întârziere trimitere (10); // pauză între pachete)
    Receptor:
    #include // Conectați biblioteca pentru a lucra cu receptorul MX-RM-5V #include // Conectați biblioteca pentru a funcționa cu un indicator LED de patru cifre iarduino_RF433_Receiver radio(2); // Creați un obiect radio pentru a lucra cu biblioteca iarduino_RF433, indicând numărul de pin la care este conectat receptorul (poate fi conectat doar la pini care folosesc întreruperi externe) iarduino_4LED dispLED(6,7); // Creați un obiect dispLED pentru a lucra cu funcțiile bibliotecii iarduino_4LED, indicând pinii afișajului (CLK, DIO) int date; // Creați o matrice pentru a primi date const uint8_t pinLED=11; // Creați o constantă care indică ieșirea PWM la care este conectat LED-ul void setup())( dispLED.begin(); // Inițiază funcționarea indicatorului LED radio.begin(); // Inițiază funcționarea MX -Receptor RM-5V (puteți folosi ca parametru specificarea vitezei NUMĂR de biți/sec, apoi nu trebuie să apelați funcția setDataRate) radio.setDataRate (i433_1KBPS // Specificați viteza de recepție a datelor (i433_5KBPS); , i433_4KBPS, i433_3KBPS, i433_2KBPS, i433_1KBPS, i433_500BPS, i433_100BPS), i433_1KBPS - 1kbit/sec radio openReadingPipe (5 // Deschideți o țeavă de date, pentru a fi deschisă funcția 5.); o dată, de la 0 la 7) // radio.openReadingPipe (2); de la primirea datelor (dacă apelați funcția fără parametru, toate conductele vor fi închise deodată, de la 0 la 7) radio.startListening ( // Porniți receptorul, începeți să ascultați conducta deschisă // radio.stopListening). (); // Opriți receptorul dacă este necesar ) void loop())( if(radio.available())( // Dacă există date primite în buffer radio.read(&data, sizeof(data)); // Citiți date în matricea de date și specificați câți octeți să citiți dispLED.print(data // Trimiteți citirile glisorului Trema la indicatorul analogWrite(pinLED, map(data,0,1023,0,255)); a LED-ului în conformitate cu unghiul de rotație al potențiometrului Trema) / / Dacă numim funcția disponibilă cu un parametru sub forma unei referințe la o variabilă de tip uint8_t, atunci vom obține numărul conductei prin care au venit datele (vezi lecția 26.5)

    În această lecție vom rezolva problema transmiterii unui semnal radio între două controlere Arduino folosind un popular transceiver de 433 MHz. De fapt, un dispozitiv de transmisie a datelor este format din două module: un receptor și un transmițător. Datele pot fi transferate doar într-o singură direcție. Acest lucru este important de înțeles atunci când utilizați aceste module. De exemplu, puteți controla de la distanță orice dispozitiv electronic, fie el un robot mobil sau, de exemplu, un televizor. În acest caz, datele vor fi transferate de la panoul de control către dispozitiv. O altă opțiune este transmiterea semnalelor de la senzorii wireless către un sistem de achiziție de date. Aici traseul se schimbă, acum emițătorul este pe partea senzorului, iar receptorul este pe partea sistemului de colectare. Modulele pot avea denumiri diferite: MX-05V, XD-RF-5V, XY-FST, XY-MK-5V etc., dar toate au aproximativ același aspect și numerotare pin. De asemenea, două frecvențe ale modulelor radio sunt comune: 433 MHz și 315 MHz.

    1. Conexiune

    Transmițătorul are doar trei pini: Gnd, Vcc și Data.
    Le conectăm la prima placă Arduino conform următoarei diagrame: Asamblam ambele dispozitive pe o placă de breadboard și începem să scriem programe.

    2. Program pentru transmițător

    Pentru a lucra cu module radio, vom folosi biblioteca RCSwitch. Să scriem un program care va trimite două mesaje diferite în fiecare secundă pe rând. #include RCSwitch mySwitch = RCSwitch(); void setup() ( mySwitch.enableTransmit(2); ) void loop() ( mySwitch.send(B0100, 4); delay(1000); mySwitch.send(B1000, 4); delay(1000); ) Să analizăm program. Primul lucru pe care l-am făcut a fost să declarăm un obiect pentru lucrul cu transmițătorul și l-am numit mySwitch. RCSwitch mySwitch = RCSwitch(); Apoi, în interiorul funcției standard înființat a pornit emițătorul și a specificat pinul la care este conectat: mySwitch.enableTransmit(2); În cele din urmă, în bucla principală a buclei programului, trimitem mai întâi un mesaj, iar apoi al doilea folosind funcția înființat trimite înființat : mySwitch.send(B1000, 4); Funcţie

    are două argumente. Primul este un mesaj trimis, care va fi transmis prin aer sub forma unei explozii de impulsuri. Al doilea argument este dimensiunea pachetului de trimis. În programul nostru, am specificat mesaje în format de număr binar. Acest lucru este indicat de litera engleză „B” la începutul codului B1000. În notație zecimală, acest număr devine opt. Deci am putea apela funcția

    Acum să scriem un program pentru receptor. Pentru a demonstra faptul transmisiei, vom aprinde LED-ul conectat la pinul nr. 3 de pe placa Arduino. Dacă receptorul a prins codul B1000, porniți LED-ul, iar dacă B0100, opriți-l. #include RCSwitch mySwitch = RCSwitch(); void setup() ( pinMode(3, OUTPUT); mySwitch.enableReceive(0); ) void loop() ( if(mySwitch.available())( int valoare = mySwitch.getReceivedValue(); if(valoare == B1000) digitalWrite(3, HIGH); else if(valoare == B0100) digitalWrite(3, LOW) mySwitch.resetAvailable(); disponibil returnează adevărat dacă transmițătorul a primit cel puțin unele date: Funcția mySwitch.available(). getReceivedValue extrage un pachet din fluxul de date și îl decodifică într-un număr. În program atribuim numărul rezultat unei variabile valoare

    : int valoare = mySwitch.getReceivedValue();

    Misiuni
    1. Acum poți încerca să exersezi și să faci diverse dispozitive utile. Iată câteva idei.
    2. Telecomanda pentru lampă. Pe partea receptorului, conectat la circuitul de alimentare al lămpii (atenție, 220 Volți!). Pe partea transmițătorului: . Scrieți programe pentru receptor și transmițător care, la apăsarea unui buton, vor porni un releu de la distanță. Când apăsați din nou butonul, releul se va opri.

    Termometru de exterior cu canal radio. Așezați pe partea transmițătorului. Asigurați alimentare autonomă de la baterii. Pe partea receptorului: . Scrieți programe pentru receptor și transmițător care vă vor permite să afișați citirile de temperatură de la un senzor de la distanță pe afișaj.

    Concluzie

    Deci acum cunoaștem o modalitate simplă și ieftină de a transmite date la distanță. Din păcate, viteza de transmisie și distanța în astfel de module radio sunt foarte limitate, așa că nu vom putea controla pe deplin, de exemplu, un quadcopter. Totuși, putem realiza o telecomandă radio pentru a controla un simplu aparat electrocasnic: o lampă, un ventilator sau un televizor. Majoritatea panourilor de control al canalelor radio funcționează pe bază de transceiver cu o frecvență de 433 MHz și 315 MHz. Având un Arduino și un receptor, putem decoda semnalele de control și le putem repeta. Vom scrie mai multe despre cum să faceți acest lucru într-una dintre lecțiile următoare!

    Majoritatea informațiilor de pe Internet sunt fragmentare și nu foarte clare. Prin urmare, am decis să testăm aceste module și să arătăm cum să obținem o comunicare fiabilă USART -> USART cu ele.

    Pinout modulul radio

    In general, toate aceste module radio au o conexiune din 3 contacte principale (plus o antena);

    Transmiţător

    • Tensiune vcc (putere +) 3V la 12V (funcționează la 5V)
    • GND (sol -)
    • Recepția datelor digitale.

    Receptor

    • Tensiune vcc (putere +) 5V (unele pot funcționa la 3,3V)
    • GND (sol -)
    • Ieșirea datelor digitale primite.

    Transfer de date

    Când transmițătorul nu primește date la intrare, oscilatorul emițătorului se oprește și consumă aproximativ câțiva microamperi în modul de așteptare. În timpul testării, din sursa de 5 V a ieșit 0,2 µA în starea oprită. Când transmițătorul primește unele date de intrare, emite pe o purtătoare de 433 sau 315 MHz, iar cu o alimentare de 5V consumă aproximativ 12 mA.

    Transmițătorul poate fi alimentat și de la o tensiune mai mare (de exemplu, 12 V), ceea ce crește puterea emițătorului și, în consecință, raza de acțiune. Testele au arătat cu alimentare de 5V până la 20m prin mai mulți pereți din interiorul casei.

    Receptorul atunci când este pornit, chiar dacă transmițătorul nu funcționează, va primi unele semnale statice și zgomot. Dacă se primește un semnal pe frecvența purtătoare de operare, receptorul va reduce automat câștigul pentru a elimina semnalele mai slabe și, în mod ideal, va izola datele digitale modulate.

    Este important să știți că receptorul petrece ceva timp ajustând câștigul, deci fără „explozii” de date! Transmisia ar trebui să înceapă cu o „intro” înainte de datele principale și apoi receptorul va avea timp să ajusteze automat câștigul înainte de a primi datele importante.

    Testarea modulelor RF

    La testarea ambelor module de la o sursă de +5V DC, precum și cu o antenă verticală de 173 mm. (pentru o frecvență de 433,92 MHz este „1/4 de undă”), prin pereți s-au obținut 20 de metri reali, iar tipul modulelor nu afectează foarte mult aceste teste. Prin urmare, se poate presupune că aceste rezultate sunt tipice pentru majoritatea blocurilor. O sursă de semnal digital cu frecvență precisă și ciclu de lucru 50/50 a fost utilizată pentru a modula datele transmițătorului.

    Vă rugăm să rețineți că toate aceste module, de regulă, funcționează în mod fiabil numai până la 1200 baud sau maxim 2400 baud transmisie serială, cu excepția cazului în care, desigur, condițiile de comunicare sunt ideale (putere mare a semnalului).

    Mai sus este prezentată o versiune simplă a unui bloc pentru transmiterea în serie a informațiilor către un microcontroler care va fi primit de la un computer. Singura modificare este adăugarea unui condensator de tantal de 25V 10uF la pinii de alimentare (Vcc și GND) de pe ambele module.

    Concluzie

    Mulți oameni folosesc aceste radiouri împreună cu controlere Arduino și altele asemenea, deoarece aceasta este cea mai ușoară modalitate de a obține comunicații wireless de la un microcontroler la alt microcontroler sau de la un microcontroler la un PC.

    Discutați articolul MODULE RADIO RF LA 433 MHz