Tartalomjegyzék:

Automatizált Windows árnyalatok: 6 lépés (képekkel)
Automatizált Windows árnyalatok: 6 lépés (képekkel)

Videó: Automatizált Windows árnyalatok: 6 lépés (képekkel)

Videó: Automatizált Windows árnyalatok: 6 lépés (képekkel)
Videó: Hogyan lehet jó dolgokat elérni veled. Hangoskönyv 2024, Július
Anonim
Image
Image
Automatizált Windows árnyalatok
Automatizált Windows árnyalatok
Automatizált Windows árnyalatok
Automatizált Windows árnyalatok

Egy szó előre

Sok oktatóanyagot láttam a manuális árnyékolók és redőnyök automatizálásáról, ebben az esetben az elektromos árnyalatokat automatizáljuk. Kitérünk a folyamatos áramú (DC) elektromos motorok által működtetett elektromos árnyalatokra, amelyek az áram polaritásának megváltoztatásával nyitnak vagy zárnak.

Bár ha elektromos árnyalatokat vásárol, némi automatizálást kap, oka van az automatizálás önálló elvégzésére, például:

* lehet, hogy csak egy kapcsoló van a közelükben a fel/le vezérléshez

* olcsóbb (egyes vállalatok fejlett automatizálást kínálnak sok extra dollárért)

* rugalmasabb, programozhatja őket nyitásra vagy bezárásra különböző körülmények között, megtanuljuk, hogyan kell python -ban webszervert készíteni, amely csatlakozik az árnyalatok Bluetooth interfészéhez, és egy API -t teszünk lehetővé az árnyalatok vezérléséhez. a dolgok beszédével, és ott olyan dolgokat tehet, mint az árnyalatok vezérlése időbeosztásban, vagy az érzékelő bemenetén keresztül

Ez egy közbenső oktatóanyag lesz, olyan készségekre lesz szüksége, mint a forrasztás, az arduino programozás, az alapvető elektronikus ismeretek, és néhány, a szolgáltatások kiszolgálóra történő telepítésének, futtatásának és konfigurálásának módja.

Ha tetszettek a youtube videók, itt feliratkozhatsz.

1. lépés: Szükséges dolgok

Szükséges dolgok
Szükséges dolgok
Szükséges dolgok
Szükséges dolgok

Tipp: nagyítsa fel a képeket a rajtuk található leíró címkék megtekintéséhez

Alkatrészek:

1. arduino pro mini 16Mhz 5V típus (eBay) 2 $

2. HC-05 bluetooth modul (eBay) 3.3 $

3. 5 V Kétcsatornás relék (eBay) 1,6 $

4. NPN tranzisztor, amely legalább néhány erősítőre van méretezve, a Tip142T <1 $ -t használtam

5. 220 ohm, 0,25W rezisztor <1 $

6. dióda, 1N4004 <1 $

7. vezetékek az alkatrészek csatlakoztatásához <1 $

8. PCB (eBay) <1 $ darabonként

9. 2 x KF301-2P dugó csavaros csatlakozóban (eBay) <1 $ darabonként

10. férfi-női jumper vezetékek (eBay) 1,2 $ x 2 egy csomóért

11. L7805CV 5V szabályozó (eBay) <1 $ darabonként

12. 5,5 mm -es egyenáramú tápcsatlakozó aljzat férfi és hüvely (eBay) <1 $ darabonként

13. Hőre zsugorodó cső vagy szigetelő szalag

14. Tápegység, a tápegységet 12V és 2-3A feszültségűnek kell minősíteni.

Az enyémet egy 12 V 2 A -os töltőből (eBay) mentettem meg 3,2 dollárból

14. Sorkapocsléc (eBay) 15c

15. biztosítéktartó (Aliexpress) 1 $ darabonként

16. biztosíték (eBay) <1 $ darabonként

17. férfi és női PCB csatlakozók (eBay) <1 $, amire szükségünk van

18. Hálózati tápkábel

19. műanyag doboz ház, az enyém 6 x 19 cm volt

Eszközök:

1. Forrasztópáka forrasztóval

2. Drótvágó

3. Különféle csavarhúzók

4. Vágó

5. elektromos fúró és 8,5 mm -es fúró

6. FT232RL USB - soros FTDI adapter az arduino pro mini programozásához

7. ArduinoIDE -vel felszerelt laptop az arduino programozásához

8. Világosabb, ha hőre zsugorodó csövet használ

9. Bluetooth kapcsolatra képes okostelefon (a példában androidot használok), telepített Bluetooth szoftverrel

10. Opcionális: nagyító, multiméter, fogó

2. lépés: Előkészületek

