RC Switch saját kezűleg
Az előző hozzászólás, általunk tervezett, készített és alaposan tesztelt készülék kétcsatornás rádió vezérelt kapcsolót.

De eddig ez volt a „lelketlen darab vas”, amely annak ellenére, hogy a potenciális energia rejlik az MC - nem tud semmit.
Általában az elsődleges eszköz (ha nem veszik figyelembe a kapcsolat rádió) - egyáltalán nem bonyolult a leggyakoribb Arduinki, amely kapcsolódik a két gomb és egy pár LED-ek (a kapott eszköz - LED-ek helyettesítik tranzisztoros kapcsolókat vezérlő relyushki, de a lényeg ez nem változtat ).
Made rádiós modul nem túl kedvező, hogy a jobb rajta, hogy fejlesztés és hibakeresés:
- nincs lehetőség, hogy megkapja a diagnosztikai üzeneteket a „monitor port”
- nincs vizuális jelzését, amely a relé és és milyen állapotban stb
De, mint már korábban említettük, a „megújulás” a mi egység csak valami, amit szeretne írni egy vázlat, amely dolgoznak ki különböző megnyomásával (két gomb), és talán a mi algoritmus be / ki két terhelést (a modellben, hogy lesz egy pár fénykibocsátó diódák). Természetesen ez a „alapvető funkciók”, miután egy foglalkozik vele - és hozzá a „rádióállomás” funkciót.
Általában persze, ez pontosabban a „maketki” kezdeni, de ebben az esetben - kiderült, hogy a prototípus készült később, mint a kapott készüléket.
Tehát, hogy „kényelmes” környezetet, hogy készítse el vázlatot, hogy krimp maketku bármely Arduino-kompatibilis kártya (az én esetemben ez Carduino Nano), két óra gomb, két LED (egy áramkorlátozó ellenállás), valamint néhány jumper:

Elhelyezés elrendezés szerint a koncepció az első post.
- Gombot, amellyel az első csatornát a ping és az A1 és a „föld» (GND),
- Gombot a második csatorna - A0 és a GND.
- A fénykibocsátó diódák (LED-ek megfelelő művelet tranzisztoros kapcsolók és relék rádió) kapcsolódni D3 és D4, illetőleg.
Valójában ez az elrendezés lehetővé teszi számunkra, hogy írjon, és tesztelje az alapfunkcióit.
A jövőben meg kell tölteni ezt a rajzot egy programozó a végső eszköz módosítások nélkül.
Megkezdése előtt a fejlesztési kell rögzíteni az alapvető funkciókat, szeretnék megvalósítani.
kívánt funkcionalitást
Természetesen ez a „hotelok” lista a fejét, mielőtt a projekt kezdete, már csak kifejezni.
alapfunkciók
A két csatornás kapcsoló vezérlésére használható fény és szellőzés a fürdőszobában, így ez a funkció listát már kiderült, mint:
- Megnyomásával egy rövid be / ki a megfelelő terhelés csatorna (1 csatorna - fénycsatorna 2 - szellőztetés).
- Hosszú megnyomásával (több mint 2 másodperc) - rögzíti a tényt ilyen megnyomásával ( „Platoon zászló”), de eddig semmit sem tovább.
- Ha a lámpa be van kapcsolva a több mint 1,5 perc - automatikusan kapcsolja be a motorháztető (például, hogy valaki bement a zuhanyzó és megfeledkezett szellőzés).
- Ha mindkét csatorna engedélyezve vannak, és kikapcsolja az első csatorna, a második csatorna automatikusan kikapcsol 10 perc után.
- Ha bármilyen terhelés benne, de elfelejtette kikapcsolni - automatikusan kikapcsol (minden csatornán - automatikus kikapcsolási idő: 60, illetve 10 percig).
A formáció a funkciók listáját - aktívan kommunikál haza. Például, azt javasolta, hogy ésszerűen az időt, ami után a szellőzés kapcsoló túl kicsi, és lesz felesleges utazást meg kell történnie, és általában, minden alkalommal feltétlenül szükséges paramétereket be tudja állítani az üzemeltetés során.
Radio Control
Ezeket a funkciókat hajtják végre később, de ha egyszer meg kell szem előtt tartani (kevésbé kell átírni)
- On / off parancs érkezett az éteren keresztül kell gyakorolni, oly módon, mintha fizikailag nyomja meg a kapcsoló gombot (vagyis teljes megőrzése alapvető logikája).
- Rádión keresztül kell, hogy képes legyen megváltoztatni az összes idő paramétereit a megszakító.
- Időszaki paraméterei a kapcsoló működését kell tárolni nem-felejtő memória (miután minden áramszünet nem kell „nevelni” modul).
- Minden paraméter (a jelenlegi állapot jelzők „hosszú nyomja meg a” idő) kell rendelkezésre állnia a rádiót a keresés (válasz kérésre), és rendszeresen (minden 15 másodpercben - „árvíz” az adás az aktuális értékeket a paraméterek).
programozás
Mi kell vennie az alábbi létrehozása során szoftver végrehajtására vonatkozó alapvető funkciója van:
- Most a két csatorna, de a jövőben lehet, hogy több / kevesebb kódja olyannak kell lennie, hogy lehet könnyen állítható (anélkül, hogy jelentős újraírás).
- Az eszköz be van ágyazva a leállása esetén, hogy ki a fal rendkívül problematikus.
Az első követelmény vezet a használata egy sor szerkezetek tárolására az egység működési paraméterei, és a második - diktálja a használata egy watchdog időzítőt (watchdog).
A csatorna beállítások hoztam létre a következők szerint:
Most már tudjuk írni egy egyszerű vázlatot.
A setup () függvény elvégzi a szükséges inicializáló és szakaszparancsnok „házőrző”.
Ezután minden egyszerű: a fő program hurok (loop ()) következetesen hajtsa végre a következő lépéseket:
- Dolgozunk a gombok (button_read () függvény).
- Dolgozunk az automatikus kikapcsolás (autoOff ()).
- Hajtson végre további logikai művelet (chkLogic ()).
- Állítsa vissza a watchdog időzítő (wdt_reset ()).
Amennyiben további logikai művelet nem szükséges (az én esetemben ez automatikusan be- és kikapcsolni a szellőzés, állapotától függően a világon) - függvény chkLogic (), akkor egyszerűen törölheti.
Idejöttem egy vázlatot
Az alap funkciók működnek pontosan a kívánt módon.
Rövid megnyomásával a megfelelő LED-ek lehetnek dop.logika munkát. Hosszú bármelyik gombot megnyomja - az egyik második lángra beépített LED (D13) a Arduino.
Most lehet, hogy végre, és a vezeték nélküli funkciókat.
Ehhez viszont az egyik az én korábbi hozzászólások: Wireless Communications „intelligens otthon”.
Az alapelvek, amit ott leírtak - kiállta az idő próbáját, és ment nagyon keveset változott.
szerkezet alkalmas a műveletet a következő paraméterekkel:
Adatátvitelre használja az alábbi szerkezetet:
A fentiek alapján, a modul a következőképpen írható le:
Nyilvánvaló, hogy az összes fontos paraméter leírja a jelenlegi állapot és az időzítés is jelen vannak.
Tovább bites programkód, és kész.
Igazából most meg kell villogni a modult.
Kérjük, ellenőrizze a munkát - minden rendben van, de kiderült, hogy a „tiszta” MK minden EEPROM bájt értéke 255, ami a megfelelő késleltetést.
Szerint a kódot, amely a fenti, egyértelmű, hogy a telepítés minden alkalommal a paraméterek csak rádión keresztül. De én nem írtam semmit a „szabályozás” - így kell valahogy „szigetelés”, hogy megoldja ezt a problémát.
Használhatja példákat az EEPROM könyvtár és joga, hogy előírják a primer (több áram) értékeket a nem-felejtő memória cella.
Későbbi ellenőrzés során kiderült, hogy most már minden működik, ahogy azt szeretnénk.
Ismét egyik alapelve az én „intelligens otthon” eszközök: az egyik megteremti a készülék készült eléréséhez egy adott célra, és meg kell önállóan dolgozni.
A készülék most önellátó és kész végrehajtani a fő funkciót (még rádió). Úgy is fel lehet szerelni.
A modul telepítése
A rádió modul telepítve falain belül gipszkarton - ezért választottam egy alkalmas futómű (ez van a tényleges modul és tápegység, és hogy ez a testület is gond, hogy álljon át a lyuk a szereléshez a doboz).
Tápegység fedélzeti vette ugyanazon a helyen, mint legutóbb - fűrészelt blokk iPhone-ellátás. Elvileg lehetséges, hogy a kondenzátor tápegység vagy keresse a kész beállítások (például itt).
Kiderült, valami ehhez hasonlót (itt az összes csatlakoztatott - töltötte az elmúlt tesztek telepítés előtt a falba):

A ház kissé túl nagy, de a rendelkezésre álló egy kisebb gazdaság - nem közelíthető meg.
jobb lenne, persze, először válassza ki a konkrét esetben, és nem neki, de nem volt különösebb megkötések a méretet, így a „befogadták”.
Most megteheti közvetlenül „beágyazódását” a modul a falba (bocs, elragadtattam és elfelejtettem, hogy a képek a folyamatot úgy, hogy csak a szöveges leírás):
- De a feszültséget a megfelelő világítási áramkör.
- Bontani a meglévő kapcsoló (ne felejtsük el, hogy jelölje meg, milyen pár megy a fény, és mi - a motorháztető).
- Távolítsuk el a vezetékeket box
- RÁDIÓ csatlakozni megfelelő vezetékek (az út mentén megszabadulni „fordulatok”, hogy elhagyta a „jó építők”).
- Óvatosan nyomja az összes vezetéket és a rádió közötti térben a gipszkarton lapokat (úgy döntöttem, hogy helyezze el a modult kapcsoló fölötti hogy ez könnyebb eljutni, ha szükséges).
- Vezetékeket, amely csatlakozni fog a nyomógomb a lyukba, hogy telepítse a szerelődoboz (konkrétan vett gyökeresen eltér a többi kábelezést - MGTF hogy abban az esetben, hogy a villanyszerelő volt egyértelmű, hogy van „valami furcsa”, és ezzel meg kell először megérteni) .
- Most kábeleken dobozt és csatlakoztassa a nyomógombot.
Minden készen áll. Mi kapcsolja be a villamos energia és ellenőrizze, hogy minden működik, mint kívánatos.
A létrehozott eszköz sikeresen össze, és helyébe kiváló „buta” kapcsoló, hozzá egy kis „elme” (energiatakarékos esetén „felejtés” hosts, automata ki / rajz és hasonlók).
Ui A vita utáni első voltak kérdések a használat más új elemek, beleértve, hogy megvalósítsa a kompakt méret.
Nemrég kaptam a kezébe egy ilyen állat van:

Ez egy gyakori relé (nagyon csendes) két csoport kapcsolt kapcsolatokat. Kapcsolja ki / be áramkör 220V (kis kapacitású, de LED-es izzók - igen alkalmas). Által kezelt 5V, közvetlenül csatlakoztatható a következtetésre MK (nincs tranzisztor).
Ez azt jelenti, hogy nem szükséges kezelni mindent, mint egy dogma (összes ismétlése „1-1” projektek) - keresni, válassza ki a legmegfelelőbb (az egyes konkrét feladat) megoldások, módosítani!