Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-23 14:37
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
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
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
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
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
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
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:
Sistem automatske retardacije: 5 koraka
Sistem automatske retardacije: Ovaj projekat je razvijen izmjenom algoritma robota koji izbjegava objekte. Nadalje, robotom u ovom uputstvu može se upravljati putem pametnog telefona putem Bluetootha
Automatske LED stepenice "Bloody Red" na bazi Arduina: 5 koraka (sa slikama)
Automatske LED stepenice "Bloody Red" na bazi Arduina: ŠTA? Zdravo! Napravio sam krvave LED stepenice! To je novi Instructables koji koristi neku hardversku instalaciju koju sam već obavio iz prethodnog mog. Napravio sam CRVENU animaciju koja podsjeća na kapi krvi, savršenu za automatsko aktiviranje tokom
Kutija svjetlosne sjene: 5 koraka
Light Shadow Box: Jeste li ikada poželjeli da slika oživi i da joj date 3D izgled? Pa upravo to radi kutija sa svijetlim sjenama. Ovaj projekt vam omogućuje da oživite bilo koju sliku pejzaža s različitim slojevima papira osvijetljenim svjetlom
Automatske kućne zavjese - Mini projekt s MakerChips -ovim BluChip (nRF51 BLE) modulom: 7 koraka (sa slikama)
Automatske kućne zavjese - Mini projekt s MakerChips -ovim modulom BluChip (nRF51 BLE): Zamislite da se probudite i želite prozračiti sunčev zrak kroz prozore ili zatvorite zavjese kako biste mogli dalje spavati, bez napora da se približite do zavjesa, već pritiskom na dugme na vašem pametnom telefonu
Onemogućavanje automatske reprodukcije na USB-u i CD-pogonu u operativnom sistemu Windows XP: 6 koraka
Onemogućite automatsku reprodukciju na USB-u i CD-pogonu u operativnom sistemu Windows XP: Virusi se lako šire putem USB fleš diskova. Virusi koji se prenose na ovaj način stvaraju se na način da se automatski pokreću (automatski aktiviraju) kada su priključeni na računalo koje radi ili kada se pogon otvori (klik ili dvostruki cl