Előkészületek
Előkészületek
Előkészületek
Előkészületek
Előkészületek
Előkészületek

A tápegység és a műanyag doboz kiválasztása

Először is meg kell határozni, hogy az árnyékmotorok mennyi áramot és feszültséget működtetnek.

Ezt megteheti a specifikációk elolvasásával vagy a multiméterrel végzett mérésekkel. Általában 12 V-ot és 1-3 A-t működtetnek (az enyém 2,5 A és 12 V). Szorozzuk meg az áramot azzal, hogy hányat kell egyszerre vezetni (én kettőt), hogy megtudjuk a szükséges maximális áramot. Olyan tápegységet kell találnia, amely pontosan azonos feszültségű, és ideális esetben ugyanolyan vagy kissé magasabb.

Ebben a lépésben egy kicsit megcsaltam, 12 V -os és 2,5 A -os tápegységet használva két 12 V -os és 2,5 A -os motor meghajtásához, ami azt jelenti, hogy a motorok kétszer annyi energiát használnak, mint amennyit a tápegység adhat. De a PWM nevű technikával (nézd meg a linket további részletekért) sikerült a motort egyidejűleg alacsonyabb sebességgel meghajtani.

Ennek az volt az oka, hogy helyet takarítottam meg a dobozban (kisebb dobozt választottam).

A műanyag háznak szüksége lesz a tápegységre, két relére, egy kis NYÁK -ra az elektronikával és a vezetékekkel, így válassza ki a méretet, hogy minden beleférjen.

A tápegységem műanyag burkolattal rendelkezett, amelyet egy dremel szerszám segítségével széttéptem, elvágtam a meglévő vezetékeket, és így egy olcsó és kicsi tápegységet kaptam a projektemhez (lásd a képeket).

Készítse elő a motorkábeleket

Ki kell számítani, hogy mennyi ideig tartanak a motorkábelek, vagyis amíg el nem érik a vezérlődobozt, amelyet mi tartunk. Valószínű, hogy a meglévő kábelek nem elég hosszúak, és meg kell hosszabbítani őket, le kell húzni mindkét vezetéket (a meglévő pengék kábelét és a hosszabbító kábeleket) az egyik végükre, tegyünk zsugorcsöveket, forrasztjuk fel a vezetékeket, majd melegítsük fel könnyebb szigetelni.

A hosszabbító kábel végén egy 5,5 mm -es egyenáramú tápkábel csatlakozó dugó található. A két vezetéket be kell forrasztani az aljzatba, a végeredmény olyan lesz, mint a képeken.

A hüvelyes 5,5 mm -es egyenáramú tápcsatlakozó dugó behelyezése a dobozba

A fúrógéppel fúrjon két olyan lyukat, amely elég nagy ahhoz, hogy az emelő átcsússzon. Dugja be a hálózati csatlakozódugókat, csavarja be az anyákat. Ezután forrasztjon vastag fekete és piros vezetékeket a bemenetek mindegyikébe, majd szigetelje őket zsugorcsővel. A vezetékeknek elég hosszúnak kell lenniük ahhoz, hogy könnyen bekerüljenek a sorkapocslécbe, de ne legyenek túl hosszúak ahhoz, hogy túl sok helyet foglaljanak el.

A biztosítéktartó rögzítése a biztosítékkal

A doboz egyik oldalához fúrjon egy kis lyukat, hogy egy kis anyát tegyen, amely a biztosítéktartót tartja. Ezután fogóval, csavarhúzóval és anyával csavarja szorosan a helyére. A biztosítéktartónak a tápegység közelében kell lennie, és a dobozon belül kell lennie. Még egyszer nézd meg a képeket.

3. lépés: A NYÁK építése elektronikával

NYÁK építése elektronikával
NYÁK építése elektronikával
NYÁK építése elektronikával
NYÁK építése elektronikával
NYÁK építése elektronikával
NYÁK építése elektronikával

A NYÁK a mikrokontrollert, a bluetooth kommunikációt, az RTC modult, a védelmi diódával ellátott táp tranzisztorral és egy kis rezisztorral, csatlakozóvezetékekkel és 5 V -os szabályozóval rendelkezik.

Csatoltam a fritzig vázlatát, így a dolgok egyszerűek lesznek. Az első kép a sematika exportált képét ábrázolja, és csatoltam a sketch.fzz fájlt is (az eredeti fájl, megnyithatja ezzel az eszközzel)

Forrasztási lépések:

1. vágja le a női PCB csatlakozókat, két 12 tűs csatlakozó van a mikrokontrollerhez, van egy 6 tűs csatlakozó a bluetoothhoz és egy másik 12 tűs csatlakozó a mikrokontroller jobb oldalán, és egy két tűs csatlakozó a relé negatívhoz és pozitív hatalom

2. Miután az összes csatlakozót elvágták, forrasztani kell a NYÁK hátoldalán

3. Forrasztja be a két KF301-2P csatlakozót

4. Tegye az L7805CV 5V szabályozót a NYÁK -ra. Hajlítsa meg a lábát, és forrasztja a másik oldalára, majd vágja le a felesleges lábakat a kábelvágóval

5. Forrasztja be az NPN Tip142T tranzisztort és az 1N4004 védődiódát, vágja le a felesleges lábakat

6. Forrasztja a 220 ohmos ellenállást a megfelelő 5 -ös digitális tüske és a tranzisztor -alapcsap közé

7. Forrasztjon vastagabb vezetékeket a tranzisztor és a KF301-2P csatlakozó között (piros és fekete, ahogy a képeken meg van jelölve)

8. Forrasztja az összes piros (+), fekete (-) és fehér (jel) vékony vezetéket a fritzig vázlatának megfelelően

9. Forrasztó hüvelyű csapok a mikrokontrollerre, két 12 hüvelyes csapra van szükség az oldalakon

10. Csatlakoztassa a csatlakozásokat a mikrokontroller jobb oldali hüvelyének megfelelő csapjai közé (ez jobban látható a képeken). A csatlakozások forrasztással készülnek (a csapok közel vannak)

11. Opcionális: a nagyítóval ellenőrizze a forrasztásokat, nincs -e rövidzárlat, és ellenőrizze, hogy a vezetékek megfelelően vannak -e forrasztva a NYÁK hátoldalán, valamint ellenőrizheti a multiméterrel (ellenállás beállítás), hogy nincs -e rövidzárlat a pozitív és a negatív kapcsolatok. Egy másik teszt az áramkör áramellátása mikrokontroller, bluetooth nélkül

12. Helyezze a mikrokontrollert és a HC-05 bluetooth-ot a NYÁK-ra

4. lépés: Kábelezés és összeszerelés

Kábelezés és összeszerelés
Kábelezés és összeszerelés
Kábelezés és összeszerelés
Kábelezés és összeszerelés

Mostanra készen áll a nyomtatott áramköri lapunk, a műanyag dobozunk készen áll az árnyékolt kábelek bekötésére és a többi alkatrész előkészítésére. Most már csak a rendszert kell bekötni.

1. a doboz felső oldalsó lyukán keresztül helyezze be a hálózati tápkábelt, csupaszítsa le a kábelt és forrasztja a tápegységre (ha a tápegység csavarokkal rendelkezik, akkor csavarja be)

2. egy piros huzal forrasztásával a tápegység kimenetét (+) az egyik biztosítékoldalra, használjon egy kis zsugorcsövet, hogy elrejtse a szabadon lehúzott vezetéket.

3. forrasztjon egy másik piros vezetéket a biztosíték másik oldalára zsugorcső alkalmazásával, a vezeték másik oldalát be kell illeszteni és be kell csavarni a KF301-2P csavaros csatlakozó bemenetébe (+)

4. forrasztjon egy fekete vezetéket a tápegység kimeneti (-) oldalához, majd csavarja rá a NYÁK-bemenet KF301-2P csavaros csatlakozójára

4. Férfi-női kenyérsütő lemez csatlakozókkal csatlakoztassa a pozitív és negatív relét a NYÁK pozitív és negatív csatlakozóihoz. Csatlakoztassa a mikrokontroller 8. és 9. érintkezőjét is (a NYÁK bal oldalán található PCB anyacsatlakozók segítségével) a relé kioldócsapjaihoz

5. Csatlakoztassa a sorkapocs blokk egyik oldalát a piros, illetve fekete vezetékekhez, amelyek az 5,5 mm -es egyenáramú tápkábel csatlakozóiból érkeznek. Ha több mint egy 5,5 mm -es anyacsatlakozója van, mint nekem, akkor az összes piros vezeték a sorkapocs bal felső sarkában, a fekete vezeték pedig a sorkapocs jobb felső oldalán lesz (lásd a képeket)). Ha az árnyalatokat működteti, ha nem ugyanabba az irányba mozdulnak el, akkor itt megfordítjuk a vezetékeket (erről később)

6. Csatlakoztassa a KF301-2P (kimenő) csavaros csatlakozó pozitív és negatív vezetékét a relé kivezetéseinek középpontjához. A terminálok közepét közösnek nevezik.

7. csatlakoztassa a bal relé bal oldalát (nem mindegy, hogy milyen irányba néz) a jobb relé bal oldalával a sorkapocs bal alsó oldalához. Ezután csatlakoztassa a bal relé jobb oldalát a jobb relé jobb oldalához a sorkapocs jobb alsó oldalához. A sorkapocs felső oldala a 5,5 mm -es hüvelyes csatlakozókhoz lesz csatlakoztatva (lásd az 5. lépést).

Megjegyzés: Leírtam, hogy a sorkapocs felső és alsó oldala bal és jobb oldali. Nem mindegy, hogyan fogja a sorkapcsot, amíg emlékszik, hogy melyik oldal mi. Ellenőrizheti a képeket és különösen a fritzig vázlatos rajzát.

5. lépés: Az Arduino kód

Az Arduino kód
Az Arduino kód

A kódot fel kell tölteni az arduino pro mini -re az FT232RL USB -soros FTDI adapter segítségével.

Csatlakoztatnia kell a GND, VCC, Rx, Tx és DTR tűket az arduino pro mini készülékhez. Ezután nyissa meg az arduino szoftver kiválasztó eszközeit/portját és a használt portot. Ezután Eszközök/Tábla/Arduino Pro vagy Pro Mini. Ezután Eszközök/Alaplap/Processzor/ATmega328 (5V 16Mhz).

Végül nyissa meg az alábbi vázlatot, és nyomja meg a feltöltés gombot.

Beállítások: A vázlatban csak a pwmPower állítható be. Az érték 0 és 255 között lehet, és nagyjából azt jelzi, hogy a tápegység mekkora része kerül az árnyékmotorokra. Alapvetően gyorsan be- és kikapcsolja az áramot. Leginkább azért valósítottam meg, hogy lehetővé tegyem egy kisebb tápegység használatát túlmelegedés vagy leállás nélkül. Ha a tápegység nagyobb teljesítményű, mint a motorok, akkor a pwmPower értékét 255 -re állíthatja.

Tehát hogyan működik ez a program: először a soros vonalat (másodlagos szoftversorozat) hallgatja a bejövő átvitelhez. Amikor az átvitel megérkezik, az üzenetet pufferben olvassuk, amíg a ";" jelen van, vagy eléri a puffer végét. Ezután elemzi, és ha megfelelő formátumban van (például: O45;), akkor a toggleState függvény meghívásra kerül az első paraméter állapotával, majd az időtartammal.

A polaritáskapcsoló elérése érdekében mindkét relé nyitva vagy zárva van. A tranzisztor be- és kikapcsolása a PWM segítségével a megadott időtartamra. Az O45 45 másodpercig nyitva lesz.

A parancs végrehajtása után a puffer törlődik.

6. lépés: Használat

Használat
Használat
Használat
Használat
Használat
Használat

A kezelőszerveket többféleképpen is használhatjuk

1. Android vagy iPhone bluetooth alkalmazáson keresztül (a legegyszerűbb)

Bemutatómban a Bluetooth Controller nevű androidos alkalmazást választottam. Ez az alkalmazás lehetővé teszi, hogy testreszabja a soros adatokat küldő gombokat. Létrehoztam két gombot Fel és Le, az Up feliratot a "C40;" és a Down "O35;".

"C40;" azt jelenti, hogy 40 másodpercre bezárom (visszavonom) az árnyalatokat, a "035" azt jelenti, hogy 35 másodpercig kinyílik (felmennek). ";" az a parancsvégző, amelyet a vázlatomban választottam, ez azt jelenti, hogy jelzi a parancs végét.

2. A háttérben folyamatosan futó python parancsfájl segítségével

Ez az oktatóanyag továbbfejlesztett része. Van egy python parancsfájlom, amely olyan szerveren fog futni, mint egy málna pi vagy laptop internetkapcsolattal. Csatlakozni fog a vezérlődoboz bluetooth -jához, és egy http API -t tár fel. Az API közvetlenül vagy a dolgok beszédén keresztül érhető el.

Lépésről lépésre elmagyarázom, mit kell tennie

a. az első dolog a Bluetooth párosítása

a bluetoothctl parancsot fogja használni a konzolból, írja be

bekapcsolás

felfedezhető az ügynöknél az alapértelmezett ügynökön, párosítható a xx: xx: xx: xx: xx: xx páron (és adja meg a jelszót) bizalom xx: xx: xx: xx: xx: xx (ha nincs jelszó):

Ezután nyissa meg a Bluetooth konfigurációs fájlt

vim /etc/bluetooth/rfcomm.conf

belül konfigurálnia kell a Bluetooth -eszközt, így:

rfcomm1 {

kötés igen; eszköz a_bluetooth_mac_cím, például 97: D3: 31: 21: A0: 51; csatorna 1; comment "Kapcsolat az árnyalataimhoz bt"; }

kötés, indítsa újra a Bluetooth szolgáltatásokat

sudo rfcomm bind allsudo /etc/init.d/bluetooth újraindítás sudo hciconfig hci0 fel

b. lombik telepítése, lombik alapvető hitelesítése:

sudo -H pip install Flask Flask -BasicAuth

c. hozzon létre egy fájl server.py fájlt a következő kóddal, és futtassa a szervert:

# use: python httpToBluetooth felhasználónév jelszó bluetooth_address

# Megjegyzés: felhasználónév, jelszó használatos

import os, bluetooth, sys, threading

a lombik importálásából A lombik a flask_basicauth -ból Import BasicAuth a sorból = Queue () basic_auth = BasicAuth (app) class BluetoothBackground (threading. Thread): def _init _ (self, bluetooth_address, queue): threading. Thread._ init _ (self) self._ bluetooth_address = bluetooth_address self._ queue = queue self.shutdown = Hamis def run (self): self._ bluetooth = self.get_bluetooth () míg nem önálló. Shutdown: message = self._ queue.get () self._ bluetooth.send (message) self._ bluetooth.close () def get_bluetooth (self): connection = bluetooth. BluetoothSocket (bluetooth. RFCOMM) connection.settimeout (None) try: connection.connect ((saját._ bluetooth_cím, 1)) kivétel kivétel, e: print 'Hiba a Bluetooth -hoz' + str (e) kapcsolat.setblocking (False) visszatérési kapcsolatosztály Webszerver (threading. Thread): def run (self): port = in t (os.environ.get ('PORT', 5000)) app.run (host = '0.0.0.0', port = port, debug = True, use_reloader = False) @app.route ("/send_to_serial/") @basic_auth.required def send_to_serial (parancs): queue.put (parancs) return 'ok' threads = threads.append (BluetoothBackground (konfiguráció [3], sor)) threads.append (Webserver ()) [thread.start () szálakhoz menetekben]

a szerver futtatásához:

python server.py felhasználói jelszó 97: D2: 31: 20: A0: 51

Rendben, tehát a server.py a mi szkriptünk, a felhasználó és a jelszó a hitelesítési adatok, és a "97: D2: 31: 20: A0: 51" a Bluetooth MAC -címe.

d. használja a szerverét parancsok küldésére a világ bármely pontjáról

a böngésző típusából: https:// your_ip: 5000/send_to_serial/C30;

- írja be a felhasználót és a jelszót, amelyet korábban beállított a python szerver indításakor

- "C30;" az a parancs, amelyet továbbítunk a Bluetooth -eszközre (az árnyalatokat vezérlő dobozunk)

- ellenőrizze, hogy a tűzfal nem blokkolja -e az 5000 -es portot (ezt a portot használjuk)

- ha egy útválasztó mögött van (például egy málna pi), akkor portot kell továbbítania az útválasztótól az 5000 -es portról az 5000 -es portra

e. a thingspeak segítségével olyan műveleteket végezhet, mint az árnyalatok vezérlése időbeosztásban, vagy amikor néhány csatornaérzékelő adat megváltozik. Például beköthet egy fényérzékelőt (kint) a gondolkodási csúcsra, és amikor a fényszint valamilyen szintre csökken (este van), bezárhatja az árnyékokat, hogy a kinti emberek ne lássanak téged.

A ThingHTTP használatával összekapcsolhatja az árnyalatokat (a korábban beállított python -szervert) a dolgok beszédével.

Mellékeltem egy képet a ThingHTTP űrlapról, ahol az adatok példaként vannak kitöltve, és egy képet a TimeControl segítségével. Tehát a maximális rugalmasság érdekében a dolognak mindent meg kell tennie, amire szüksége van.

3. Az otthoni automatizálási alkalmazásomon keresztül

Ez egy kicsit bonyolultabb, az otthoni automatizálási alkalmazásom sokkal többet tesz, mint az árnyalatok szabályozása.

Ezenkívül vezérli a lámpákat, az ajtót, több érzékelővel rendelkezik, integrálható a kapcsolókkal, és bonyolult, felhasználó által meghatározott szabályokkal rendelkezik, amelyek például megnyithatják az árnyalatokat, ha a belső fény alacsony, vagy reggel van.

Ellenőrizheti a github táromat, és ha kérdése van, szívesen válaszolok rájuk.

Ha hasznosnak találta az oktatóanyagomat, ossza meg, vagy adja hozzá a kedvencekhez. És én is szeretnék érdekes megjegyzéseket látni:)

Ajánlott: