Sadržaj:

Automatske sjene za Windows: 6 koraka (sa slikama)
Automatske sjene za Windows: 6 koraka (sa slikama)

Video: Automatske sjene za Windows: 6 koraka (sa slikama)

Video: Automatske sjene za Windows: 6 koraka (sa slikama)
Video: Красивая история о настоящей любви! Мелодрама НЕЛЮБОВЬ (Домашний). 2024, Juli
Anonim
Image
Image
Automatizirane sjenila za Windows
Automatizirane sjenila za Windows
Automatizirane sjenila za Windows
Automatizirane sjenila za Windows

Reč unapred

Vidio sam mnogo tutorijala o tome kako automatizirati ručne zavjese i rolete, pa u ovom ćemo automatizirati električne zavjese. Pokrivat ćemo električne nijanse koje pokreću elektromotori stalne struje (DC) koji se otvaraju ili zatvaraju promjenom polariteta struje.

Iako ako kupite električne sjenila, dobit ćete određenu automatizaciju, postoji razlog da automatizaciju radite sami, poput:

* možda imate u blizini samo prekidač za kontrolu gore/dolje

* Jeftinije je (neke kompanije nude naprednu automatizaciju za puno dodatnih $$)

* fleksibilniji, možete ih programirati za otvaranje ili zatvaranje u različitim okolnostima, naučit ćemo o izradi web poslužitelja u pythonu koji će se povezati sa sučeljem bluetooth za nijanse i izložiti API za kontrolu nijansi, također ćemo integrirati to sa thingspeak -om i tamo možete raditi stvari kao što je kontrola nijansi u vremenskom rasporedu ili kontrola preko ulaza senzora

Ovo će biti posredni vodič, trebat će vam vještine poput lemljenja, arduino programiranja, osnovno elektroničko razumijevanje i neke o tome kako instalirati usluge na poslužitelj, pokrenuti ih i konfigurirati.

Ako su vam se svideli YouTube video zapisi, pretplatite se ovde.

Korak 1: Potrebne stvari

Potrebne stvari
Potrebne stvari
Potrebne stvari
Potrebne stvari

Savjet: povećajte slike da biste vidjeli opisne oznake na njima

Dijelovi:

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

2. HC-05 bluetooth modul (eBay) 3,3 USD

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

4. NPN tranzistor ocijenjen za barem nekoliko pojačala, koristio sam Tip142T <1 $

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

6. dioda, 1N4004 <1 $

7. žice za povezivanje dijelova <1 $

8. PCB (eBay) <1 $ po komadu

9. 2 x KF301-2P utični utični konektor (eBay) <1 $ po komadu

10. muško-ženske kratkospojne žice (eBay) 1,2 USD x 2 za hrpu

11. L7805CV 5V regulator (eBay) <1 $ po komadu

12. Utičnica za DC utičnicu od 5,5 mm za muškarce i žene (eBay) <1 $ po komadu

13. Termoskupljajuće cijevi ili izolacijske trake

14. Napajanje, napajanje mora biti naznačeno na 12V i 2-3A.

Spasio sam svoj sa punjača od 12 V 2 A (eBay) 3,2 USD

14. Blok stezaljki (eBay) 15c

15. držač osigurača (Aliexpress) 1 $ po komadu

16. osigurač (eBay) <1 $ po komadu

17. muški i ženski priključci za PCB (eBay) <1 $ za ono što nam treba

18. Kabel za naizmjeničnu struju

19. kućište od plastične kutije, moje je bilo 6 x 19 cm

Alati:

1. Lemilica sa lemljenjem

2. Rezač žice

3. Razni odvijači

4. Rezač

5. električna bušilica i svrdlo 8,5 mm

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

7. Laptop sa instaliranim ArduinoIDE -om za programiranje arduina

8. Upaljač ako koristite termoskupljajuće cijevi

9. Pametni telefon sposoban za bluetooth vezu (u primjeru koristim android) sa instaliranim bluetooth softverom

10. Opciono: povećalo, multimetar, kliješta

Korak 2: Pripreme

Pripreme
Pripreme
Pripreme
Pripreme
Pripreme
Pripreme

Odabir izvora napajanja i plastične kutije

Prvo je potrebno odrediti koliku struju i napon rade motori za zavjese.

To se može učiniti čitanjem specifikacija ili mjerenjima pomoću multimetra. Obično rade na 12 V i 1-3 ampera (moji su 2,5 A i 12 V). Pomnožite struju sa koliko ih trebate voziti istovremeno (vozim dvije) kako biste saznali maksimalnu potrebnu struju. Trebali biste pronaći napajanje potpuno istog napona i idealno iste amperaže ili malo veće.

U ovom koraku sam malo prevario, koristeći napajanje od 12 V i 2,5 A za pogon dva motora od 12 V i 2,5 A, što znači da motori koriste dvostruko više energije nego što napajanje može dati. Ali koristeći tehniku koja se zove PWM (provjerite vezu za više detalja) uspio sam voziti motor istovremeno nižom brzinom.

Razlog zašto sam to učinio je ušteda prostora u kutiji (odabrao sam manju kutiju).

U plastično kućište trebat će ugraditi napajanje, dva releja, malu pločicu s elektronikom i žicama pa odaberite veličinu tako da sve stane.

Moje napajanje je imalo plastično kućište koje sam rastrgao pomoću dremel alata, presjekao sam postojeće žice i na ovaj način imam jeftino i malo napajanje prikladno za moj projekt (pogledajte slike).

Pripremite kablove motora

Morate izračunati koliko će dugo trajati motorni kabeli, odnosno dok ne stignu do upravljačke kutije koju gradimo. Šanse su da postojeći kabeli nisu dovoljno dugi, pa ćete ih morati produžiti, ogoliti obje žice (postojeći kabel oštrica i produžne kabele) na jednom kraju, staviti termoskupljajuće cijevi, lemiti žice i zatim zagrijati sa upaljač za izolaciju.

Na kraju produžnog kabela bit će muški priključak za napajanje istosmjernog napona od 5,5 mm. Morate lemiti dvije žice u utičnicu, a konačni rezultat bit će kao na slikama.

Umetanje ženskog 5,5 mm DC utikača u kutiju

Pomoću bušilice izbušite dvije rupe dovoljno velike da dizalica može kliziti. Umetnite utičnice utikača za napajanje, pričvrstite ih maticama. Zatim lemite debele crne i crvene žice na svaki ulaz utičnice, nakon čega ih izolirajte pomoću termoskupljajuće cijevi. Žice bi trebale biti dovoljno dugačke da lako uđu u blok priključnih traka, ali ne preduge da zauzimaju previše prostora.

Pričvršćivanje držača osigurača s osiguračem

Na jednoj strani kutije izbušite malu rupu kako biste stavili malu maticu koja drži držač osigurača. Zatim pomoću kliješta, odvijača i matice čvrsto ih pričvrstite. Držač osigurača trebao bi biti blizu mjesta za napajanje i unutar kutije. Još jednom provjerite slike.

Korak 3: Izgradnja PCB -a s elektronikom

Izgradnja PCB -a s elektronikom
Izgradnja PCB -a s elektronikom
Izgradnja PCB -a s elektronikom
Izgradnja PCB -a s elektronikom
Izgradnja PCB -a s elektronikom
Izgradnja PCB -a s elektronikom

Na PCB -u će se nalaziti mikrokontroler, bluetooth komunikacija, RTC modul, tranzistor napajanja sa diodom za zaštitu i malim rezistorima, žicama za konektore i 5V regulatorom.

Priložio sam fritzig shemu tako da će stvari biti jednostavne. Prva slika predstavlja izvezenu sliku sheme, a priložio sam i sketch.fzz (originalna datoteka, možete je otvoriti ovim alatom)

Koraci lemljenja:

1. izrežite ženske PCB konektore, postoje dva 12 -pinska konektora za mikrokontroler, tu je i 6 -pinski konektor za bluetooth te još 12 pinski konektori na desnoj strani mikrokontrolera i dvo -pinski konektor za negativni relej i pozitivna moć

2. Nakon što su svi konektori isječeni, morate ih zalemiti na stražnjoj strani PCB -a

3. Lemite dva utična konektora KF301-2P

4. Stavite L7805CV 5V regulator na PCB. Savijte mu noge i lemite ga s druge strane, a zatim odrežite višak noža rezačem kabela

5. Lemite tranzistor NPN Tip142T i zaštitnu diodu 1N4004, odrežite višak nogu nakon

6. Lemite rezistor od 220 ohma između odgovarajućeg digitalnog pina 5 i pina osnove tranzistora

7. Lemiti deblje žice između tranzistora i utikača KF301-2P (crveno i crno kako je označeno na slikama)

8. Lemite sve crvene (+), crne (-) i bijele (signalne) tanke žice prema fritzig shemi

9. Za lemljenje muških igala na mikrokontroleru potrebna su vam dva 12 muških pina sa strane

10. Povežite svaki od odgovarajućih ženskih pinova mikrokontrolera (bolje je objašnjeno na slikama). Priključci će se izvršiti samo lemljenjem (pinovi će biti blizu)

11. Opcionalno: povećalom provjerite ima li lemljenja na kratke spojeve i provjerite jesu li žice pravilno lemljene na stražnjoj strani PCB -a, a pomoću multimetra (postavka otpora) možete provjeriti postoji li kratki spoj između pozitivnog i negativne veze. Još jedan test je napajanje kruga bez mikrokontrolera, bluetootha

12. Postavite mikrokontroler i HC-05 bluetooth na PCB

Korak 4: Ožičenje i montaža

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

Do sada smo već pripremili svoju tiskanu ploču, našu plastičnu kutiju, ožičene kablove i ostale komponente. Sve što sada trebamo učiniti je ožičiti sistem.

1. kroz gornju bočnu rupu u kutiji umetnite AC kabel za napajanje, odvojite kabel i lemite ga na izvor napajanja (ako vaš izvor napajanja ima vijke, zavrnite ga)

2. pomoću lemljenja crvene žice izlaz (+) napajanja na jednu od strana osigurača, upotrijebite malo termoskupljajuće cijevi da sakrijete otkrivenu ogoljenu žicu.

3. lemite drugu crvenu žicu na drugu stranu osigurača, nanesite skupljajuću cijev, drugu stranu žice treba umetnuti i uvrnuti u ulaz (+) vijčanog priključka KF301-2P

4. lemite crnu žicu na izlaznu (-) stranu napajanja i zatim je pričvrstite na PCB ulaz KF301-2P vijčani konektor

4. Pomoću muško-ženskih konektora za matičnu ploču spojite pozitivni i negativni relej na pozitivne i negativne ženske konektore. Povežite i pinove 8 i 9 mikrokontrolera (pomoću matičnih konektora za PCB lijevo od PCB -a) na pinove okidača releja

5. spojite jednu stranu bloka stezaljki s crvenim, odnosno crnim žicama koje dolaze iz ženskih 5,5 mm DC utikača za napajanje. Ako imate više od jednog ženskog konektora od 5,5 mm, kao i ja, tada će sve crvene žice završiti u gornjoj lijevoj strani priključnog bloka, a sve crne žice u gornjoj desnoj strani priključnog bloka (pogledajte slike). Kad ćete upravljati zavjesama ako se ne kreću u istom smjeru, ovdje ćemo preokrenuti žice (više o tome kasnije)

6. spojite pozitivnu i negativnu žicu koja dolazi iz KF301-2P (vanjskog) konektora s vijcima na sredine kontakata releja. Sredine priključaka nazivaju se uobičajenim.

7. spojite lijevu stranu lijevog releja (nije važno kako ste okrenuti uistinu) na lijevu stranu desnog releja na donju lijevu stranu priključnog bloka. Zatim spojite desnu stranu lijevog releja na desnu stranu desnog releja na donju desnu stranu priključne ploče. Priključni blok će imati gornju stranu spojenu na ženske 5,5 mm konektore (vidi korak 5).

Napomena: Opisao sam priključni blok kao da gornja i donja strana imaju lijevu i desnu stranu. Nije važno kako držite terminalni blok sve dok se sjećate koja je strana. Možete provjeriti slike, a posebno fritzig shemu.

Korak 5: Arduino kod

Arduino kod
Arduino kod

Kôd je potrebno učitati na arduino pro mini koristeći USB na serijski FTDI adapter FT232RL.

Morat ćete spojiti GND, VCC, Rx, Tx i DTR pin na arduino pro mini. Zatim otvorite arduino softver, odaberite alate/port i bilo koji port koji koristite. Zatim Alati/Ploča/Arduino Pro ili Pro Mini. Zatim Alati/Ploča/Procesor/ATmega328 (5V 16Mhz).

Na kraju otvorite skicu ispod i pritisnite upload.

Podešavanja: Jedino što se može skicirati na skici je pwmPower. Vrijednost može biti između 0 i 255 i otprilike predstavlja koliko će snage napajanja ići motorima za zavjese. To je u osnovi brzo uključivanje i isključivanje napajanja. Implementirao sam ga uglavnom kako bi mi omogućio korištenje manjeg napajanja bez pregrijavanja ili gašenja. Ako vaše napajanje ima veću snagu nego što motori troše, možete postaviti pwmPower na 255.

Dakle, kako ovaj program funkcionira: prvo sluša serijsku liniju (sekundarnu softversku seriju) za dolazne prijenose. Kada stigne prijenos, poruka se čita u međuspremniku sve do ";" je prisutan ili je dosegnut kraj bafera. Zatim se raščlanjuje i ako je u ispravnom formatu (npr.: O45;) funkcija toggleState se poziva s prvim stanjem parametra, a zatim trajanjem.

Da bi se postigao prekidač polariteta, oba releja su otvorena ili zatvorena. Tranzistor se uključuje i isključuje pomoću PWM -a na određeno vrijeme. O45 će značiti otvoren 45 sekundi.

Nakon izvršavanja naredbe, međuspremnik se briše.

Korak 6: Upotreba

Upotreba
Upotreba
Upotreba
Upotreba
Upotreba
Upotreba

Kontrole možemo koristiti na više načina

1. Putem android ili iphone bluetooth aplikacije (najjednostavnije)

U svom demo izdanju odabrao sam Android aplikaciju koja se zove Bluetooth Controller. Ova vam aplikacija omogućuje prilagodbu gumba koji će slati serijske podatke. Napravio sam dva dugmeta zvana Gore i Dolje, povezao sam Gore sa kodom "C40;" i dolje sa "O35;".

"C40;" znači da ću zatvoriti (povući) sjenila na 40 sekundi, "035" znači da ću se otvoriti (idu gore) 35 sekundi. ";" je terminator naredbe koji sam odabrao na skici, to znači da signalizira kraj naredbe.

2. Putem python skripte koja se neprestano izvodi u pozadini

Ovo je napredni dio vodiča. Imam mande python skriptu koja će se izvoditi na serveru poput maline pi ili laptopa sa pristupom internetu. Povezivat će se s bluetoothom na kontrolnoj kutiji i izložit će http API. API -ju se može pristupiti direktno ili putem Thingspeak -a.

Objasniću vam korak po korak šta morate da uradite

a. prva stvar je upariti bluetooth

koristit ćete bluetoothctl naredbu s konzole, unutar tipa

uključeno

može se otkriti na agentu na default-agentu poželjnom pri skeniranju na paru xx: xx: xx: xx: xx: xx (i unesite lozinku) povjerenje xx: xx: xx: xx: xx: xx (ako nema lozinke):

zatim otvorite bluetooth konfiguracijsku datoteku

vim /etc/bluetooth/rfcomm.conf

unutra ćete morati konfigurirati svoj bluetooth uređaj ovako:

rfcomm1 {

vezati da; uređaj your_bluetooth_mac_address nešto poput 97: D3: 31: 21: A0: 51; kanal 1; komentar "Veza sa mojim nijansama bt"; }

bind, ponovo pokrenite bluetooth usluge

sudo rfcomm bind allsudo /etc/init.d/bluetooth ponovno pokretanje sudo hciconfig hci0 up

b. instaliraj bocu, osnovna autorizacija flaska:

sudo -H pip install Flask Flask -BasicAuth

c. kreirajte datoteku server.py sa sljedećim kodom i pokrenite server:

# upotreba: python httpToBluetooth lozinka korisničkog imena bluetooth_address

# Napomena: koriste se korisničko ime, lozinka

uvoz os, bluetooth, sys, threading

iz flask import Flask from flask_basicauth import BasicAuth iz reda uvoza 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) klasa BluetoothBackground (threading. Thread): def _init _ (self, bluetooth_address, queue): threading. Thread._ init _ (self) self._ bluetooth_address = bluetooth_address self._ red za čekanje = queue = red čekanja Lažno def run (self): self._ bluetooth = self.get_bluetooth () dok nije 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) try: connection.connect ((self._ bluetooth_address, 1)) osim Exception, e: print 'Greška pri povezivanju s bluetoothom' + str (e) veza.setblocking (False) vraća klasu veze 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 (command): queue.put (naredba) return 'ok' threads = threads.append (BluetoothBackground (konfiguracija [3], red)) threads.append (Webserver ()) [thread.start () za nit u nitima]

za pokretanje servera izvršite:

python server.py lozinka korisnika 97: D2: 31: 20: A0: 51

U redu, dakle server.py je naša skripta, korisnik i lozinka su vjerodajnice koje se koriste za vašu autentifikaciju, a "97: D2: 31: 20: A0: 51" je vaša bluetooth MAC adresa.

d. koristite svoj server za slanje naredbi sa bilo kojeg mjesta na svijetu

iz preglednika unesite: https:// your_ip: 5000/send_to_serial/C30;

- unesite korisnika i lozinku koje ste postavili ranije prilikom pokretanja python servera

- "C30;" je naredba koja će se proslijediti na bluetooth uređaj (naš okvir koji će kontrolirati nijanse)

- provjerite da vaš zaštitni zid ne blokira port 5000 (koristimo taj port)

- ako ste iza usmjerivača (na primjer malina pi), morate napraviti prosljeđivanje porta s usmjerivača s priključka 5000 na port 5000

e. možete koristiti thingspeak da radite stvari poput kontrole nijansi u vremenskom rasporedu ili kada se promijene neki podaci senzora kanala. Na primjer, mogli biste spojiti svjetlosni senzor (izvana) na vrhunac razmišljanja, a kada nivo svjetlosti padne na neku količinu (veče je), možete zatvoriti sjenila tako da vas ljudi izvana ne vide.

Možete povezati nijanse (python server koji smo ranije postavili) sa thingspeak -om koristeći ThingHTTP.

Uključio sam sliku ThingHTTP obrasca sa podacima popunjenim kao primjer i sliku sa TimeControl -om. Dakle, za maksimalnu fleksibilnost thingspeak bi trebao učiniti sve što vam treba.

3. Putem moje aplikacije za kućnu automatizaciju

Ovo je malo kompliciranije, moja aplikacija za kućnu automatizaciju čini puno više od kontrole nijansi.

On također kontrolira svjetla, vrata, ima više senzora, integrira se sa prekidačima i ima složena pravila koja definiraju korisnici koja mogu, na primjer, otvoriti zavjese ako je unutrašnji nivo svjetlosti nizak ili je jutro.

Možete provjeriti moje github spremište, a ako imate pitanja, rado ću vam odgovoriti.

Ako vam je moj vodič bio koristan, podijelite ga ili ga dodajte u favorite. I ja želim vidjeti neke zanimljive komentare:)

Preporučuje se: