Arduino - Oregon sau stație meteo cu mâinile proprii

Nu cu mult timp în urmă, mâinile mele a primit un set de tineri amatori de radio Arduino și o mulțime de diferite proiecte au primit un start în viață (sau „de masă“), dar un cap rău de odihnă mâinile nu renunța acum.






Datorită unei coincidențe norocoase, sa întâmplat că într-un singur loc au fost:

  • Arduino - 1 buc.
  • Senzor pentru măsurarea temperaturii și umidității Oregon THGN132N - 2 buc.
  • RF-kit (emițător și receptor) la 433MHz - 1 buc.

În plus față de cele de mai sus (exclusiv pentru prototipuri rapide), Starter Kit de la Seeed Studio a fost folosit (a fost nevoie de un ecran de bază, ecran 16x2 cu interfață serială, modul LED și cabluri de conectare).

Fotografie pentru cel mai nerăbdător:

Arduino - Oregon sau stație meteo cu mâinile proprii

Gama de frecvențe de 433 MHz este utilizată pe scară largă în diverse aparate de uz casnic - la această frecvență se comunică alarme auto, sisteme de control al iluminării, stații meteorologice etc. Receptoarele și transmițătoarele pentru această gamă sunt disponibile pe scară largă și sunt destul de ieftine.

Senzorii THGN132N echipați cu multe stații meteorologice Oregon și pot fi achiziționați separat. Acestea vă permit să măsurați temperatura și umiditatea relativă, să acționați pe o gamă largă de temperaturi (-40,0 ° C până la + 70,0 ° C), cu o precizie de măsurare a temperaturii de 0,1 ° C. Costul este scăzut și este determinat într-o mai mare măsură de lăcomia vânzătorilor.

Sub capacul bateriei este un „canal“ comutator - 3 opțiuni disponibile.

Arduino - Oregon sau stație meteo cu mâinile proprii

Senzorul transmite datele de stare aproximativ o dată la 40 de secunde.
Transmisia este efectuată prin codificarea "on-off-keying" (OOK) și Manchester pe o frecvență purtătoare de 433,92 MHz.

Suficientă din teorie, ne îndreptăm spre practică. Colectăm standul de testare:

  • Prin arduino conectăm scutul de bază,
  • RF-receptor este conectat la D2 (se va utiliza întrerupere),
  • Modulul de afișare - pentru D11 și D12 (TX și RX, respectiv)
  • Modul LED - la D13.

Am folosit componentele seriei Grove - toate sunt echipate cu conectori identici și sunt extrem de ușor de conectat la conectorii Shield corespunzători.







Sa dovedit că (secvențial):
1A 2D tip de senzor (de altfel, unele inconsistențe ale descrierii protocolului și a senzorilor au ieșit imediat - acest cod corespunde unui alt set de senzori, dar acest lucru nu a împiedicat munca ulterioară)
10 (20 pentru celălalt senzor) - numărul canalului este transmis în partea superioară a 4 biți (depinde de poziția comutatorului de pe senzor, valoarea 1, 2, 4, 4 corespunde cu cel de-al 3 canal selectat)
E3 (08) - (?) Identificatorul senzorului specific, dar se poate schimba după înlocuirea bateriei în senzor și apăsând Reset (situat lângă canalul selector și recomandat pentru obligatorie presare după înlocuirea bateriei).
Informații suplimentare despre starea bateriei (drapelul că este timpul să îl înlocuiți) și datele specifice senzorului: informații despre temperatura curentă și umiditatea relativă a aerului.

Din cauza acestei „analiza“ pentru mine, am arătat următoarele: pentru stația meteo de pe Arduino poate implica în mod semnificativ mai mulți senzori, mai degrabă decât de a planta (de exemplu, pentru identificarea folosi o combinație de „tip de senzor - canal“, mai degrabă decât pur și simplu „canal“, etc.) puteți utiliza nu numai senzorii pe care le-ați cumpărat, dar, de asemenea, „cartier“ (din păcate, în aparatul de radio a avut date numai de la senzorii mei - vecinii sau nu o astfel sau pur și simplu „să nu caute“).

Acum ultimele pregătiri: pentru primul senzor selectați 1 canal și trimiteți-l din fereastră la îngheț, al doilea senzor atribuie 2 canale și să trăim în timp ce la temperatura camerei. Senzorii vor fi identificați de canal - pentru cazul în care acest lucru este mai mult decât suficient.

O mică programare și pregătită:
Prima linie a ecranului afișează temperatura curentă, umiditatea relativă și starea bateriei senzorului în afara ferestrei, a doua linie arată același lucru, dar pentru senzorul de cameră. LED-ul conectat la arduino clipește atunci când datele sunt primite de la un anumit senzor (doar pentru distracție).

Arduino - Oregon sau stație meteo cu mâinile proprii

Un mic comentariu asupra gamei: în specificația pentru senzorii Oregon se afirmă că acestea funcționează la o distanță de până la 30 de metri de unitatea de bază.
În cazul meu (probabil datorită faptului că calitatea RF-receptor sau „păteze“ ester ridicat) sistemul funcționează în mod stabil, cu condiția ca senzorul este situat la o distanță de 5-7 metri (1-2 bariere sub formă de pereți, de asemenea, prezente) . Va fi necesar, dacă este posibil, să achiziționați un receptor de la alt producător și să îl testați.

Astfel, în "reziduu uscat":

  • dacă aveți o stație meteorologică (sau senzori Oregon), le puteți pur și simplu să le includeți în sistemul de automatizare de acasă fără a vă întrerupe munca obișnuită în cadrul stației meteorologice din fabrică,
  • puteți utiliza nu numai senzorii proprii, dar și "vecini"
  • câteva ore sunt cheltuite avantajos și au obținut rezultatul dorit.
  • Adăugați mai mulți senzori (modulele pentru DHT11, DHT22 (temperatură și umiditate), BMP085 (temperatură și presiune atmosferică) sunt deja pregătite pentru conectare.
  • Conectați Ethernet-scut cu SD-card și, utilizând Instrumentele Google Chart, face o pagină cu setările curente și grafică frumoase (este posibil ca serverul de web ar trebui să gard undeva pe NAS, iar Arduino va măsura numai și transmite o valoare de server, dar aceasta este o poveste complet diferită).
  • Utilizați transmițătorul RF pentru a controla candelabruul (acum în timp ce celălalt panou este conectat la consola originală folosind optocuploare și "apasă" butoanele de pe acesta, dar acesta nu este, de asemenea, subiectul pentru acest subiect).
Link-uri conexe:






Articole similare

Trimiteți-le prietenilor: