RC Comutator cu propriile lor mâini

În posturi anterioare, am proiectat, realizat și testat temeinic unitate cu două canale întrerupător controlat de radio.

RC Comutator cu propriile lor mâini

Dar, până acum, a fost o „bucată fără suflet de fier“, care, în ciuda potențialului puterii sale inerente în MC - nu se poate face nimic.

În general, dispozitivul nostru principal (dacă nu ia în considerare conexiunea radio) - nu este deloc complicat cele mai comune Arduinki, care este conectat la două butoane și o pereche de LED-uri (în dispozitivul rezultat - LED-urile sunt înlocuite cu comutatoare tranzistor, relyushki de control, dar esența acestei nu se schimba ).

Modul RADIO Made nu este foarte favorabil pentru a se asigura că dreptul de a face pe el de dezvoltare și depanare:

  • nu există posibilitatea de a primi mesaje de diagnosticare în „portul de monitor“
  • nu există nici o indicație vizuală care a releului și este și în ce condiții, etc.

Dar, după cum am menționat anterior, pentru „trezirea“ a unității noastre doar ceva pe care doriți să scrie o schiță care să lucreze diverse de presare (două butoane) și puterea rândul nostru algoritm on / off două sarcini (în modelul acesta va fi un cuplu de diode emițătoare de lumină). Firește, această „funcționalitatea de bază“, după o înțelegere cu el - și se adaugă funcția de „canal de radio“.

În general, desigur, este mai corect un „maketki“ pentru a începe, dar în acest caz - sa dovedit că prototipul a fost făcută mai târziu decât dispozitivul rezultat.

Deci, pentru a obține mediu „confortabil“ pentru a pregăti schița noastră, să ia creț maketku, orice bord Arduino compatibil (în cazul meu cArduino Nano), două butoane de ceas, două LED-uri (cu un rezistor de limitare a curentului) și câteva jumperi:

RC Comutator cu propriile lor mâini

Punerea aspect în conformitate cu conceptul din primul post.

  • Buton pentru a conecta primul canal între ping și A1 și „la sol» (GND),
  • Buton al doilea canal - A0 și GND.
  • Dioduri de lumina (funcționare LED-uri întrerupătoare tranzistori și relee corespunzătoare RADIO) conectați la D3 și D4, respectiv.

De fapt, acest aspect ne va permite să scrie și testa funcționalitatea de bază.

În viitor, va trebui să descărcați această schiță de un programator într-un dispozitiv de final, fără a modificări.

Înainte de începerea dezvoltării ar trebui să fie de a stabili funcțiile de bază pe care aș vrea să le pună în aplicare.

funcționalitatea dorită

Firește, această listă „hotelok“ este în cap, înainte de începerea proiectului, acum doar articula.

funcții de bază

Comutatorul cu două canale este utilizat pentru a controla lumina și ventilație în baie, astfel încât lista de caracteristica sa dovedit astfel:

  • Prin apăsarea o scurtă viraj pe / de pe un canal de încărcare corespunzătoare (canalul 1 - canal de lumină 2 - ventilație).
  • Printr-o apăsare lungă (mai mult de 2 secunde) - pentru a înregistra faptul de o astfel de presare ( „pavilion Platoon“), dar nu fac nimic până acum mai departe.
  • Dacă lumina este activată pentru mai mult de 1,5 minute - rândul său, în mod automat pe capota (de exemplu, cineva a intrat în duș și a uitat să includă ventilație).
  • În cazul în care ambele canale sunt activate și se stinge primul canal, al doilea canal este închide automat după 10 minute.
  • În cazul în care orice sarcină inclus, dar ați uitat pentru a opri - închide automat (fiecare canal - timp de auto-off: 60 și, respectiv, 10 minute).

În formarea listei de funcții - să comunice în mod activ cu acasă. De exemplu, am sugerat în mod rezonabil că timpul după care comutatorul de ventilație este prea mică și va fi inutilă călătoria ar trebui să apară și, în general, toți parametrii de timp necesare pentru a putea ajusta în timpul funcționării.

Radio control

Aceste funcții vor fi efectuate mai târziu, dar odată ce este necesar să se țină cont de (mai puțin nevoia de a rescrie)

  • On / Off comenzile primite prin aer ar trebui să fie practicat în așa fel ca și în cazul în care pentru a împinge fizic butonul de comutare (de exemplu, păstrarea completă a logicii de bază).
  • Prin radio trebuie să fie în măsură să schimbe toate parametrii de timp ale disjunctorului.
  • Parametrii temporali ai operație de comutare să fie stocate în memorie non-volatilă (după fiecare pană de curent nu a trebuit să „re-educare“ modul).
  • Toți parametrii (steagurile de stare de curent „apăsare lungă“, timp) ar trebui să fie disponibile pe un post de radio ca o căutare (solicitare de răspuns), și în mod regulat (la fiecare 15 secunde - „inunda“ transmisiunii cu valorile curente ale parametrilor).

programare

Vom lua în considerare următoarele în timpul creării de software pentru punerea în aplicare a funcțiilor de bază:

  1. Acum, cele două canale, dar în viitor ar putea fi mai mult / mai puțin și codul ar trebui să fie de așa natură încât să poată fi ușor să se adapteze (fără rescriere substanțială).
  2. Dispozitivul este încorporat în cazul oricărui eșec pentru a ieși din perete este extrem de problematică.

Prima cerință conduce la utilizarea unei game largi de structuri pentru a stoca unitatea parametrii de funcționare, iar al doilea - dictează utilizarea unui timer watchdog (watchdog).

Pentru a stoca setările canalului am creat următoarea structură:

Acum putem scrie o schiță simplă.

Funcția de configurare () efectuează inițializarea necesară și pluton „câine de pază“.

Apoi, totul este simplu: în bucla principală de program (bucla ()) va face în mod consecvent următoarele etape:

  • Noi lucrăm cu butoane (funcția button_read ()).
  • Lucrează la oprire automată (autoOff ()).
  • Punerea în aplicare operație logică suplimentară (chkLogic ()).
  • Resetarea watchdog (wdt_reset ()).

În cazul în care nu este necesară utilizarea unei logici suplimentare (în cazul meu, este pornit automat și oprirea ventilației, în funcție de starea lumii) - o funcție chkLogic (), puteți pur și simplu șterge.

Am aici o schiță

Funcțiile de bază funcționează exact așa cum doriți.
Apăsarea scurtă LED-urile corespunzătoare includ, dop.logika de lucru. Prin apăsarea lungă orice buton - o secundă aprins built-in LED-uri (D13) de pe Arduino.

Acum este posibil să se pună în aplicare, și funcțiile fără fir.

Pentru aceasta ne întoarcem la unul din posturile mele anterioare: Wireless Communications „casa inteligentă“.

Principiile de bază pe care le-am descris acolo - au trecut testul timpului și a suferit foarte puține schimbări.

structură adecvată pentru operarea cu următorii parametri:

Pentru datele de transmisie va utiliza următoarea structură:

Conform celor de mai sus, modulul meu va fi descrisă după cum urmează:

Este evident că toți parametrii cheie care descriu starea curentă și calendarul, sunt prezente.

Un alt pic de cod de programare și gata.

De fapt, acum este necesar să se lumineze intermitent modul nostru.

Vă rugăm să verificați de lucru - totul este în regulă, dar a fost descoperit că, în MK „pur“ toate bytes EEPROM sunt setate la 255, care dă întârziere corespunzătoare.

Conform codului, care este dat de mai sus, este clar că instalarea tuturor parametrilor de timp numai prin radio. Dar eu nu am scris nimic despre „unitatea de control“ - deci trebuie să cumva „izolare“, pentru a rezolva această problemă.

Puteți utiliza exemple din biblioteca EEPROM și dreptul de a le prescrie valorile primare (mai multe curente) în celula de memorie non-volatilă.

inspecție ulterioară a arătat că acum totul funcționează exact așa cum doriți.

Încă o dată, un principiu fundamental al meu „Smart“ dispozitive: unul creează dispozitivul este făcut pentru a atinge un anumit scop, și trebuie să funcționeze în mod independent.

Aparatul este acum autosuficientă și gata să îndeplinească funcția sa principală (chiar și fără radio). Acesta poate fi montat.

Instalarea modulului

Modulul radio este instalat în interiorul zidurilor de gips-carton - așa că am ales un șasiu adecvat (a ajuns la modul și sursa de alimentare reală pentru ea, și că acest organism ar putea nici o problemă pentru a împinge prin gaura pentru montarea cutiei).

Sursa de alimentare bord a luat același loc ca și ultima dată - bloc retezate pentru aprovizionare iPhone. În principiu, este posibil să se facă unitatea de alimentare condensator sau căutați pentru opțiunile gata făcute (de exemplu, aici).

Sa dovedit ceva de genul acesta (aici este tot conectat - a petrecut ultimele teste înainte de instalare în perete):

RC Comutator cu propriile lor mâini

Carcasa a fost ușor prea mare, dar este disponibil într-o economie mai mică - nu este abordată.

ar fi mai bine, desigur, selectați mai întâi cazul particular și de a face pentru el, dar nu am avut restricții speciale în dimensiunea, astfel încât „așa cum a primit“.

Acum puteți face direct „încorporarea“ a modulului în perete (ne pare rău, s-au dus și au uitat să facă fotografii ale procesului, astfel încât numai descriere text):

  • De-energiza circuitul de iluminat corespunzător.
  • Demontați comutatorul existent (nu uitați pentru a marca ceea ce merg cuplurile în lumină, și ceea ce - pe capota).
  • Scoateți cutia de cabluri
  • RADIO conectarea la firele corespunzătoare (de-a lungul modul în care a scăpa de „răsuciri“ care a plecat „constructori buni“).
  • împinge cu atenție toate firele și radio în spațiul dintre foile de gips-carton (m-am decis să poziționeze modulul de deasupra comutatorului pentru a face mai ușor pentru a obține, dacă este necesar).
  • fire de plumb, care se va conecta butonul de injectare în gaura pentru a instala caseta de montare (în mod specific a luat radical diferit de restul cablului de cabluri - MGTF că, în cazul în care electricianul era clar că acolo și acest lucru este necesar „ceva ciudat“ pentru a înțelege mai întâi) .
  • Puteți instala acum caseta de cabluri și conectați butonul.

Totul este pregătit. Ne întoarcem la energia electrică și verificați dacă totul funcționează așa cum se dorește.

Dispozitivul creat este asamblat cu succes și a înlocuit excelent „prost“ comutator, adaugand un pic „minte“ (economie de energie în cazul „uitarii“, gazde, automate de pornire / oprire de desen și altele asemenea).

P.S. În discuția din primul post au existat întrebări cu privire la utilizarea altor elemente noi, inclusiv pentru a obține o dimensiune mai compact.

Recent, am ajuns în mâinile unui astfel de animal aici:

RC Comutator cu propriile lor mâini

Acesta este un releu comun (foarte liniștit), cu două grupuri de contacte trecut. Se poate activa / dezactiva 220V circuitul (capacitate mică, dar becuri cu LED-uri - destul de potrivit). Gestionat de 5V, poate fi conectat direct la concluzia MK (fără tranzistor).

Vreau să spun că nu este necesar să se trateze totul ca o dogmă (repeta toate „unu la unu“ proiecte) - căutați, selectați cele mai potrivite (pentru fiecare sarcină), soluții, de a modifica!

articole similare