Indholdsfortegnelse:

Automatiserede Windows Shades: 6 trin (med billeder)
Automatiserede Windows Shades: 6 trin (med billeder)

Video: Automatiserede Windows Shades: 6 trin (med billeder)

Video: Automatiserede Windows Shades: 6 trin (med billeder)
Video: Курятник для несушек своими руками за 4 дня!!! Как построить курятник! 2024, Juli
Anonim
Image
Image
Automatiserede Windows Shades
Automatiserede Windows Shades
Automatiserede Windows Shades
Automatiserede Windows Shades

Et ord forude

Jeg har set en masse tutorials om, hvordan man automatiserer manuelle skærme og persienner, godt i denne automatiserer vi elektriske skærme. Vi dækker elektriske nuancer, der drives af kontinuerlige strøm (DC) elektriske motorer, der åbner eller lukker ved at vende strømmen.

Selvom du køber elektriske skærme, får du en vis automatisering, men der er grund til at gøre automatiseringen på egen hånd som:

* du har muligvis kun en kontakt i nærheden af dem for op/ned -kontrol

* det er billigere (nogle virksomheder tilbyder avanceret automatisering til en masse ekstra $$)

* mere fleksibel, du kan programmere dem til at åbne eller lukke under forskellige omstændigheder, vi lærer om at lave en webserver i python, der vil oprette forbindelse til nuancer bluetooth -grænsefladen, og afsløre en API for at styre nuancerne, vi integrerer også det med thingspeak, og der kunne du gøre ting som at styre nuancerne på en tidsplan eller styre det via sensorindgang

Dette vil være en mellemliggende tutorial, du skal bruge færdigheder som lodning, arduino -programmering, grundlæggende elektronisk forståelse og nogle måder at installere tjenester på en server, køre og konfigurere dem.

Hvis du kunne lide youtube -videoerne, kan du abonnere her.

Trin 1: Ting påkrævet

Ting påkrævet
Ting påkrævet
Ting påkrævet
Ting påkrævet

Tip: forstør billederne for at se de beskrivende etiketter på dem

Dele:

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

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

3. 5 V To -kanals relæer (eBay) 1,6 $

4. NPN -tranzistor, der er vurderet til mindst et par ampere, jeg har brugt Tip142T <1 $

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

6. diode, 1N4004 <1 $

7. ledninger til at forbinde delene <1 $

8. PCB (eBay) <1 $ pr. Stykke

9. 2 x KF301-2P stik i skruestik (eBay) <1 $ pr. Stk

10. han-hun jumper-tråde (eBay) 1,2 $ x 2 for en flok

11. L7805CV 5V regulator (eBay) <1 $ pr stk

12. 5,5 mm jævnstrømstik Jackstik han og hun (eBay) <1 $ pr. Stk

13. Krympeslange eller isolerende tape

14. Strømforsyning, forsyningen skal være klassificeret til 12V og 2-3A.

Jeg har bjærget min fra en 12 V 2 A oplader (eBay) 3,2 $

14. Terminal strip blok (eBay) 15c

15. sikringsholder (Aliexpress) 1 $ pr stk

16. sikring (eBay) <1 $ pr. Stk

17. mandlige og kvindelige pcb -stik (eBay) <1 $ for det, vi har brug for

18. AC -strømkabel

19. plastkasse kabinet, min var 6 x 19 cm

Værktøjer:

1. Loddejern med lodning

2. Trådskærer

3. Forskellige skruetrækkere

4. Skærer

5. boremaskine og 8,5 mm bor

6. USB til seriel FTDI -adapter FT232RL til programmering af arduino pro mini

7. Bærbar computer med ArduinoIDE installeret til programmering af arduino

8. Lettere, hvis du bruger Heat Shrink Tubing

9. En smartphone, der er i stand til bluetooth -forbindelse (jeg bruger en android i eksemplet) med en bluetooth -software installeret

10. Valgfrit: forstørrelsesglas, multimeter, tang

Trin 2: Forberedelser

Forberedelser
Forberedelser
Forberedelser
Forberedelser
Forberedelser
Forberedelser

Valg af strømforsyning og plastkassen

Den første ting er at bestemme, hvor meget strøm og hvilken spænding skærmene motorer driver.

Dette kan gøres ved at læse specifikationerne eller foretage målinger ved hjælp af multimeteret. Normalt fungerer de 12 V og 1-3 ampere (mine er 2,5 A og 12 V). Multiplicer strømmen med hvor mange af dem, du skal køre samtidigt (jeg kører to) for at finde ud af den nødvendige maksimale strøm. Du bør finde en strømforsyning, der er nøjagtig den samme spænding og ideelt set den samme strømstyrke eller lidt højere.

På dette trin har jeg snydt lidt ved hjælp af en 12 V og 2,5 A strømforsyning til at drive to 12 V og 2,5 A motorer, hvilket betyder, at motorerne bruger dobbelt så meget strøm, som strømforsyningen kan give. Men ved hjælp af en teknik kaldet PWM (tjek linket for at se flere detaljer) har jeg formået at køre motoren samtidigt med en lavere hastighed.

Grunden til at jeg har gjort dette er for at spare plads i kassen (jeg har valgt en mindre kasse).

Plastkabinettet skal rumme strømforsyningen, to relæer, en lille print med elektronik og ledninger, så vælg størrelsen, så alt passer ind.

Min strømforsyning havde et plastkabinet, som jeg har revet fra hinanden ved hjælp af et dremelværktøj, jeg har klippet de eksisterende ledninger, og på denne måde har jeg en billig og lille strømforsyning, der passer til mit projekt (se billeder).

Forbered motorkablerne

Du skal beregne, hvor lange motorkablerne vil være, det vil sige, indtil de når kontrolboksen, som vi mobber. Chancerne er, at de eksisterende kabler ikke er lange nok, og du bliver nødt til at forlænge dem, fjerne begge ledninger (det eksisterende bladkabel og forlængerkabler) i den ene ende, sætte varmekrympeslanger, lodde ledningerne og påfør derefter varme med en lettere at isolere.

For enden af forlængerkablet vil der være en han -5,5 mm DC -stikstikdåse. Du skal lodde de to ledninger til stikkontakten, det endelige resultat vil være som på billederne.

Isæt den kvindelige 5,5 mm DC -stikstik i boksen

Brug boremaskinen til at bore to huller, der er store nok til, at donkraften kan glide igennem. Sæt stikkontakterne i, skru med møtrikkerne. Derefter loddes tykke sorte og røde ledninger til hver af stikdåserne, hvorefter de isoleres ved hjælp af varmekrympeslange. Ledningerne skal være lange nok til let at gå ind i klemrækkeblokken, men ikke for lange til at optage for meget plads.

Montering af sikringsholderen med sikringen

Til den ene side af kassen bores et lille hul for at sætte en lille møtrik, der holder sikringsholderen på plads. Brug derefter tangen, en skruetrækker og møtrikken til at skrue den fast på plads. Sikringsholderen skal være i nærheden af strømforsyningsstedet og skal være inde i boksen. Tjek igen billederne.

Trin 3: Opbygning af printkortet med elektronik

Opbygning af printkortet med elektronik
Opbygning af printkortet med elektronik
Opbygning af printkortet med elektronik
Opbygning af printkortet med elektronik
Opbygning af printkortet med elektronik
Opbygning af printkortet med elektronik

PCB'et vil indeholde mikrokontrolleren, bluetooth -kommunikationen, RTC -modulet, en strømtranzistor med en diode til beskyttelse og en lille rezistor, stikledninger og en 5V -regulator.

Jeg har vedhæftet fritzig -skematikken, så tingene bliver lette. Det første billede repræsenterer det eksporterede billede af skematikken, og jeg har også vedhæftet sketch.fzz (den originale fil, du kan åbne den med dette værktøj)

Lodningstrin:

1. klip de kvindelige PCB -stik, der er to 12 -polede stik til mikrokontrolleren, der er også et 6 -polet stik til bluetooth og yderligere 12 -stik på højre side af mikrokontrolleren og et to -polet stik til relæets negative og positiv kraft

2. Når alle stik er afskåret, skal der loddes på bagsiden af printkortet

3. Lod de to KF301-2P-stik

4. Sæt L7805CV 5V -regulatoren på printkortet. Bøj benene og lod det på den anden side, og skær derefter de overskydende ben med kabelskæreren

5. Lod lod NPN Tip142T -tranzistoren og beskyttelsesdioden 1N4004, skær overskydende ben efter

6. Lod den 220 ohm rezistor mellem den tilsvarende digitale pin 5 og tranzistorens base pin

7. Loddetykkere ledninger mellem tranzistoren og KF301-2P-stikket (røde og sorte som de er markeret på billederne)

8. Lod alle de røde (+), sorte (-) og hvide (signal) tynde ledninger i henhold til fritzig-skematisk

9. Lodde hanstifter på mikrokontrolleren du har brug for to 12 hanstifter på siderne

10. Lav tilslutninger mellem hver af mikrokontrollerens højre kvindelige korresponderende stifter (det forklares bedre på billederne). Forbindelserne foretages ved hjælp af loddetin (stifterne er tætte)

11. Valgfrit: med forstørrelsesglasset inspiceres lodningerne for kortslutninger, og kontrolleres om ledningerne er korrekt loddet på bagsiden af printkortet, også kan du kontrollere med multimeteret (modstandsindstilling), om der er en kortslutning mellem positiv og negative forbindelser. En anden test er at drive kredsløbet uden mikrokontrolleren, bluetooth

12. Placer mikrokontrolleren og HC-05 bluetooth på printkortet

Trin 4: Ledningsføring og samling

Ledninger og samling
Ledninger og samling
Ledninger og samling
Ledninger og samling

Nu har vi vores pcb klar, vores plastikæske klar, skærmkablerne er tilsluttet og vores andre komponenter klargjort. Alt, hvad vi skal gøre nu, er at koble systemet.

1. Sæt vekselstrømskablet gennem det øverste sidehul i boksen, fjern kablet og lod det på strømforsyningen (hvis din strømforsyning har skruer, skru det derefter)

2. ved hjælp af en rød ledning loddet output (+) af strømforsyningen til en af sikringer side, bruge en smule af varme krympeslange til at skjule den udsatte afisolerede ledning.

3. lod en anden rød ledning på den anden side af sikringen påfør krympeslange, den anden side af ledningen skal indsættes og skrues ind i indgangen (+) på KF301-2P skruestik

4. lod en sort ledning til udgangssiden (-) af strømforsyningen, og skru den derefter på PCB-indgangen KF301-2P skruestik

4. Brug male-female breadboard-stik, tilslut relæet positivt og negativt til pcb-positive og negative hunstik. Tilslut også stifterne 8 og 9 på mikrokontrolleren (ved hjælp af pcb -moderkonnektorerne til venstre for printkortet) til relæudløserstifterne

5. Slut den ene side af klemrækkeblokken til de røde henholdsvis sorte ledninger, der kommer fra de kvindelige 5,5 mm DC -stik. I har du mere end et 5,5 mm hunstik som jeg gør, så ender alle de røde ledninger i øverste venstre side af klemrækken, og alle de sorte ledninger i øverste højre side af klemrækken (se billeder). Når du betjener skærmene, hvis de ikke bevæger sig i samme retning, vender vi om ledningerne her (mere om det senere)

6. tilslut de positive og negative ledninger, der kommer fra KF301-2P (ud) skruestikket til relæterminalernes mellemstykker. Midten af terminalerne kaldes fælles.

7. tilslut venstre side af venstre relæ (det er ligegyldigt, hvordan du vender virkelig) til venstre side af højre relæ til den nederste venstre side af klemrækken. Tilslut derefter højre side af venstre relæ til højre side af højre relæ til den nederste højre side af klemrækken. Klemrækken vil have oversiden forbundet til hunstykkerne på 5,5 mm (se trin 5).

Bemærk: Jeg har beskrevet terminalblokken som at have en øvre og nedre side, der hver har en venstre og højre side. Det er ligegyldigt, hvordan du holder terminalblokken, så længe du husker, hvilken side der er hvad. Du kan kontrollere billederne og især fritzig -skematikken.

Trin 5: Arduino -koden

Arduino -koden
Arduino -koden

Koden skal uploades til arduino pro mini ved hjælp af USB til seriel FTDI -adapter FT232RL.

Du skal tilslutte GND, VCC, Rx, Tx og DTR pin til arduino pro mini. Åbn derefter arduino -softwaren, vælg værktøjer/port og den port, du bruger. Derefter Tools/Board/Arduino Pro eller Pro Mini. Derefter Værktøjer/Board/Processor/ATmega328 (5V 16Mhz).

Åbn endelig skitsen herunder, og tryk på upload.

Justeringer: Det eneste, der kan justeres i skitsen, er pwmPower. Værdien kan være mellem 0 og 255, og det repræsenterer nogenlunde, hvor meget af strømforsyningen, der går til nuancer motorer. Det er dybest set at tænde og slukke strømmen hurtigt. Jeg har implementeret det mest for at give mig mulighed for at bruge en mindre strømforsyning uden at blive overophedet eller lukke ned. Hvis din strømforsyning har en større effekt end motorerne vil trække, kan du indstille pwmPower til 255.

Så hvordan fungerer dette program: Først lytter det til serielinjen (en sekundær software -serie) for indgående transmissioner. Når der kommer en transmission, læses meddelelsen i en buffer, indtil ";" er til stede, eller slutningen af bufferen er nået. Derefter analyseres det, og hvis det er i det korrekte format (f.eks.: O45;) kaldes funktionen toggleState med den første parametertilstand, og derefter varigheden.

For at opnå polaritetskontakten åbnes eller lukkes begge relæer. Tranzistoren tændes og slukkes ved hjælp af PWM i den angivne varighed. O45 betyder åben i 45 sekunder.

Når kommandoen er udført, slettes bufferen.

Trin 6: Brug

Anvendelse
Anvendelse
Anvendelse
Anvendelse
Anvendelse
Anvendelse

Vi kan bruge kontrollerne på mere end én måde

1. Via en android eller iphone bluetooth -applikation (enklest)

I min demo har jeg valgt en Android -app kaldet Bluetooth Controller. Denne app lader dig tilpasse knapper, der sender serielle data. Jeg har oprettet to knapper kaldet Op og Ned, jeg har tilknyttet Op med koden "C40;" og Ned med "O35;".

"C40;" betyder, at jeg vil lukke (trække) nuancerne tilbage i 40 sekunder, "035" betyder, at jeg åbner (de går op) i 35 sekunder. ";" er den kommandoterminator, jeg har valgt i min skitse, betyder det, at den signalerer enden på en kommando.

2. Via et python -script, der kører kontinuerligt i baggrunden

Dette er den fremskredne del af selvstudiet. Jeg har lavet et python script, der kører på en server som en hindbær pi eller bærbar computer med internetadgang. Det vil oprette forbindelse til bluetooth på kontrolboksen, og det vil afsløre en http API. API'en kan tilgås direkte eller via thingspeak.

Jeg forklarer trin for trin, hvad du skal gøre

en. den første ting er at parre bluetooth

du bruger bluetoothctl -kommando fra konsol, indvendig type

tænd

findes på agent på standard-agent, der kan parres ved scanning på par xx: xx: xx: xx: xx: xx (og indtast adgangskode) tillid xx: xx: xx: xx: xx: xx (hvis ingen adgangskode):

Åbn derefter Bluetooth -konfigurationsfilen

vim /etc/bluetooth/rfcomm.conf

inde skal du konfigurere din bluetooth -enhed sådan:

rfcomm1 {

binde ja; enhed din_bluetooth_mac_adresse noget lignende 97: D3: 31: 21: A0: 51; kanal 1; kommentar "Forbindelse til mine nuancer bt"; }

bind, genstart bluetooth -tjenesterne

sudo rfcomm bind allsudo /etc/init.d/bluetooth genstart sudo hciconfig hci0 op

b. installer kolbe, kolbe grundlæggende godkendelse:

sudo -H pip install Flask Flask -BasicAuth

c. opret en filserver.py med følgende kode og kør serveren:

# brug: python httpToBluetooth brugernavn adgangskode bluetooth_adresse

# Bemærk: brugernavn, adgangskode bruges

import os, bluetooth, sys, threading

fra kolbeimport Kolbe fra flask_basicauth import BasicAuth fra køimport Kø -app = Kolbe (_ navn_) konfiguration = sys.argv app.config ['BASIC_AUTH_USERNAME'] = konfiguration [1] app.config ['BASIC_AUTH_PASSWORD'] = konfiguration [2] kø = Kø () basic_auth = BasicAuth (app) klasse BluetoothBackground (threading. Thread): def _init _ (self, bluetooth_address, kø): threading. Thread._ init _ (self) self._ bluetooth_address = bluetooth_address self._ kø = kø self.shutdown = Falsk def run (self): self._ bluetooth = self.get_bluetooth () mens ikke self.shutdown: message = self._ queue.get () self._ bluetooth.send (message) self._ bluetooth.close () def get_bluetooth (self): forbindelse = bluetooth. BluetoothSocket (bluetooth. RFCOMM) forbindelse.settimeout (Ingen) prøv: connection.connect ((self._ bluetooth_address, 1)) undtagen Undtagelse, e: print 'Fejltilslutning til bluetooth' + str (e) forbindelse.setblocking (Falsk) returforbindelsesklasse 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. kræves def send_to_serial (kommando): queue.put (kommando) returnerer 'ok' threads = threads.append (BluetoothBackground (konfiguration [3], kø)) threads.append (Webserver ()) [thread.start () for tråd i tråde]

for at køre serveren udføre:

python server.py brugeradgangskode 97: D2: 31: 20: A0: 51

Ok, så server.py er vores script, bruger og adgangskode er legitimationsoplysningerne, der bruges til din godkendelse, og "97: D2: 31: 20: A0: 51" er din bluetooth MAC -adresse.

d. brug din server til at sende kommandoer overalt i verden

fra browsertypen: https:// your_ip: 5000/send_to_serial/C30;

- indtast den bruger og adgangskode, du har konfigureret tidligere, da du startede pythonserveren

- "C30;" er den kommando, der vil blive videresendt til bluetooth -enheden (vores boks, der styrer nuancerne)

- Kontroller, at port 5000 ikke er blokeret af din firewall (vi bruger den port)

- hvis du står bag en router (f.eks. en hindbær pi) skal du lave en port videresendelse fra routeren fra port 5000 til port 5000

e. du kan bruge ting til at gøre ting som at styre nuancerne på en tidsplan, eller når nogle kanalsensordata ændres. For eksempel kan du tilslutte en lyssensor (udenfor) til tænketop, og når lysniveauet falder til en vis mængde (det er aften), kan du lukke nuancerne, så folk udenfor ikke ser dig.

Du kan forbinde nuancer (pythonserver, vi har konfigureret tidligere) med thingspeak ved hjælp af ThingHTTP.

Jeg har medtaget et billede af ThingHTTP -formularen med dataene udfyldt som et eksempel og et billede med TimeControl Så for maksimal fleksibilitet burde Thingspeak gøre, hvad du har brug for.

3. Via min hjemmeautomatiseringsapplikation

Dette er lidt mere kompliceret, min hjemmeautomatiseringsapplikation gør meget mere end at styre nuancerne.

Det styrer også lys, døren, har flere sensorer, integreres med kontakter og har komplekse brugerdefinerede regler, der f.eks. Kan åbne skærmene, hvis lysniveauet indeni er lavt, eller hvis det er morgen.

Du kan tjekke mit github -lager, og hvis du har spørgsmål, svarer jeg dem gerne.

Hvis du fandt min tutorial noget nyttig, kan du dele den eller tilføje den til favoritter. Og jeg vil også gerne se nogle interessante kommentarer:)

Anbefalede: