Sadržaj:

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

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

Video: Automatizirane sjene za Windows: 6 koraka (sa slikama)
Video: ЛЮБОВЬ С ДОСТАВКОЙ НА ДОМ (2020). Романтическая комедия. Хит 2024, Srpanj
Anonim
Image
Image
Automatizirana sjenila za Windows
Automatizirana sjenila za Windows
Automatizirana sjenila za Windows
Automatizirana sjenila za Windows

Riječ naprijed

Vidio sam puno tutoriala 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 s kontinuiranom strujom (DC) koji se otvaraju ili zatvaraju promjenom polariteta struje.

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

* u blizini možete imati samo prekidač za kontrolu gore/dolje

* Jeftinije je (neke tvrtke 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 s thingspeak -om i tamo možete učiniti stvari poput kontrole nijansi na vremenskom rasporedu ili to kontrolirati putem ulaza senzora

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

Ako vam se svidio YouTube video, možete se pretplatiti ovdje.

Korak 1: Potrebne stvari

Potrebne stvari
Potrebne stvari
Potrebne stvari
Potrebne stvari

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

Dijelovi:

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

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

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

4. NPN tranzistor koji je 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 spajanje dijelova <1 $

8. PCB (eBay) <1 $ po komadu

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

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

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

12. Utičnica za utičnicu istosmjernog napona od 5,5 mm, muška i ženska (eBay) <1 $ po komadu

13. Termoskupljajuće cijevi ili izolacijska traka

14. Napajanje, napajanje mora biti nazivno za 12V i 2-3A.

Spasio sam svoj iz 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. AC kabel za napajanje

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

Alati:

1. Lemilica s 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. Prijenosno računalo s instaliranim ArduinoIDE -om za programiranje arduina

8. Upaljač ako koristite termoskupljajuće cijevi

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

10. Izborno: 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 sjenila.

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 s koliko ih trebate voziti istovremeno (vozim dvije) kako biste saznali najveću potrebnu struju. Trebali biste pronaći napajanje potpuno istog napona i idealno iste amperaže ili nešto 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. No, pomoću tehnike 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 napajanje, dva releja, mali PCB s elektronikom i žicama pa odaberite veličinu tako da sve stane.

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

Pripremite kabele motora

Morate izračunati koliko će dugo trajati motorni kabeli, odnosno dok ne dosegnu upravljačku kutiju koju gradimo. Velike su šanse da postojeći kabeli nisu dovoljno dugi, pa ćete ih morati produžiti, ogoliti obje žice (postojeći kabel oštrica i produžni kabel) na jednom kraju, staviti termoskupljajuće cijevi, lemiti žice i zatim zagrijavati upaljač za izolaciju.

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

Umetanje ženskog priključka za napajanje DC 5.5 mm u kutiju

Strojem za bušenje izbušite dvije rupe dovoljno velike za dizanje dizalice. 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 ulaze u blok priključnih traka, ali ne preduge da zauzimaju previše prostora.

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

S jedne strane 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 trebao bi biti 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 s diodom za zaštitu i malim rezistorima, žice za konektore i regulator od 5V.

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

Koraci lemljenja:

1. izrežite ženske konektore na PCB -u, 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 dva pinski konektor za negativni relej i pozitivna moć

2. Nakon što su svi konektori izrezani, mora se lemiti na stražnjoj strani PCB -a

3. Lemite dva utična priključka 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 220 ohmski rezistor između odgovarajućeg digitalnog pina 5 i pina 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 shemi fritzig

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. Izborno: povećalom provjerite ima li lemljenja na kratke spojeve i provjerite jesu li žice pravilno lemljene na stražnjoj strani PCB -a, također možete provjeriti multimetrom (postavka otpora) postoji li kratki spoj između pozitivnog i negativne veze. Drugi 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 sustav.

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 izloženu ogoljenu žicu.

3. lemite drugu crvenu žicu s druge strane osigurača, nanesite skupljajuću cijev, drugu stranu žice treba umetnuti i uvrnuti u ulaz (+) vijčane spojnice KF301-2P

4. lemite crnu žicu na izlaznu (-) stranu napajanja i zatim je pričvrstite na ulazni priključak KF301-2P na PCB-u

4. Pomoću muško-ženskih konektora za matičnu ploču spojite pozitivni i negativni relej na pozitivne i negativne ženske konektore na tiskanoj ploči. Također spojite 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 priključaka za istosmjerno napajanje. Ako imate više od jednog ženskog konektora od 5,5 mm kao 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) vijčanog priključka na sredine kontakata releja. Sredina priključaka naziva se zajednička.

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čnog bloka. 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 shemu fritziga.

Korak 5: Arduino kod

Arduino kod
Arduino kod

Kôd je potrebno prenijeti na arduino pro mini pomoću 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 bih mogao koristiti manje napajanje 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 radi: prvo sluša serijsku liniju (sekundarnu softversku seriju) za dolazne prijenose. Kad stigne prijenos, poruka se čita u međuspremniku sve do ";" je prisutan ili je dosegnut kraj međuspremnika. Zatim se raščlanjuje i ako je u ispravnom formatu (npr.: O45;) funkcija toggleState se poziva s prvim stanjem parametra, a zatim trajanjem.

Kako 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 gumba zvana Gore i Dolje, povezao sam Up s kodom "C40;" i Dolje s "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 poslužitelju poput maline pi ili prijenosnog računala s pristupom internetu. Povezat će se s bluetoothom na kontrolnoj kutiji i izložit će http API. API -ju se može pristupiti izravno ili putem Thingspeak -a.

Objasnit ću vam korak po korak što trebate učiniti

a. prva stvar je upariti bluetooth

koristit ćete naredbu bluetoothctl s konzole, unutar tipa

uključeno

otkriven na agentu na zadanom-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 konfiguracijsku datoteku bluetooth

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 s mojim nijansama bt"; }

bind, ponovno pokrenite bluetooth usluge

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

b. instaliraj tikvicu, osnovna autorizacija tikvice:

sudo -H pip install Flask Flask -BasicAuth

c. stvorite datotečni server.py sa sljedećim kodom i pokrenite poslužitelj:

# 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 iz 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 (aplikacija) klasa BluetoothBackground (threading. Thread): def _init _ (self, bluetooth_address, queue): threading. Thread._ init _ (self) self._ bluetooth_address = bluetooth_address self._ queue = queue = queue = queue = queue 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 iznimke, e: ispis 'Error connection to bluetooth' + str (e) connection.setblocking (False) povratna klasa 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 (naredba): queue.put (naredba) return 'ok' threads = threads.append (BluetoothBackground (konfiguracija [3], red)) threads.append (Webserver ()) [thread.start () za nit u nitima]

za pokretanje poslužitelja izvršite:

python server.py korisnička lozinka 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 poslužitelj za slanje naredbi s bilo kojeg mjesta na svijetu

iz preglednika upišite: https:// your_ip: 5000/send_to_serial/C30;

- unesite korisnika i lozinku koje ste postavili ranije pri pokretanju python poslužitelja

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

- provjerite da vaš vatrozid 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 priključak 5000

e. možete upotrijebiti thingspeak za obavljanje stvari poput upravljanja nijansama u vremenskom rasporedu ili kada se promijene neki podaci senzora kanala. Na primjer, mogli biste spojiti svjetlosni senzor (izvana) na misleći vrhunac, a kada razina svjetla padne na neku količinu (večer je), možete zatvoriti sjenila tako da vas ljudi izvana ne vide.

Nijanse (python poslužitelj koji smo već postavili) možete povezati sa stvarima pomoću ThingHTTP -a.

Uključio sam sliku ThingHTTP obrasca s podacima popunjenim kao primjer i sliku pomoću TimeControl -a Dakle, za maksimalnu fleksibilnost thingspeak bi trebao učiniti sve što trebate.

3. Putem aplikacije za kućnu automatizaciju

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

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 razina svjetla iznutra niska ili ako 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čeni: