Kazalo:

Samodejna senčila za Windows: 6 korakov (s slikami)
Samodejna senčila za Windows: 6 korakov (s slikami)

Video: Samodejna senčila za Windows: 6 korakov (s slikami)

Video: Samodejna senčila za Windows: 6 korakov (s slikami)
Video: Полное руководство по Google Forms - универсальный инструмент для опросов и сбора данных онлайн! 2024, November
Anonim
Image
Image
Samodejna senčila za Windows
Samodejna senčila za Windows
Samodejna senčila za Windows
Samodejna senčila za Windows

Beseda naprej

Videl sem veliko vaj o tem, kako avtomatizirati ročne senčila in žaluzije, no v tem bomo avtomatizirali električne senčila. Zajemali bomo električne senčnike, ki jih poganjajo elektromotorji z enosmernim tokom (DC), ki se odpirajo ali zapirajo s spreminjanjem polarnosti toka.

Čeprav boste pri nakupu električnih senčil dobili nekaj avtomatizacije, obstaja razlog, da avtomatizacijo naredite sami, na primer:

* morda imate v bližini le stikalo za nadzor gor/dol

* ceneje je (nekatera podjetja ponujajo napredno avtomatizacijo za veliko dodatnih $$)

* bolj prilagodljivi, lahko jih programirate za odpiranje ali zapiranje v različnih okoliščinah, naučili se bomo o izdelavi spletnega strežnika v pythonu, ki se bo povezal z vmesnikom bluetooth za odtenke, in razkril API za nadzor senčil, vključili bomo tudi to z stvarmi in tam lahko naredite stvari, kot je nadzor senčil v časovnem razporedu ali nadzor nad senzorskim vhodom

To bo vmesna vadnica, potrebovali boste spretnosti, kot so spajkanje, programiranje arduino, osnovno elektronsko razumevanje in nekaj, kako namestiti storitve na strežnik, jih zagnati in konfigurirati.

Če so vam bili videoposnetki na YouTubu všeč, se lahko naročite tukaj.

1. korak: Potrebne stvari

Potrebne stvari
Potrebne stvari
Potrebne stvari
Potrebne stvari

Nasvet: povečajte slike, da si ogledate opisne nalepke na njih

Deli:

1. arduino pro mini 16Mhz 5V tip (eBay) 2 $

2. Modul bluetooth HC-05 (eBay) 3,3 $

3. 5 V Dvokanalni releji (eBay) 1,6 $

4. NPN tranzistor, ki je ocenjen na vsaj nekaj amperov, sem uporabil Tip142T <1 $

5. 220 ohmov, rezistor 0,25 W <1 $

6. dioda, 1N4004 <1 $

7. žice za povezovanje delov <1 $

8. PCB (eBay) <1 $ na kos

9. 2 x KF301-2P vtični vijačni priključek (eBay) <1 $ na kos

10. moško-ženske mostičke (eBay) 1,2 $ x 2 za kup

11. 5V regulator L7805CV (eBay) <1 $ na kos

12. Vtičnica 5,5 mm DC vtiča za moške in ženske (eBay) <1 $ na kos

13. Termoskrčljive cevi ali izolacijski trak

14. Napajanje, napajanje mora biti ocenjeno na 12V in 2-3A.

Jaz sem svojega rešil iz polnilnika 12 V 2 A (eBay) 3,2 $

14. Blok priključnih letvic (eBay) 15c

15. držalo varovalk (Aliexpress) 1 $ na kos

16. varovalka (eBay) <1 $ na kos

17. moški in ženski priključki za PCB (eBay) <1 $ za tisto, kar potrebujemo

18. Napajalni kabel za izmenični tok

19. ohišje iz plastične škatle, moje je bilo 6 x 19 cm

Orodja:

1. Spajkalnik s spajkanjem

2. Rezalnik žice

3. Različni izvijači

4. Rezalnik

5. električni vrtalnik in 8,5 mm sveder

6. USB na serijski adapter FTDI FT232RL za programiranje arduino pro mini

7. Prenosni računalnik z nameščenim ArduinoIDE za programiranje arduina

8. Vžigalnik, če uporabljate toplotno skrčljive cevi

9. Pametni telefon, ki omogoča povezavo Bluetooth (v primeru uporabljam android) z nameščeno programsko opremo bluetooth

10. Izbirno: povečevalno steklo, multimeter, klešče

2. korak: Priprave

Priprave
Priprave
Priprave
Priprave
Priprave
Priprave

Izbira napajalnika in plastične škatle

Najprej je treba ugotoviti, koliko toka in napetosti delujejo motorji senčil.

To lahko storite z branjem specifikacij ali z meritvami z multimetrom. Običajno delujejo na 12 V in 1-3 amperov (moja sta 2,5 A in 12 V). Pomnožite tok s tem, koliko jih morate voziti hkrati (vozim dva), da ugotovite največji potreben tok. Morali bi najti napajalnik, ki je popolnoma enake napetosti in v idealnem primeru enake jakosti ali nekoliko višje.

Na tem koraku sem malce goljufal z uporabo 12 V in 2,5 A napajalnika za pogon dveh 12 V in 2,5 A motorjev, kar pomeni, da motorji porabijo dvakrat toliko energije, kot jo lahko da napajalnik. Toda s tehniko, imenovano PWM (za več podrobnosti preverite povezavo), mi je uspelo hkrati poganjati motor z nižjo hitrostjo.

Razlog za to sem prihranil prostor v škatli (izbral sem manjše polje).

V plastično ohišje boste morali namestiti napajalnik, dva releja, majhen tiskani vez z elektroniko in žicami, zato izberite velikost, da se vse prilega.

Moj napajalnik je imel plastično ohišje, ki sem ga raztrgal z orodjem dremel, prerezal sem obstoječe žice in na ta način imam poceni in majhen napajalnik, primeren za moj projekt (glej slike).

Pripravite kable motorja

Izračunati morate, kako dolgi bodo kabli motorja, torej dokler ne pridejo do nadzorne omarice, ki jo gradimo. Verjetno je, da obstoječi kabli niso dovolj dolgi, zato jih boste morali podaljšati, obe žici (obstoječi kabel rezila in podaljške) odstraniti na enem koncu, položiti toplotno skrčljive cevi, spajkati žice in nato ogreti z lažji za izolacijo.

Na koncu podaljška bo moška 5,5 -milimetrska vtičnica za DC napajanje. Obe žici morate spajkati v vtičnico, končni rezultat bo kot na slikah.

Vstavite ženski 5,5 mm DC napajalni vtič v škatlo

S pomočjo vrtalnega stroja izvrtajte dve luknji, ki sta dovolj veliki, da se dvigalo zdrsne. Vstavite vtičnice za vtič, privijte z maticami. Nato debele črne in rdeče žice spajkajte na vsak vhod vtičnice, nato pa jih izolirajte s toplotno skrčljivo cevjo. Žice morajo biti dovolj dolge, da zlahka gredo v blok priključnih trakov, vendar ne predolge, da zasedejo preveč prostora.

Pritrditev držala varovalke z varovalko

Na eni strani škatle izvrtajte majhno luknjo, da vstavite majhno matico, ki drži držalo varovalk. Nato s kleščami, izvijačem in matico privijte na svoje mesto. Nosilec varovalk mora biti v bližini mesta napajanja in znotraj škatle. Še enkrat preveri slike.

3. korak: Izdelava tiskanega vezja z elektroniko

Izdelava tiskanega vezja z elektroniko
Izdelava tiskanega vezja z elektroniko
Izdelava tiskanega vezja z elektroniko
Izdelava tiskanega vezja z elektroniko
Izdelava tiskanega vezja z elektroniko
Izdelava tiskanega vezja z elektroniko

Na tiskanem vezju bodo mikrokrmilnik, bluetooth komunikacija, modul RTC, tranzistor za napajanje z diodo za zaščito in majhnim rezistorjem, konektorske žice in 5V regulator.

Priložil sem shemo fritziga, tako da bodo stvari enostavne. Prva slika predstavlja izvoženo sliko sheme in priložil sem tudi sketch.fzz (izvirna datoteka, odprete jo lahko s tem orodjem)

Koraki spajkanja:

1. odrežite priključke ženskega tiskanega vezja, za mikrokrmilnik sta dva 12 -polna konektorja, na voljo je tudi 6 -polni konektor za bluetooth in še 12 -polni konektorji na desni strani mikrokrmilnika in dva polna konektorja za negativni rele in pozitivno moč

2. Ko so vsi priključki odrezani, jih je treba spajkati na hrbtni strani tiskanega vezja

3. Spajkajte dva vtiča KF301-2P

4. Postavite 5V regulator L7805CV na tiskano vezje. Upognite njegove noge in jih spajkajte na drugi strani, nato pa odrežite odvečne noge z rezalnikom kablov

5. Spajkajte tranzistor NPN Tip142T in zaščitno diodo 1N4004, po odstranitvi presežnih nog

6. 220 ohmski rezistor spajkajte med ustreznim digitalnim zatičem 5 in osnovnim zatičem tranzistorja

7. Spajkajte debelejše žice med tranzistorjem in vtiči KF301-2P (rdeče in črno, kot sta označeni na slikah)

8. Spajajte vse rdeče (+), črne (-) in bele (signalne) tanke žice po fritzig shemi

9. Za spajkanje moških zatičev na mikrokrmilniku potrebujete dva 12 moških zatičev na straneh

10. Vzpostavite povezavo med vsakim ustreznim zatičem desne strani mikrokrmilnika (bolje je razloženo na slikah). Povezave bodo izvedene samo s spajkanjem (zatiči bodo blizu)

11. Izbirno: s povečevalnim steklom preglejte spajke glede kratkega stika in preverite, ali so žice pravilno spajkane na hrbtni strani tiskanega vezja, prav tako lahko z multimetrom (nastavitev upora) preverite, ali je med pozitivnim in negativne povezave. Drug test je napajanje vezja brez mikrokrmilnika, bluetooth

12. Postavite mikrokrmilnik in bluetooth HC-05 na tiskano vezje

4. korak: Ožičenje in montaža

Ožičenje in montaža
Ožičenje in montaža
Ožičenje in montaža
Ožičenje in montaža

Doslej imamo pripravljen tiskani vez, naša plastična škatla je pripravljena za ožičenje kablov in pripravljene so ostale komponente. Zdaj moramo samo ožičiti sistem.

1. skozi zgornjo stransko luknjo v škatli vstavite napajalni kabel za izmenični tok, kabel odstranite in ga spajkajte na napajalnik (če ima vaš napajalnik vijake, ga privijte)

2. z spajkanjem rdeče žice izhod (+) napajanja na eno od varovalk uporabite malo toplotno skrčljive cevi, da skrijete izpostavljeno ogoljeno žico.

3. na drugo stran varovalke spajkajte drugo rdečo žico, drugo stran žice vstavite in privijte v vhod (+) vijačnega priključka KF301-2P

4. spajkajte črno žico na izhodno (-) stran napajalnika in jo nato privijte na vhodni priključek KF301-2P na tiskanem vezju

4. S priključki za moško-žensko matično ploščo priključite pozitivni in negativni rele na pozitivni in negativni ženski konektor pcb. Zatiča 8 in 9 mikrokrmilnika (z uporabo matičnih priključkov na levi strani tiskanega vezja) priključite na sprožilne zatiče releja

5. eno stran priključnega bloka priključite na rdeče oziroma črne žice, ki prihajajo iz ženskih 5,5 -milimetrskih priključkov enosmernega vtiča. Če imate več kot en ženski konektor 5,5 mm, tako kot jaz, bodo vse rdeče žice končale na zgornji levi strani priključne plošče, vse črne žice pa na zgornji desni strani priključnega bloka (glejte slike). Ko boste upravljali senčila, če se ne premikajo v isti smeri, bomo tukaj obrnili žice (več o tem kasneje)

6. pozitivne in negativne žice, ki prihajajo iz vijačnega priključka KF301-2P (ven), povežite s sredinami relejnih sponk. Sredina sponk se imenuje skupna.

7. levo stran levega releja (ni važno, kako gledate v resnici) priključite na levo stran desnega releja na spodnjo levo stran priključne plošče. Nato priključite desno stran levega releja na desno stran desnega releja na spodnjo desno stran priključne plošče. S priključno ploščo bo zgornja stran povezana z ženskimi 5,5 mm konektorji (glej korak 5).

Opomba: Opozoril sem, da ima priključni blok zgornjo in spodnjo stran, ki imata levo in desno stran. Ni važno, kako držite terminalni blok, dokler se spomnite, na kateri strani je kaj. Lahko preverite slike in še posebej shemo fritziga.

5. korak: Koda Arduino

Koda Arduino
Koda Arduino

Kodo je treba naložiti v arduino pro mini z uporabo USB -serijskega adapterja FTDI FT232RL.

Na arduino pro mini morate priključiti pin GND, VCC, Rx, Tx in DTR. Nato odprite programsko opremo arduino, izberite orodja/vrata in katera koli vrata, ki jih uporabljate. Nato Tools/Board/Arduino Pro ali Pro Mini. Nato orodja/plošča/procesor/ATmega328 (5V 16Mhz).

Na koncu odprite skico spodaj in pritisnite naloži.

Prilagoditve: Edino, kar lahko na skici prilagodite, je pwmPower. Vrednost je lahko med 0 in 255 in približno predstavlja, koliko energije za napajanje bo šlo na senčnike motorjev. V bistvu gre za hiter vklop in izklop napajanja. Izvedel sem ga predvsem zato, da lahko uporabljam manjši napajalnik brez pregrevanja ali izklopa. Če ima vaš napajalnik večjo moč, kot jo porabijo motorji, lahko nastavite pwmPower na 255.

Kako torej deluje ta program: najprej posluša serijsko linijo (sekundarno serijsko programsko opremo) za dohodne prenose. Ko prispe prenos, se sporočilo prebere v medpomnilniku do ";" je prisoten ali je dosežen konec medpomnilnika. Nato se razčleni in če je v pravilni obliki (npr.: O45;) se pokliče funkcija toggleState s prvim stanjem parametra in nato trajanjem.

Za dosego stikala za polariteto sta oba releja odprta ali zaprta. Tranzistor se za določen čas vklopi in izklopi s pomočjo PWM. O45 bo pomenilo, da je odprto 45 sekund.

Po izvedbi ukaza se medpomnilnik počisti.

6. korak: Uporaba

Uporaba
Uporaba
Uporaba
Uporaba
Uporaba
Uporaba

Kontrolnike lahko uporabljamo na več načinov

1. Preko bluetooth aplikacije za android ali iphone (najpreprostejša)

V predstavitvi sem izbral aplikacijo za Android, imenovano Bluetooth Controller. Ta aplikacija vam omogoča prilagajanje gumbov, ki bodo pošiljali serijske podatke. Ustvaril sem dva gumba gor in dol, gor sem povezal s kodo "C40;" in navzdol z "O35;".

"C40;" pomeni, da bom zaprl (umaknil) senčila za 40 sekund, "035" pomeni, da se bom odprl (gredo gor) za 35 sekund. ";" je terminator ukazov, ki sem ga izbral na skici, kar pomeni, da označuje konec ukaza.

2. Preko skripta python, ki se neprekinjeno izvaja v ozadju

To je napredni del vadnice. Imam mande python skript, ki se bo izvajal na strežniku, kot je malina pi ali prenosni računalnik z dostopom do interneta. Povezal se bo z bluetoothom na nadzorni omarici in razkril http API. Do API -ja lahko dostopate neposredno ali prek Thingspeak -a.

Po korakih bom razložil, kaj morate storiti

a. prva stvar je združiti bluetooth

uporabljali boste ukaz bluetoothctl iz konzole, notri tip

vklop

odkrito pri agentu na privzetem-agentu po možnosti pri skeniranju v paru xx: xx: xx: xx: xx: xx (in vnesite geslo) zaupanje xx: xx: xx: xx: xx: xx (če ni gesla):

Nato odprite konfiguracijsko datoteko bluetooth

vim /etc/bluetooth/rfcomm.conf

v notranjosti boste morali napravo Bluetooth nastaviti tako:

rfcomm1 {

zavezuj da; naprava your_bluetooth_mac_address nekaj takega kot 97: D3: 31: 21: A0: 51; kanal 1; komentar "Povezava z mojimi odtenki bt"; }

bind, znova zaženite storitve bluetooth

sudo rfcomm bind allsudo /etc/init.d/bluetooth ponovni zagon sudo hciconfig hci0 up

b. namestitev bučke, osnovna avtentika bučke:

sudo -H pip install Flask Flask -BasicAuth

c. ustvarite datotečni server.py z naslednjo kodo in zaženite strežnik:

# uporaba: python httpToBluetooth geslo uporabniškega imena bluetooth_address

# Opomba: uporabniško ime, geslo

uvoz os, bluetooth, sys, threading

iz flask import Flask iz flask_basicauth import BasicAuth iz čakalne vrste import Queue app = Flask (_ name_) configuration = sys.argv app.config ['BASIC_AUTH_USERNAME'] = configuration [1] app.config ['BASIC_AUTH_PASSWORD'] = konfiguracija [2] que = Queue () basic_auth = BasicAuth (app) razred BluetoothBackground (threading. Thread): def _init _ (self, bluetooth_address, queue): threading. Thread._ init _ (self) self._ bluetooth_address = bluetooth_address self._ queue = queue = queue = queue = queue = queue = queue = queue = queue = queue = queue = queue = queue = queue) False def run (self): self._ bluetooth = self.get_bluetooth (), medtem ko ni self.shutdown: message = self._ queue.get () self._ bluetooth.send (message) self._ bluetooth.close () def get_bluetooth (self): connection = bluetooth. BluetoothSocket (bluetooth. RFCOMM) connection.settimeout (None) poskusite: connection.connect ((self._ bluetooth_address, 1)) razen izjeme, e: natisnite "Napaka pri povezavi z bluetoothom" + str (e) povezava.setblocking (False) vrne razred povezave Webserver (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 (ukaz): queue.put (ukaz) vrne "ok" niti = threads.append (BluetoothBackground (konfiguracija [3], čakalna vrsta)) threads.append (Webserver ()) [thread.start () za nit v niti]

za zagon strežnika izvedite:

python server.py uporabniško geslo 97: D2: 31: 20: A0: 51

V redu, torej server.py je naš skript, uporabnik in geslo sta poverilnici, ki se uporabljata za preverjanje pristnosti, in "97: D2: 31: 20: A0: 51" je vaš MAC naslov bluetooth.

d. uporabite strežnik za pošiljanje ukazov od koder koli po svetu

iz brskalnika vnesite: https:// your_ip: 5000/send_to_serial/C30;

- vnesite uporabnika in geslo, ki ste jih nastavili prej, ko ste zagnali strežnik python

- "C30;" je ukaz, ki bo posredovan na napravo bluetooth (naše polje, ki bo nadziralo odtenke)

- preverite, da vaš požarni zid ne blokira vrat 5000 (uporabljamo ta vrata)

- če ste za usmerjevalnikom (na primer malinovo pi), morate omogočiti posredovanje vrat od usmerjevalnika od vrat 5000 do vrat 5000

e. lahko uporabite thingspeak za stvari, kot je nadzor senčil v časovnem razporedu ali ko se spremenijo nekateri podatki senzorja kanala. Na primer, svetlobni senzor (zunaj) lahko povežete z mislijo na vrhunec in ko raven svetlobe pade na določeno količino (večer je), lahko zaprete senčila, da vas ljudje zunaj ne vidijo.

Odtenke (strežnik python, ki smo ga nastavili prej) lahko povežete s stvarmi z uporabo ThingHTTP.

Priložil sem sliko obrazca ThingHTTP s podatki, ki so bili izpolnjeni kot primer, in sliko s TimeControl -om. Torej, za največjo prilagodljivost, mora stvar govoriti, kar potrebujete.

3. Preko moje aplikacije za avtomatizacijo doma

To je nekoliko bolj zapleteno, moja aplikacija za avtomatizacijo doma naredi veliko več kot nadzor senčil.

Upravlja tudi luči, vrata, ima več senzorjev, se integrira s stikali in ima zapletena pravila, ki jih določi uporabnik, ki lahko na primer odprejo senčila, če je raven svetlobe v notranjosti nizka ali če je jutro.

Lahko preverite moje skladišče github in če imate vprašanja, vam bom z veseljem odgovoril.

Če se vam je moja vadnica zdela nekoliko uporabna, jo delite ali dodajte med priljubljene. Tudi jaz bi rad videl nekaj zanimivih komentarjev:)

Priporočena: