Sisukord:

Automatiseeritud Windowsi varjundid: 6 sammu (piltidega)
Automatiseeritud Windowsi varjundid: 6 sammu (piltidega)

Video: Automatiseeritud Windowsi varjundid: 6 sammu (piltidega)

Video: Automatiseeritud Windowsi varjundid: 6 sammu (piltidega)
Video: ZEITGEIST: MOVING FORWARD | OFFICIAL RELEASE | 2011 2024, Juuli
Anonim
Image
Image
Automatiseeritud Windowsi varjundid
Automatiseeritud Windowsi varjundid
Automatiseeritud Windowsi varjundid
Automatiseeritud Windowsi varjundid

Sõna ees

Olen näinud palju õpetusi käsitsi varjundite ja ruloode automatiseerimiseks, selles me automatiseerime elektrilised toonid. Me käsitleme elektrivärve, mida juhivad pideva voolu (DC) elektrimootorid, mis avanevad või sulguvad, muutes voolu polaarsust.

Kuigi kui ostate elektrilisi toone, saate mõne automaatika, on põhjust seda ise teha, näiteks:

* nende lähedal võib olla ainult lüliti üles/alla juhtimiseks

* see on odavam (mõned ettevõtted pakuvad täiustatud automatiseerimist paljude lisatasude eest)

* paindlikum, saate programmeerida neid erinevatel asjaoludel avama või sulgema, õpime pythonis veebiserveri loomist, mis ühendab varjundite Bluetooth -liidesega, ja paljastame varjundite juhtimiseks API, samuti integreerime seda asjade kõnega ja seal saate teha selliseid asju nagu ajagraafiku varjundite juhtimine või anduri sisendi kaudu juhtimine

See on vahepealne õpetus, vajate selliseid oskusi nagu jootmine, arduino programmeerimine, elementaarne elektrooniline arusaam ja mõned teenuste serverisse installimise, nende käitamise ja konfigureerimise osad.

Kui teile meeldisid YouTube'i videod, saate siin tellida.

Samm: vajalikud asjad

Nõutavad asjad
Nõutavad asjad
Nõutavad asjad
Nõutavad asjad

Näpunäide: suurendage pilte, et näha nende kirjeldavaid silte

Osad:

1. arduino pro mini 16Mhz 5V tüüp (eBay) 2 $

2. Bluetooth-moodul HC-05 (eBay) 3,3 dollarit

3. 5 V Kahe kanaliga releed (eBay) 1,6 $

4. NPN -transistor, mis on hinnatud vähemalt mõnele võimendile, olen kasutanud Tip142T <1 $

5. 220 oomi, 0,25 W takisti <1 $

6. diood, 1N4004 <1 $

7. juhtmed osade ühendamiseks <1 $

8. PCB (eBay) <1 $ tüki kohta

9. 2 x KF301-2P pistik kruvipistikus (eBay) <1 $ tüki kohta

10. mees-naine hüppaja juhtmed (eBay) 1,2 $ x 2 hunniku eest

11. L7805CV 5V regulaator (eBay) <1 $ tükk

12. 5,5 mm alalisvoolu toitepistiku pistikupesa mees ja naine (eBay) <1 $ tükk

13. Termokahanev toru või isoleerlint

14. Toide, toide peab olema 12V ja 2-3A.

Olen päästnud oma 12 V 2 A laadijast (eBay) 3,2 dollarist

14. Klemmliistude plokk (eBay) 15c

15. kaitsmehoidja (Aliexpress) 1 $ tükk

16. kaitse (eBay) <1 $ tükk

17. meessoost ja naissoost PCB -pistikud (eBay) <1 $ selle eest, mida vajame

18. Vahelduvvoolu toitekaabel

19. plastkarbikarp, minu oma oli 6 x 19 cm

Tööriistad:

1. Jootekolb joodisega

2. Traadi lõikur

3. Erinevad kruvikeerajad

4. Lõikur

5. jõutrell ja 8,5 mm puur

6. USB -seeria FTDI -adapter FT232RL arduino pro mini programmeerimiseks

7. Sülearvuti, kuhu on paigaldatud arduino programmeerimiseks ArduinoIDE

8. Kergem, kui kasutate termokahanevat toru

9. Nutitelefon, mis on võimeline Bluetooth -ühenduse loomiseks (näites kasutan androidi), millele on installitud Bluetooth -tarkvara

10. Valikuline: suurendusklaas, multimeeter, tangid

2. etapp: Ettevalmistused

Ettevalmistused
Ettevalmistused
Ettevalmistused
Ettevalmistused
Ettevalmistused
Ettevalmistused

Toiteallika ja plastkarbi valimine

Esimene asi on kindlaks teha, kui palju voolu ja millist pinget tooni mootorid töötavad.

Seda saab teha, lugedes spetsifikatsioone või mõõtes multimeetrit. Tavaliselt töötavad nad 12 V ja 1-3 amprit (minu oma on 2,5 A ja 12 V). Maksimaalse vajaliku voolu väljaselgitamiseks korrutage vool, kui palju neist peate üheaegselt sõitma (mina sõidan kahega). Peaksite leidma täpselt sama pingega toiteallika ja ideaaljuhul sama või mõnevõrra suurema voolutugevuse.

Selles etapis olen natuke petnud, kasutades 12 V ja 2,5 A toiteallikat kahe 12 V ja 2,5 A mootori juhtimiseks, mis tähendab, et mootorid kasutavad kaks korda rohkem energiat kui toiteallikas suudab anda. Kuid kasutades tehnikat nimega PWM (vaadake linki, et näha rohkem üksikasju), olen suutnud mootorit samaaegselt madalama kiirusega juhtida.

Põhjus, miks ma seda tegin, on kasti ruumi kokkuhoid (valisin väiksema kasti).

Plastkorpuses peab olema toiteallikas, kaks releed, väike trükkplaat koos elektroonika ja juhtmetega, nii et valige suurus nii, et kõik sobiks.

Minu toiteplokil oli plastkorpus, mille olen dremeli tööriista abil lahti rebinud, olen katkestanud olemasolevad juhtmed ja sel moel on minu projekti jaoks sobiv odav ja väike toiteallikas (vt pilte).

Valmistage ette mootori kaablid

Peate arvutama, kui pikad on mootorikaablid, st kuni nad jõuavad juhtplokki, mida me kiusame. Võimalik, et olemasolevad kaablid ei ole piisavalt pikad ja peate need pikendama, eemaldama mõlemad juhtmed (olemasoleva labade kaabli ja pikendusjuhtmed) ühest otsast, panema termokahanevad torud, jootma juhtmed ja seejärel soojendama isoleerida kergem.

Pikendusjuhtme otsas on isane 5,5 mm alalisvoolu pistikupesa. Peate kaks juhtmest pistikupessa jootma, lõpptulemus on selline nagu piltidel.

Naissoost 5,5 mm alalisvoolu pistikupesa sisestamine kasti

Puurige puurmasina abil kaks auku, mis on piisavalt suured tungraua libisemiseks. Sisestage toitepistikupesad, keerake mutreid. Seejärel jootke paksud mustad ja punased juhtmed iga pistikupesa sisendisse, seejärel isoleerige need termokahaneva toruga. Juhtmed peaksid olema piisavalt pikad, et hõlpsasti klemmliistuplokki siseneda, kuid mitte liiga kaua, et need liiga palju ruumi hõivata.

Kaitsmehoidja kinnitamine kaitsmega

Karbi ühele küljele puurige väike auk, et panna väike mutter, mis hoiab kaitsmehoidjat paigal. Seejärel keerake see tangide, kruvikeeraja ja mutri abil kindlalt oma kohale. Kaitsmehoidik peaks asuma toiteallika lähedal ja karbis. Kontrollige veel kord pilte.

Samm: trükkplaadi ehitamine elektroonika abil

PCB ehitamine elektroonika abil
PCB ehitamine elektroonika abil
PCB ehitamine elektroonika abil
PCB ehitamine elektroonika abil
PCB ehitamine elektroonika abil
PCB ehitamine elektroonika abil

Trükkplaat mahutab mikrokontrolleri, bluetooth -ühenduse, RTC -mooduli, kaitseks mõeldud dioodiga toitetranistori ja väikese rezistori, pistikute juhtmed ja 5 V regulaatori.

Lisasin fritzigi skeemi, et asjad oleksid lihtsad. Esimene pilt kujutab skemaatilist eksporditud pilti ja olen lisanud ka sketch.fzz (originaalfail, saate selle selle tööriistaga avada)

Jootmise sammud:

1. lõigake naissoost PCB -pistikud, mikrokontrolleri jaoks on kaks 12 -kontaktilist pistikut, samuti on 6 -kontaktiline pistik bluetoothi jaoks ja teine 12 -kontaktiline pistik mikrokontrolleri paremal küljel ning kahe kontaktiga pistik relee negatiivseks ja positiivset jõudu

2. Kui kõik pistikud on lõigatud, tuleb need PCB tagaküljel jootma

3. Jootke kaks pistikut KF301-2P

4. Asetage L7805CV 5V regulaator trükkplaadile. Painutage selle jalad ja jootke see teiselt poolt, seejärel lõigake üleliigsed jalad kaablilõikuriga

5. Jootage NPN Tip142T tranzistor ja kaitsediood 1N4004, lõigake üleliigsed jalad pärast

6. Jootke 220 -oomine rezistor vastava digitaalse tihvti 5 ja tranzistori aluse tihvti vahele

7. Jootke paksemad juhtmed tranzistori ja KF301-2P pistikute vahele (punane ja must, nagu need on piltidel märgitud)

8. Jootke kõik punased (+), mustad (-) ja valged (signaal) õhukesed juhtmed vastavalt fritzigi skeemile

9. Jootke isast tihvtid mikrokontrollerile vajate kahte 12 isast tihvti külgedele

10. Tehke ühendused iga mikrokontrolleri parema külje vastava tihvti vahel (seda on piltidel paremini selgitatud). Ühendused tehakse lihtsalt joodisega (tihvtid on lähedal)

11. Valikuline: luubi abil kontrollige jooteid lühiste suhtes ja kontrollige, kas juhtmed on trükkplaadi tagaküljel korralikult joodetud. Samuti saate multimeetriga (takistusseade) kontrollida, kas positiivse ja negatiivsed seosed. Teine test on vooluringi toide ilma mikrokontrollerita, bluetooth

12. Asetage mikrokontroller ja bluetooth Bluetooth-plaat

Samm: juhtmestik ja kokkupanek

Juhtmestik ja kokkupanek
Juhtmestik ja kokkupanek
Juhtmed ja kokkupanek
Juhtmed ja kokkupanek

Nüüdseks on meil trükkplaat valmis, meie plastkarp varikatuste juhtmed ühendatud ja muud komponendid ette valmistatud. Kõik, mida peame tegema, on süsteemi juhtmestamine.

1. sisestage karbi ülemise küljeaugu kaudu vahelduvvoolu toitekaabel, eemaldage kaabel ja jootke see toiteallika külge (kui teie toiteplokil on kruvid, keerake see kinni)

2. kasutades punase juhtmega joodet, mille toiteallika väljund (+) on ühe kaitsme poolel, kasutage paljastatud eemaldatud juhtme peitmiseks natuke termokahanevat toru.

3. jootke teine punane juhe sulavkaitsme teisele küljele, rakendage kokkutõmbumistoru, traadi teine pool tuleb sisestada ja kruvida kruvipistiku KF301-2P sisendisse (+)

4. jootke must juhe toiteallika väljundi (-) küljele ja keerake see seejärel trükkplaadi sisendile KF301-2P

4. Ühendage isas-emane leivaplaadi pistikute abil positiivne ja negatiivne relee PCB positiivse ja negatiivse pistikuga. Ühendage ka mikrokontrolleri tihvtid 8 ja 9 (kasutades trükkplaadi emaühendusi PCB -st vasakul) relee päästiku tihvtidega

5. ühendage klemmliistude ploki üks pool punaste, vastavalt mustade juhtmetega, mis tulevad 5,5 mm alalisvoolu pistikupesadest. Kui teil on rohkem kui üks 5,5 mm pistikupesa nagu mul, siis jõuavad kõik punased juhtmed klemmiploki vasakusse ülanurka ja kõik mustad juhtmed klemmiploki paremas ülanurgas (vt pilte)). Kui kasutate toone, kui need ei liigu samas suunas, pöörame juhtmed siin ümber (rohkem sellest hiljem)

6. ühendage positiivsed ja negatiivsed juhtmed, mis tulevad KF301-2P (välja) kruvipistikust, releeklemmide keskele. Klemmide keskosa nimetatakse tavaliseks.

7. ühendage vasaku relee vasak pool (pole vahet, kuidas te tegelikult näoga olete) parema relee vasaku küljega klemmiploki alumise vasakpoolse küljega. Seejärel ühendage vasaku relee parem pool parema releega parempoolse klemmiploki alumise parema küljega. Klemmiploki ülemine külg on ühendatud 5,5 mm sisemiste pistikutega (vt samm 5).

Märkus. Ma kirjeldasin klemmiplokki nii, et ülemine ja alumine külg on vasak ja parem. Pole tähtis, kuidas hoiate klemmiplokki, kui mäletate, milline külg on mis. Saate vaadata pilte ja eriti fritzigi skeemi.

Samm: Arduino kood

Arduino kood
Arduino kood

Kood tuleb üles laadida arduino pro minisse, kasutades USB -jada -FTDI -adapterit FT232RL.

Peate ühendama GND, VCC, Rx, Tx ja DTR kontakti arduino pro mini -ga. Seejärel avage arduino tarkvara, valige tööriistad/port ja mis tahes port, mida kasutate. Seejärel Tools/Board/Arduino Pro või Pro Mini. Seejärel Tööriistad/Tahvel/Protsessor/ATmega328 (5V 16Mhz).

Lõpuks avage allolev visand ja vajutage üleslaadimise nuppu.

Reguleerimised: Ainus asi, mida saab visandis reguleerida, on pwmPower. Väärtus võib olla vahemikus 0 kuni 255 ja see näitab ligikaudselt, kui suur osa toiteallikast läheb varjundmootoritele. Põhimõtteliselt lülitab see toite kiiresti sisse ja välja. Olen seda rakendanud enamasti selleks, et saaksin kasutada väiksemat toiteallikat ilma ülekuumenemise või väljalülitamiseta. Kui teie toiteallika võimsus on suurem kui mootorid tarbivad, saate pwmPower väärtuseks seada 255.

Niisiis, kuidas see programm töötab: kõigepealt kuulab see sissetulevate ülekannete jadaliini (sekundaarne tarkvara jada). Kui saabub edastus, loetakse sõnumit puhverduses kuni ";" on olemas või on puhver lõppenud. Seejärel analüüsitakse seda ja kui see on õiges vormingus (nt: O45;), kutsutakse funktsioon toggleState koos esimese parameetri olekuga ja seejärel kestusega.

Polaarsuslüliti saavutamiseks on mõlemad releed kas avatud või suletud. Transistor lülitatakse PWM abil määratud aja jooksul sisse ja välja. O45 tähendab avatud 45 sekundit.

Pärast käsu täitmist puhver tühjendatakse.

6. samm: kasutamine

Kasutamine
Kasutamine
Kasutamine
Kasutamine
Kasutamine
Kasutamine

Me saame juhtnuppe kasutada mitmel viisil

1. Androidi või iPhone'i Bluetooth -rakenduse kaudu (lihtsaim)

Oma demos olen valinud Androidi rakenduse nimega Bluetooth Controller. See rakendus võimaldab teil kohandada nuppe, mis saadavad seeriaandmeid. Olen loonud kaks nuppu, mida nimetatakse üles ja alla, seostan üles koodiga "C40;" ja Down koos "O35;".

"C40;" tähendab, et ma sulgen (tõmban tagasi) varjud 40 sekundiks, "035" tähendab, et avatakse (need tõusevad üles) 35 sekundiks. ";" on käsu lõpetaja, mille olen oma visandis valinud, see tähendab, et see annab märku käsu lõppemisest.

2. Pythoni skripti kaudu, mis töötab pidevalt taustal

See on õpetuse täiendatud osa. Mul on mande pythoni skript, mis töötab serveris nagu vaarika pi või Interneti -juurdepääsuga sülearvuti. See loob ühenduse juhtpaneelil oleva bluetoothiga ja paljastab http API. API -le pääseb juurde otse või asjakõne kaudu.

Selgitan samm -sammult, mida peate tegema

a. esimene asi on Bluetoothi sidumine

kasutate konsoolilt bluetoothctl käsku, sisestage tüüp

sisse lülitada

leitav agendil vaikimisi agendil, mis on seostatav skannimisel paaril xx: xx: xx: xx: xx: xx (ja sisestage parool) usaldus xx: xx: xx: xx: xx: xx (kui parooli pole):

seejärel avage Bluetoothi konfiguratsioonifail

vim /etc/bluetooth/rfcomm.conf

sees peate oma Bluetooth -seadme konfigureerima järgmiselt.

rfcomm1 {

siduma jah; seadke oma_bluetooth_mac_address midagi sellist: 97: D3: 31: 21: A0: 51; kanal 1; kommentaar "Ühendus minu toonidega bt"; }

siduda, taaskäivitage Bluetooth -teenused

sudo rfcomm siduda allsudo /etc/init.d/bluetooth taaskäivitage sudo hciconfig hci0 üles

b. paigaldage kolb, kolvi põhiõigus:

sudo -H pip install Flask Flask -BasicAuth

c. looge failiga server.py järgmise koodiga ja käivitage server:

# kasutamine: python httpToBluetooth kasutajanime parool bluetooth_address

# Märkus: kasutatakse kasutajanime, parooli

impordi os, bluetooth, sys, threading

kolbi impordist Kolb kolbist_basicauth import BasicAuth järjekorrast importimisest Järjekorra rakendus = Kolb (_ name_) configuration = sys.argv app.config ['BASIC_AUTH_USERNAME'] = configuration [1] app.config ['BASIC_AUTH_PASSWORD'] = konfiguratsioon [2] que = Järjekord () basic_auth = BasicAuth (rakendus) klass BluetoothBackground (threading. Thread): def _init _ (ise, bluetooth_address, queue): threading. Thread._ init _ (self) self._ bluetooth_address = bluetooth_address self._ queue = queue self.shutdown = Vale def run (ise): ise._ bluetooth = self.get_bluetooth (), kuigi mitte ise. Väljalülitamine: sõnum = ise._. Järjekord.get () ise._ bluetooth.saada (sõnum) ise._ bluetooth.close () def get_bluetooth (ise): ühendus = bluetooth. BluetoothSocket (bluetooth. RFCOMM) connection.settimeout (Puudub) proovige: connection.connect ((ise._ bluetooth_address, 1)) välja arvatud erand, e: prindi 'Vigaühendus Bluetoothiga' + str (e) ühendus.setblocking (False) tagastab ühenduse klassi veebiserver (threading. Thread): def run (self): port = in t (os.environ.get ('PORT', 5000)) app.run (host = '0.0.0.0', port = port, silumine = True, use_reloader = False) @app.route ("/send_to_serial/") @basic_auth.required def send_to_serial (käsk): queue.put (käsk) tagastab 'ok' threads = threads.append (BluetoothBackground (konfiguratsioon [3], järjekord)) threads.append (veebiserver ()) [thread.start () niidi jaoks niidis]

serveri käivitamiseks käivitage:

python server.py kasutaja parool 97: D2: 31: 20: A0: 51

Ok, nii et server.py on meie skript, kasutaja ja parool on teie autentimiseks kasutatud mandaadid ning "97: D2: 31: 20: A0: 51" on teie Bluetoothi MAC -aadress.

d. kasutage oma serverit käskude saatmiseks kõikjalt maailmast

brauseri tüübist: https:// teie_ip: 5000/send_to_serial/C30;

- sisestage kasutaja ja parool, mille seadistasite varem, kui käivitasite Pythoni serveri

- "C30;" on käsk, mis edastatakse bluetooth -seadmele (meie kast, mis juhib toone)

- kontrollige, kas tulemüür ei blokeeri pordi 5000 (me kasutame seda porti)

- kui olete ruuteri taga (näiteks vaarika pi), peate pordi suunama ruuterist pordist 5000 porti 5000

e. saate kasutada asjade rääkimist näiteks toonide juhtimiseks ajagraafikus või mõne kanalisensori andmete muutumisel. Näiteks võite mõtlemise kõneks haakida valgusanduri (väljas) ja kui valguse tase mõnevõrra langeb (on õhtu), saate varjud sulgeda, et inimesed väljaspool teid ei näeks.

ThingHTTP abil saate ühendada varjundid (pythoniserver, mille oleme varem seadistanud) asjade kõnega.

Olen lisanud ThingHTTP vormi pildi, mille andmed on täidetud näitena, ja pildi koos TimeControliga. Nii et maksimaalse paindlikkuse tagamiseks peaks asjade rääkimine tegema kõik, mida vajate.

3. Minu koduautomaatikarakenduse kaudu

See on natuke keerulisem, minu koduautomaatikarakendus teeb palju enamat kui toonide juhtimine.

See juhib ka tulesid, ust, sellel on mitu andurit, integreerub lülititega ja sellel on keerulised kasutaja määratletud reeglid, mis võivad näiteks avada toone, kui valguse tase on madal või kui on hommik.

Saate vaadata minu githubi hoidlat ja kui teil on küsimusi, vastan neile hea meelega.

Kui leidsite, et minu õpetus on mõnevõrra kasulik, jagage seda või lisage see lemmikute hulka. Ja ma tahan näha ka huvitavaid kommentaare:)

Soovitan: