Indholdsfortegnelse:
- Trin 1: Ting påkrævet
- Trin 2: Forberedelser
- Trin 3: Opbygning af printkortet med elektronik
- Trin 4: Ledningsføring og samling
- Trin 5: Arduino -koden
- Trin 6: Brug
Video: Automatiserede Windows Shades: 6 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
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
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
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
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
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
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
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:
RGB LED Pixel Shades: 17 trin (med billeder)
RGB LED Pixel Shades: Hej alle sammen, i denne Instructable vil jeg vise dig, hvordan du laver et par LED pixel nuancer. Oprindeligt skabte jeg disse til at bære rundt i huset i julen / nytåret, som et mobilt ornament, men de endte med at blive lidt mere cyberpunk
Enkleste automatiserede RoboSumo: 4 trin
Simplest Automated RoboSumo: Robot-sumo, er en sport, hvor to robotter forsøger at skubbe hinanden ud af en cirkel (på samme måde som sumosporten). De robotter, der blev brugt i denne konkurrence, kaldes sumobots
Rob den automatiserede robot: 10 trin (med billeder)
Rob the Automated Robot: Denne instruerbare blev oprettet for at opfylde projektkravet på Makecourse ved University of South Florida (www.makecourse.com) .I denne tutorial lærer du, hvordan du laver en fuldautomatisk robot ved navn Rob, der er udstyret med sans
Automatiserede julelys: 6 trin (med billeder)
Automatiserede julelys: I denne instruktør viser jeg dig, hvordan du bygger automatisk blinkende julelys, når der spilles musik! Projektet har to dele: det elektriske kredsløb og Arduino -koden/algoritmen. Kredsløbet fungerer ved at bruge et 8 -kanals relæ til at lukke
Automatiserede hjemmegardiner - Mini -projekt med MakerChips’BluChip (nRF51 BLE) -modul: 7 trin (med billeder)
Automatiserede hjemmegardiner - Mini -projekt med MakerChips 'BluChip (nRF51 BLE) -modul: Forestil dig at vågne op og have lyst til at få en solstråle gennem dine vinduer eller lukke gardinerne, så du kan sove videre uden at skulle komme dig tæt på til gardinerne, men snarere med et tryk på en knap på din smartph