Sisällysluettelo:
- Vaihe 1: Tarvittavat asiat
- Vaihe 2: Valmistelut
- Vaihe 3: Piirilevyn rakentaminen elektroniikan avulla
- Vaihe 4: Johdotus ja kokoonpano
- Vaihe 5: Arduino -koodi
- Vaihe 6: Käyttö
Video: Automaattiset Windows -sävyt: 6 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
Sana edessä
Olen nähnyt paljon opetusohjelmia manuaalisten sävyjen ja kaihtimien automatisoinnista, ja tässä automatisoimme sähköiset sävyt. Katamme sähköiset sävyt, joita käyttävät jatkuvavirran (DC) sähkömoottorit, jotka avautuvat tai sulkeutuvat muuttamalla virran napaisuutta.
Vaikka jos ostat sähköisiä sävyjä, saat jonkin verran automaatiota, on syytä tehdä automaatio itse, kuten:
* lähelläsi voi olla vain kytkin ylös/alas -ohjausta varten
* se on halvempaa (jotkut yritykset tarjoavat edistynyttä automaatiota paljon ylimääräistä $$)
* joustavampi, voit ohjelmoida ne avautumaan tai sulkeutumaan eri olosuhteissa, opimme tekemään python -verkkopalvelimen, joka muodostaa yhteyden sävyjen bluetooth -käyttöliittymään, ja paljastamme sovellusliittymän sävyjen hallitsemiseksi. se asioiden puhumalla ja siellä voit tehdä esimerkiksi säätää sävyjä aikataulussa tai ohjata sitä anturitulon kautta
Tämä on väliohje, tarvitset taitoja, kuten juottamisen, arduino -ohjelmoinnin, perustason sähköisen ymmärryksen ja joitain palveluiden asentamista palvelimelle, niiden suorittamista ja määrittämistä.
Jos pidit youtube -videoista, voit tilata ne täältä.
Vaihe 1: Tarvittavat asiat
Vihje: suurenna kuvia nähdäksesi niiden kuvaavat tarrat
Osat:
1. arduino pro mini 16Mhz 5V tyyppi (eBay) 2 $
2. HC-05 bluetooth-moduuli (eBay) 3,3 dollaria
3. 5 V Kahden kanavan releet (eBay) 1,6 $
4. NPN -transistori, joka on mitoitettu vähintään muutamalle vahvistimelle, olen käyttänyt Tip142T <1 $
5. 220 ohmia, 0,25 W vastus <1 $
6. diodi, 1N4004 <1 $
7. johdot osien liittämiseen <1 $
8. PCB (eBay) <1 $ per kappale
9. 2 x KF301-2P-pistoke ruuviliittimeen (eBay) <1 $ / kpl
10. uros-naarasliitinjohdot (eBay) 1,2 $ x 2 nippulle
11. L7805CV 5V -säädin (eBay) <1 $ per kappale
12. 5,5 mm: n DC -virtapistokeliitäntä, uros ja naaras (eBay) <1 $ per kappale
13. Lämpökutistuva letku tai eristysteippi
14. Virtalähde, jännitteen on oltava 12V ja 2-3A.
Olen pelastanut omani 12 V 2 A laturilla (eBay) 3,2 dollaria
14. Riviliittimet (eBay) 15c
15. sulakkeenpidin (Aliexpress) 1 $ per kappale
16. sulake (eBay) <1 $ per kappale
17. uros- ja naaraspiiriliitännät (eBay) <1 $ tarvitsemastamme
18. Verkkojohto
19. muovilaatikon kotelo, minun koko oli 6 x 19 cm
Työkalut:
1. Juotin ja juotos
2. Lankaleikkuri
3. Erilaiset ruuvimeisselit
4. Leikkuri
5. sähköpora ja 8,5 mm: n poranterä
6. USB -sarja FTDI -sovitin FT232RL arduino pro minin ohjelmointiin
7. Kannettava tietokone, johon on asennettu ArduinoIDE ohjelmoimaan arduino
8. Sytytin, jos käytät lämpökutistusletkua
9. Älypuhelin, joka pystyy muodostamaan Bluetooth -yhteyden (käytän esimerkissä androidia), johon on asennettu Bluetooth -ohjelmisto
10. Valinnainen: suurennuslasi, yleismittari, pihdit
Vaihe 2: Valmistelut
Virtalähteen ja muovilaatikon valinta
Ensimmäinen asia on määrittää, kuinka paljon virtaa ja jännitettä varjomoottorit toimivat.
Tämä voidaan tehdä lukemalla tekniset tiedot tai mittaamalla yleismittarilla. Yleensä ne toimivat 12 V: n ja 1-3 ampeerin (omani ovat 2,5 A ja 12 V). Kerro nykyinen määrä kuinka monella niistä sinun on ajettava samanaikaisesti (minä ajelen kahta) selvittääksesi tarvittavan suurimman virran. Sinun pitäisi löytää virtalähde, joka on täsmälleen sama jännite ja mieluiten sama ampeeri tai hieman suurempi.
Tässä vaiheessa olen huijannut hieman käyttämällä 12 V: n ja 2,5 A: n virtalähdettä kahden 12 V: n ja 2,5 A: n moottorin käyttämiseen, mikä tarkoittaa, että moottorit käyttävät kaksi kertaa enemmän virtaa kuin virtalähde voi antaa. Mutta käyttämällä tekniikkaa nimeltä PWM (katso linkki nähdäksesi lisätietoja) olen onnistunut ajamaan moottoria samanaikaisesti pienemmällä nopeudella.
Syy, miksi olen tehnyt tämän, on säästää tilaa laatikossa (olen valinnut pienemmän laatikon).
Muovikotelossa on oltava virtalähde, kaksi relettä, pieni piirilevy elektroniikan ja johtojen kanssa, joten valitse koko niin, että kaikki mahtuu sisään.
Virtalähteessäni oli muovikotelo, jonka olen repinyt irti dremel -työkalulla, olen katkaissut olemassa olevat johdot ja tällä tavalla minulla on halpa ja pieni virtalähde, joka sopii projektiini (katso kuvat).
Valmistele moottorikaapelit
Sinun on laskettava, kuinka kauan moottorikaapelit ovat, eli kunnes ne saavuttavat ohjaamamme ohjauslaatikon. On mahdollista, että olemassa olevat kaapelit eivät ole tarpeeksi pitkiä, ja sinun on jatkettava niitä, irrotettava molemmat johdot (olemassa oleva terien kaapeli ja jatkojohdot) toisesta päästä, asetettava kutisteputket, juotettava johdot ja lämmitettävä kevyempi eristää.
Jatkokaapelin päässä on urospuolinen 5,5 mm: n tasavirtapistokeliitäntä. Sinun on juotettava kaksi johtoa pistorasiaan, lopputulos on kuten kuvissa.
Naaraspuolisen 5,5 mm: n DC -virtapistokkeen liittäminen laatikkoon
Poraa porakoneella kaksi reikää, jotka ovat riittävän suuria tunkin liukumiseen. Työnnä virtapistokkeen liittimet ja ruuvaa muttereilla. Juotos sitten paksut mustat ja punaiset johdot kuhunkin liittimeen, eristä ne sitten lämpökutistusputkella. Johtojen tulee olla riittävän pitkiä, jotta ne pääsevät helposti riviliittimeen, mutta eivät liian kauan, jotta ne vievät liikaa tilaa.
Sulakkeenpitimen kiinnitys sulakkeen kanssa
Poraa laatikon toiselle puolelle pieni reikä laittaaksesi pienen mutterin, joka pitää sulakkeenpitimen paikallaan. Ruuvaa se sitten paikoilleen pihdeillä, ruuvimeisselillä ja mutterilla. Sulakkeenpitimen tulee olla lähellä virtalähdettä ja sen sisällä. Tarkista vielä kerran kuvat.
Vaihe 3: Piirilevyn rakentaminen elektroniikan avulla
Piirilevyyn mahtuu mikro -ohjain, bluetooth -tiedonsiirto, RTC -moduuli, tehotransistori, jossa on diodi suojaamiseksi ja pieni vastus, liittimien johdot ja 5 V: n säädin.
Olen liittänyt fritzig -kaavion, jotta asiat ovat helppoja. Ensimmäinen kuva edustaa kaavion viedyä kuvaa ja olen liittänyt myös sketch.fzz (alkuperäinen tiedosto, voit avata sen tällä työkalulla)
Juotosvaiheet:
1. katkaise naaraspiirilevyn liittimet, on kaksi 12 -nastaista liitintä mikrokontrollerille, myös 6 -nastainen liitin bluetoothia varten ja toinen 12 -nastainen liitin mikrokontrollerin oikealla puolella ja kaksinapainen liitin releen negatiiviselle puolelle ja positiivista voimaa
2. Kun kaikki liittimet on leikattu, ne on juotettava piirilevyn takaosaan
3. Juotos kaksi KF301-2P-pistoliitintä
4. Aseta L7805CV 5V -säädin piirilevylle. Taivuta sen jalat ja juota se toiselle puolelle ja leikkaa sitten ylimääräiset jalat kaapelileikkurilla
5. Juotos NPN Tip142T -tranzistori ja 1N4004 -suojadiodi, katkaise ylimääräiset jalat
6. Juotos 220 ohmin vastus vastaavan digitaalisen nastan 5 ja tranzistorin perustapin väliin
7. Juotos paksummat johdot tranzistorin ja KF301-2P-pistokkeiden väliin (punainen ja musta, kuten ne on merkitty kuviin)
8. Juotos kaikki punaiset (+), mustat (-) ja valkoiset (signaali) ohuet johdot fritzig-kaavion mukaisesti
9. Juottaa urosnastat mikrokontrolleriin, tarvitset kaksi 12 urospistettä sivuille
10. Tee liitännät jokaisen mikro -ohjaimen oikeanpuoleisen naaraspuolisen vastaavan nastan välille (se selitetään paremmin kuvissa). Liitännät tehdään vain juotoksella (nastat ovat lähellä)
11. Valinnainen: tarkista suurennuslasilla juotokset oikosulkujen varalta ja tarkista, ovatko johdot oikein juotettu piirilevyn takaosaan. Voit myös tarkistaa yleismittarilla (vastusasetus), onko positiivinen ja negatiiviset yhteydet. Toinen testi on virtapiirin virta ilman mikro -ohjainta, bluetoothia
12. Aseta mikro-ohjain ja HC-05 bluetooth piirilevylle
Vaihe 4: Johdotus ja kokoonpano
Tähän mennessä meillä on piirilevy valmiina, muovilaatikko valmiina varjostinkaapelit kytkettyinä ja muut komponentit on valmistettu. Ainoa mitä meidän on nyt tehtävä, on johdottaa järjestelmä.
1. työnnä AC -virtajohto laatikon ylemmän sivureiän läpi, irrota kaapeli ja juota se virtalähteeseen (jos virtalähteessäsi on ruuvit, ruuvaa se)
2. käyttämällä punaista lankajuotosta virtalähteen lähtö (+) toiselle sulakkeen puolelle, käytä hieman kutisteputkea piilottaaksesi paljastetun kuoritun johdon.
3. juota toinen punainen lanka sulakkeen toiselle puolelle.
4. juota musta johto virtalähteen lähtöpuolelle (-) ja ruuvaa se sitten piirilevyn tuloon KF301-2P
4. Liitä uros-naaras leipälevyn liittimillä positiivinen ja negatiivinen rele piirilevyn positiivisiin ja negatiivisiin naarasliittimiin. Liitä myös mikro -ohjaimen nastat 8 ja 9 (käyttämällä piirilevyn emoliittimiä piirilevyn vasemmalla puolella) releen liipaisintappeihin
5. kytke riviliittimen toinen puoli punaisiin vastaavasti mustiin johtoihin, jotka tulevat naaraspuolisista 5,5 mm: n tasavirtapistokeliittimistä. Sinulla on enemmän kuin yksi 5,5 mm: n naarasliitin, kuten minulla, niin kaikki punaiset johdot päätyvät riviliittimen vasempaan yläreunaan ja kaikki mustat johdot riviliittimen oikeassa yläkulmassa (katso kuvat). Kun käytät sävyjä, jos ne eivät liiku samaan suuntaan, käännämme johdot täällä (lisää siitä myöhemmin)
6. Kytke KF301-2P (ulos) -ruuviliittimestä tulevat positiiviset ja negatiiviset johdot releliittimien väliin. Liittimien keskikohtaa kutsutaan yhteiseksi.
7. kytke vasemman releen vasen puoli (ei ole väliä oikealla puolella) oikean releen vasempaan reunaan riviliittimen vasempaan alareunaan. Kytke sitten vasemman releen oikea puoli oikean releen oikeaan reunaan riviliittimen oikeaan alakulmaan. Riviliittimen yläpuoli liitetään 5,5 mm: n naarasliittimiin (katso vaihe 5).
Huomautus: Olen kuvannut riviliittimen olevan ylempi ja alempi puoli, joissa molemmissa on vasen ja oikea puoli. Ei ole väliä, kuinka pidät riviliitintä niin kauan kuin muistat, mikä puoli on mikä. Voit tarkistaa kuvat ja erityisesti fritzig -kaavion.
Vaihe 5: Arduino -koodi
Koodi on ladattava arduino pro mini -laitteeseen USB -sarja -FTDI -sovittimella FT232RL.
Sinun on liitettävä GND-, VCC-, Rx-, Tx- ja DTR -nasta arduino pro mini -laitteeseen. Avaa sitten arduino -ohjelmiston työkalut/portti ja mikä tahansa käyttämäsi portti. Sitten Työkalut/Board/Arduino Pro tai Pro Mini. Sitten Työkalut/Levy/Prosessori/ATmega328 (5V 16Mhz).
Avaa lopuksi alla oleva luonnos ja paina lataa.
Säädöt: Ainoa mitä luonnoksessa voidaan säätää, on pwmPower. Arvo voi olla välillä 0 ja 255, ja se edustaa suunnilleen sitä, kuinka suuri osa virtalähteen tehosta menee varjomoottoreille. Pohjimmiltaan se kytkee virran nopeasti päälle ja pois. Olen toteuttanut sen enimmäkseen salliakseni käyttää pienempää virtalähdettä ilman ylikuumenemista tai sammumista. Jos virtalähteesi teho on suurempi kuin moottorit kuluttavat, voit asettaa pwmPower -arvon arvoon 255.
Joten miten tämä ohjelma toimii: ensin se kuuntelee sarjaliitäntää (toissijainen ohjelmistosarja) saapuville lähetyksille. Kun lähetys saapuu, viesti luetaan puskurissa, kunnes ";" on läsnä tai puskurin loppu on saavutettu. Sitten se jäsennetään ja jos se on oikeassa muodossa (esim. O45;), funktio toggleState kutsutaan ensimmäisen parametritilan ja sitten keston kanssa.
Napaisuuskytkimen saavuttamiseksi molemmat releet joko avataan tai suljetaan. Transistori kytketään päälle ja pois päältä PWM: n avulla määrätyn ajan. O45 tarkoittaa auki 45 sekuntia.
Kun komento on suoritettu, puskuri tyhjennetään.
Vaihe 6: Käyttö
Voimme käyttää säätimiä useammalla kuin yhdellä tavalla
1. Android- tai iPhone -Bluetooth -sovelluksen kautta (yksinkertaisin)
Demossani olen valinnut Android -sovelluksen nimeltä Bluetooth Controller. Tämän sovelluksen avulla voit muokata painikkeita, jotka lähettävät sarjatietoja. Olen luonut kaksi painiketta ylös ja alas, olen yhdistänyt Ylän koodiin "C40;" ja alas painamalla "O35;".
"C40;" tarkoittaa, että suljen (perunan) sävyt 40 sekunnin ajaksi, "035" tarkoittaa, että ne avautuvat (ne nousevat) 35 sekunniksi. ";" on komennon päättäjä, jonka olen valinnut luonnoksessani, mikä tarkoittaa, että se ilmaisee komennon päättymisen.
2. Python -komentosarjan kautta, joka toimii jatkuvasti taustalla
Tämä on opetusohjelman lisäosa. Minulla on mande python -skripti, joka toimii palvelimella, kuten vadelma pi tai kannettava tietokone, jolla on Internet -yhteys. Se muodostaa yhteyden ohjauslaatikon bluetoothiin ja paljastaa http -sovellusliittymän. Sovellusliittymää voi käyttää suoraan tai Thingspeakin kautta.
Selitän askel askeleelta, mitä sinun on tehtävä
a. ensimmäinen asia on yhdistää Bluetooth
käytät bluetoothctl -komentoa konsolista, kirjoita sisään
virta päälle
löydettävissä agentilla oletusagentilla, pariliitettävissä skannaukseen parilla xx: xx: xx: xx: xx: xx (ja kirjoita salasana) luottamus xx: xx: xx: xx: xx: xx (jos ei salasanaa):
avaa seuraavaksi Bluetooth -määritystiedosto
vim /etc/bluetooth/rfcomm.conf
sisällä sinun on määritettävä Bluetooth -laite seuraavasti:
rfcomm1 {
sitoa kyllä; käytä laitettasi_Bluetooth_mac_address jotain 97: D3: 31: 21: A0: 51; kanava 1; kommentti "Yhteys sävyihini bt"; }
sitoa, käynnistä Bluetooth -palvelut uudelleen
sudo rfcomm sitoa allsudo /etc/init.d/bluetooth käynnistä uudelleen sudo hciconfig hci0 ylös
b. asenna pullo, pullon perusvaltuutus:
sudo -H pip asenna Flask Flask -BasicAuth
c. luo tiedosto server.py seuraavalla koodilla ja suorita palvelin:
# käyttö: python httpToBluetooth -käyttäjänimen salasana bluetooth_address
# Huomautus: käyttäjätunnusta ja salasanaa käytetään
tuonti os, bluetooth, sys, threading
pullon tuonnista Pullo pullosta_basicauth tuonti BasicAuth jonon tuonnista Jono -sovellus = Pullo (_ name_) configuration = sys.argv app.config ['BASIC_AUTH_USERNAME'] = configuration [1] app.config ['BASIC_AUTH_PASSWORD'] = configuration [2] que = Queue () basic_auth = BasicAuth (app) luokka BluetoothBackground (threading. Thread): def _init _ (self, bluetooth_address, queue): threading. Thread._ init _ (self) self._ bluetooth_address = bluetooth_ddress self._ queue = jono self.shutdown = Väärä def run (self): self._ bluetooth = self.get_bluetooth () kun ei itse. Sammutus: message = self._ queue.get () self._ bluetooth.send (message) self._ bluetooth.close () def get_bluetooth (self): yhteys = bluetooth. BluetoothSocket (bluetooth. RFCOMM) connection.settimeout (Ei mitään) kokeile: connection.connect ((itse._ bluetooth_address, 1)) paitsi Poikkeus, e: tulosta 'Virheyhteys Bluetoothiin' + str (e) -yhteys.setblocking (False) palauttaa yhteysluokan 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 (komento): jono.put (komento) palauta 'ok' threads = threads.append (BluetoothBackground (kokoonpano [3], jono)) threads.append (Webserver ()) [thread.start () lankojen kierteissä]
suorita palvelin suorittamalla:
python server.py -käyttäjän salasana 97: D2: 31: 20: A0: 51
Ok, joten server.py on skriptimme, käyttäjä ja salasana ovat todennuksessasi käytetyt kirjautumistiedot ja "97: D2: 31: 20: A0: 51" on bluetooth -MAC -osoitteesi.
d. käytä palvelinta komentojen lähettämiseen mistä päin maailmaa tahansa
selaintyypistä: https:// your_ip: 5000/send_to_serial/C30;
- kirjoita käyttäjä ja salasana, jotka olet määrittänyt aiemmin, kun käynnistit python -palvelimen
- "C30;" on komento, joka välitetään Bluetooth -laitteelle (laatikkomme, joka ohjaa sävyjä)
- tarkista, ettei palomuuri estä porttia 5000 (käytämme kyseistä porttia)
- jos olet reitittimen takana (esimerkiksi vadelmapi), sinun on tehtävä portin edelleenlähetys reitittimestä portista 5000 porttiin 5000
e. Voit käyttää asioita puhumalla esimerkiksi säätääksesi sävyjä aikataulussa tai kun jotkin kanavatunnistimen tiedot muuttuvat. Voit esimerkiksi kytkeä valoanturin (ulkopuolelle) ajatteluun ja kun valotaso laskee jonkin verran (on ilta), voit sulkea sävyt niin, että ulkopuoliset eivät näe sinua.
Voit yhdistää sävyt (aiemmin määrittämämme python -palvelin) asioiden puhumiseen ThingHTTP: n avulla.
Olen lisännyt kuvan ThingHTTP -lomakkeesta esimerkkinä täytetyillä tiedoilla ja kuvan TimeControl -toiminnolla.
3. Kotiautomaatio-sovelluksen kautta
Tämä on hieman monimutkaisempaa, kotiautomaatio-sovellukseni tekee paljon muutakin kuin sävyjen hallintaa.
Se ohjaa myös valoja, ovea, siinä on useita antureita, integroituu kytkimiin ja siinä on monimutkaisia käyttäjän määrittämiä sääntöjä, jotka voivat esimerkiksi avata sävyt, jos sisäinen valotaso on heikko tai jos on aamu.
Voit tarkistaa github -arkistoni, ja jos sinulla on kysyttävää, vastaan niihin mielelläni.
Jos pidit opetusohjelmaani jonkin verran hyödyllisenä, jaa se tai lisää se suosikkeihin. Ja haluan myös nähdä mielenkiintoisia kommentteja:)
Suositeltava:
Automaattiset katuvalot ultraäänianturin avulla: 3 vaihetta
Automaattiset katuvalot ultraäänianturin avulla: Oletko koskaan ajatellut, että katuvalot syttyvät automaattisesti yöllä ja sammuvat automaattisesti aamulla? Onko ketään, joka sytyttää/sammuttaa nämä valot? Katuvalot voidaan sytyttää useilla tavoilla, mutta seuraava
DIY automaattiset musiikilliset jouluvalot (MSGEQ7 + Arduino): 6 vaihetta (kuvilla)
DIY Automatic Musical Christmas Lights (MSGEQ7 + Arduino): Joten sanon joka vuosi, että aion tehdä tämän enkä koskaan ryhdy tekemään sitä, koska viivyttelen paljon. Vuosi 2020 on muutosten vuosi, joten sanon, että tämä on vuosi sen tekemiseksi. Joten toivottavasti pidät ja teet omat musiikilliset jouluvalot. Tästä tulee s
Automaattiset jouluvalot: 6 vaihetta (kuvilla)
Automaattiset jouluvalot: Tässä opetusohjelmassa näytän sinulle, kuinka rakentaa automaattisesti vilkkuvat jouluvalot, kun musiikkia toistetaan! Projektissa on kaksi osaa: sähköpiiri ja Arduino -koodi/algoritmi. Piiri toimii käyttämällä 8 -kanavaista relettä sulkeaksesi
Automaattiset kotiverhot - Mini -projekti MakerChipsin BluChip (nRF51 BLE) -moduulilla: 7 vaihetta (kuvilla)
Automaattiset kotiverhot - Mini -projekti MakerChipsin BluChip (nRF51 BLE) -moduulilla: Kuvittele, että heräät ja haluat saada auringonsäteen ikkunoistasi tai suljet verhot, jotta voit nukkua pidempään ilman vaivaa päästä lähelle verhoihin, vaan pikemminkin napin painalluksella älypuhelimessasi
Automaattiset putkikellot: 6 vaihetta (kuvilla)
Automaattiset putkikellot: Tässä ohjeessa selitetään tärkeimmät vaiheet, joita seurasin rakentaakseni ensimmäisen prototyypin sarjasta automaattisia putkikelloja, jotka rakensin vuonna 2006. Automaattiset soittimen ominaisuudet ovat: - 12 kelloa (12 putkikelloa) - Jokainen soittoääni soittaa yhden ei