INHOUDSOPGAWE:

Outomatiese vensters: 6 stappe (met foto's)
Outomatiese vensters: 6 stappe (met foto's)

Video: Outomatiese vensters: 6 stappe (met foto's)

Video: Outomatiese vensters: 6 stappe (met foto's)
Video: KIJK MEE MET DE AMBULANCE DIENST! - TOPDOKS HULPDIENSTEN 2024, November
Anonim
Image
Image
Outomatiese Windows -skakerings
Outomatiese Windows -skakerings
Outomatiese Windows -skakerings
Outomatiese Windows -skakerings

'N Woord vorentoe

Ek het baie tutoriale gesien oor hoe om handskerms en blindings te outomatiseer, maar in hierdie een sal ons elektriese skakerings outomatiseer. Ons behandel elektriese skakerings wat deur 'n deurlopende stroom (GS) elektriese motors uitgevoer word wat oop- of toemaak deur die polariteit van die stroom om te draai.

Alhoewel u outomatiese outomatiese skakerings kry, is daar 'n rede waarom u dit outomaties kan doen, soos:

* U het moontlik slegs 'n skakelaar naby u om op/af te beheer

* dit is goedkoper (sommige ondernemings bied gevorderde outomatisering vir baie ekstra $$)

* meer buigsaam; u kan dit onder verskillende omstandighede oopmaak of toemaak; ons leer meer oor die maak van 'n webbediener in python wat aansluit by die Bluetooth -koppelvlak, en 'n API blootstel om die skakerings te beheer; ons sal ook integreer dit met thingspeak en daar kan u dinge doen soos om die skakerings op 'n tydskedule te beheer of dit via sensorinvoer te beheer

Dit sal 'n tussentydse tutoriaal wees; u benodig vaardighede soos soldeer, arduino -programmering, basiese elektroniese kennis en 'n paar instruksies oor hoe om dienste op 'n bediener te installeer, te bestuur en te konfigureer.

As u van die YouTube -video's hou, kan u hier inteken.

Stap 1: Vereiste dinge

Dinge benodig
Dinge benodig
Dinge benodig
Dinge benodig

Wenk: vergroot die prente om die beskrywende etikette daarop te sien

Dele:

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

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

3. 5 V Twee kanaal relais (eBay) 1,6 $

4. NPN tranzistor wat vir ten minste 'n paar versterkers gegradeer is, ek het Tip142T <1 $ gebruik

5. 220 ohm, 0.25W resistor <1 $

6. diode, 1N4004 <1 $

7. drade om die onderdele <1 $ aan te sluit

8. PCB (eBay) <1 $ per stuk

9. 2 x KF301-2P prop in skroefaansluiting (eBay) <1 $ per stuk

10. man-vroulike jumperdrade (eBay) 1,2 $ x 2 vir 'n klomp

11. L7805CV 5V -reguleerder (eBay) <1 $ per stuk

12. 5,5 mm DC -aansluiting Jack -aansluiting manlik en vroulik (eBay) <1 $ per stuk

13. Krimp buis of isolasieband

14. Kragtoevoer, die toevoer moet 12V en 2-3A wees.

Ek het myne gered van 'n 12 V 2 A laaier (eBay) 3.2 $

14. Terminal strip blok (eBay) 15c

15. lonthouer (Aliexpress) 1 $ per stuk

16. lont (eBay) <1 $ per stuk

17. manlike en vroulike pcb -aansluitings (eBay) <1 $ vir wat ons nodig het

18. Wisselstroomkabel

19. plastiek boks omhulsel, myne was 6 x 19 cm

Gereedskap:

1. Soldeerbout met soldeer

2. Draadsnyer

3. Verskeie skroewedraaiers

4. Snyer

5. kragboor en 8,5 mm boorpunt

6. USB na seriële FTDI -adapter FT232RL om die arduino pro mini te programmeer

7. Skootrekenaar met ArduinoIDE geïnstalleer om die arduino te programmeer

8. Ligter as u Heat Shrink Tubing gebruik

9. 'n Slimfoon wat 'n Bluetooth -verbinding kan gebruik (ek gebruik 'n Android in die voorbeeld) met 'n Bluetooth -sagteware geïnstalleer

10. Opsioneel: vergrootglas, multimeter, tang

Stap 2: Voorbereidings

Voorbereidings
Voorbereidings
Voorbereidings
Voorbereidings
Voorbereidings
Voorbereidings

Kies die kragtoevoer en die plastiekboks

Die eerste ding is om te bepaal hoeveel stroom en watter spanning die skakermotors werk.

Dit kan gedoen word met die lees van die spesifikasies of metings met behulp van die multimeter. Gewoonlik werk hulle 12 V en 1-3 Ampere (myne is 2,5 A en 12 V). Vermenigvuldig die stroom met hoeveel van hulle wat u gelyktydig moet ry (ek ry twee) om die maksimum benodigde stroom uit te vind. U moet 'n kragtoevoer vind wat presies dieselfde spanning het en verkieslik dieselfde stroom of effens hoër.

In hierdie stap het ek 'n bietjie bedrieg deur 'n 12 V en 2,5 A kragtoevoer te gebruik om twee 12 V en 2,5 A motors aan te dryf, wat beteken dat die motors twee keer soveel krag gebruik as wat die kragtoevoer kan lewer. Maar met behulp van 'n tegniek genaamd PWM (kyk na die skakel om meer besonderhede te sien) het ek daarin geslaag om die motor gelyktydig teen 'n laer spoed te bestuur.

Die rede waarom ek dit gedoen het, is om ruimte in die boks te bespaar (ek het 'n kleiner boks gekies).

Die plastiekomhulsel moet die kragtoevoer, twee relais, 'n klein PCB met elektronika en drade huisves, kies dus die grootte sodat alles inpas.

My kragtoevoer het 'n plastiekomhulsel wat ek met 'n dremel -instrument uitmekaar geskeur het, ek het die bestaande drade afgesny en op hierdie manier het ek 'n goedkoop en klein kragtoevoer wat geskik is vir my projek (sien foto's).

Berei die motorkabels voor

U moet bereken hoe lank die motorkabels sal wees, dit is totdat hulle die bedieningsboks bereik wat ons aanstoot. Die kans is groot dat die bestaande kabels nie lank genoeg is nie, en u moet dit verleng, beide drade (die bestaande lemmetjieskabel en die verlengkabels) aan die een kant verwyder, hitte krimpbuise plaas, die drade soldeer en dan hitte toepas met 'n ligter om te isoleer.

Aan die einde van die verlengkabel sal daar 'n 5,5 mm DC -aansluiting vir 'n DC -aansluiting wees. U moet die twee drade aan die voetstuk soldeer, die uiteindelike resultaat sal soos op die foto's lyk.

Steek die vroulike 5,5 mm DC -aansluiting in die boks

Boor twee gate wat groot genoeg is om die domkrag deur die boormasjien te gebruik. Steek die kragproppe in, skroef vas met die moere. Soldeer dan dik swart en rooi drade aan elkeen van die ingange, en isoleer dit dan met behulp van 'n krimpbuis. Die drade moet lank genoeg wees om maklik in die eindstrookblok in te gaan, maar nie te lank om te veel ruimte in beslag te neem nie.

Bevestig die lonthouer met die lont

Boor 'n klein gaatjie aan die een kant van die boks om 'n klein moer te plaas wat die lonthouer in plek hou. Skroef dit dan vas met 'n tang, 'n skroewedraaier en die moer. Die lonthouer moet naby die plek van die kragtoevoer wees en moet in die boks wees. Kyk weer na die foto's.

Stap 3: Bou die PCB met elektronika

Die bou van die PCB met elektronika
Die bou van die PCB met elektronika
Die bou van die PCB met elektronika
Die bou van die PCB met elektronika
Die bou van die PCB met elektronika
Die bou van die PCB met elektronika

Die PCB bevat die mikrokontroleerder, die Bluetooth -kommunikasie, die RTC -module, 'n kragtransistor met 'n diode vir beskerming en 'n klein resistor, verbindingsdrade en 'n 5V -reguleerder.

Ek het die fritzig -skematika aangeheg, sodat dinge maklik sal wees. Die eerste prent verteenwoordig die uitgevoerde beeld van die skematiese en ek het ook sketch.fzz aangeheg (die oorspronklike lêer, u kan dit oopmaak met hierdie hulpmiddel)

Soldeerstappe:

1. sny die vroulike PCB -aansluitings, daar is twee 12 -pins -aansluitings vir die mikrokontroleerder, daar is ook 'n 6 -pins -aansluiting vir die bluetooth en nog 'n 12 -pins -aansluitings aan die regterkant van die mikrokontroleerder en 'n twee -pins -aansluiting vir die relais -negatiewe en positiewe krag

2. Nadat al die verbindings gesny is, moet daar aan die agterkant van die printplaat gesoldeer word

3. Soldeer die twee KF301-2P-verbindings

4. Sit L7805CV 5V -reguleerder op die printplaat. Buig sy bene en soldeer dit aan die ander kant en sny die oortollige bene met die kabelsnyer

5. Soldeer die NPN Tip142T -tranzistor en die 1N4004 -beskermingsdiode, sny die oortollige bene na

6. Soldeer die 220 ohm rezistor tussen die ooreenstemmende digitale pen 5 en die tranzistor -basispen

7. Soldeer dikker drade tussen die tranzistor en die KF301-2P-proppe (rooi en swart soos op die foto's aangedui)

8. Soldeer al die rooi (+), swart (-) en wit (sein) dun drade volgens die fritzig skematiese

9. Soldeer penne aan die mikrobeheerder, u benodig twee 12 penne aan die kante

10. Maak verbindings tussen elk van die mikrobeheerder se regte vroulike ooreenstemmende penne (dit word beter verduidelik in die foto's). Die verbindings word gemaak met net soldeer (die penne sal naby wees)

11. Opsioneel: met die vergrootglas, ondersoek die soldeersels vir kortsluitings en kyk of die drade behoorlik aan die agterkant van die printplaat gesoldeer is, en u kan met die multimeter (weerstandsinstelling) kyk of daar 'n kortsluiting is tussen positief en negatiewe verbindings. 'N Ander toets is om die stroombaan sonder die mikrobeheerder, bluetooth, aan te skakel

12. Plaas die mikrobeheerder en die HC-05 bluetooth op die kaart

Stap 4: Bedrading en montering

Bedrading en montering
Bedrading en montering
Bedrading en montering
Bedrading en montering

Teen hierdie tyd het ons ons PCB gereed, ons plastiek boks gereed, die kabels met kabels en ander komponente gereed. Al wat ons nou hoef te doen, is om die stelsel te bedraad.

1. steek die wisselstroomkabel in die bokant van die bokant aan die sykant, strook die kabel en soldeer dit aan die kragtoevoer (as u kragbron skroewe het, skroef dit dan vas)

2. Gebruik 'n rooi draad soldeer, die uitset (+) van die kragtoevoer na een van die sekuriteite, en gebruik 'n bietjie krimpbuis om die blootgestelde gestroopte draad te verberg.

3. soldeer nog 'n rooi draad aan die ander kant van die lont, pas krimpbuis toe, die ander kant van die draad moet ingevoeg word en in die ingang (+) van die KF301-2P skroefaansluiting vasgeskroef word

4. soldeer 'n swart draad aan die uitvoer (-) kant van die kragtoevoer en skroef dit dan op die KB301-2P-skroefaansluiting op die PCB-ingang

4. Sluit die relais positief en negatief aan op die PCB positiewe en negatiewe vroulike verbindings deur middel van man-vroulike broodbordverbindings. Koppel ook penne 8 en 9 van die mikrobeheerder (met behulp van die moederbordaansluitings aan die linkerkant van die printplaat) aan die aflospenne

5. verbind die een kant van die aansluitstrookblok met die rooi onderskeidelik swart drade wat van die vroulike 5,5 mm DC -kragpropverbindings kom. As u meer as een 5,5 mm vroulike verbindings het soos ek, dan beland al die rooi drade links bo in die aansluitblok en al die swart drade regs bo in die aansluitblok (sien foto's). As u die skakerings gebruik, as hulle nie in dieselfde rigting beweeg nie, draai ons die drade hier om (meer hieroor later)

6. verbind die positiewe en negatiewe drade wat van die KF301-2P (uit) skroefaansluiting kom, aan die middel van die relaisklemme. Die middel van die terminale word algemeen genoem.

7. verbind die linkerkant van die linker -relais (maak nie saak hoe jy na die regte rigting kyk nie) aan die linkerkant van die regter -relais aan die linkerkantste linkerkant van die aansluitblok. Koppel dan die regterkant van die linker -relais aan die regterkant van die regter -relais aan die regterkantkant van die aansluitblok. Die boonste kant van die aansluitblok is verbind met die vroulike 5,5 mm -verbindings (sien stap 5).

Opmerking: ek het die aansluitblok beskryf met 'n boonste en onderste sye, elk met 'n linker- en regterkant. Dit maak nie saak hoe jy die terminale blok hou nie, solank jy onthou watter kant is wat. U kan die prente en veral die fritzig -skema nagaan.

Stap 5: Die Arduino -kode

Die Arduino -kode
Die Arduino -kode

Die kode moet met die USB na die seriële FTDI -adapter FT232RL na die arduino pro mini opgelaai word.

U moet die GND-, VCC-, Rx-, Tx- en DTR -pen aan die arduino pro mini koppel. Maak dan die arduino -sagteware oop, kies gereedskap/poort en watter poort u ook al gebruik. Dan Tools/Board/Arduino Pro of Pro Mini. Dan gereedskap/bord/verwerker/ATmega328 (5V 16Mhz).

Maak laastens die onderstaande skets oop en druk oplaai.

Aanpassings: die enigste ding wat in die skets aangepas kan word, is die pwmPower. Die waarde kan tussen 0 en 255 wees en dit verteenwoordig ongeveer hoeveel van die kragtoevoer na die motors van die skakering gaan. Dit skakel basies die krag vinnig aan en af. Ek het dit meestal geïmplementeer sodat ek 'n kleiner kragtoevoer kon gebruik sonder om te oorverhit of af te skakel. As u kragtoevoer 'n groter krag het as wat die motors sal trek, kan u die pwmPower op 255 stel.

Hoe werk hierdie program: eers luister dit na die reekslyn ('n sekondêre sagteware -reeks) vir inkomende uitsendings. As 'n uitsending kom, word die boodskap in 'n buffer gelees totdat die ";" teenwoordig is of die einde van die buffer bereik is. Dan word dit ontleed en as dit in die korrekte formaat is (byvoorbeeld: O45;) word die funksie toggleState genoem met die eerste parameterstatus, en dan die duur.

Om die polariteitsskakelaar te bereik, word beide relais óf oop óf toegemaak. Die tranzistor word vir die gespesifiseerde tydperk met die PWM aan en afgeskakel. O45 beteken 45 sekondes oop.

Nadat die opdrag uitgevoer is, word die buffer skoongemaak.

Stap 6: Gebruik

Gebruik
Gebruik
Gebruik
Gebruik
Gebruik
Gebruik

Ons kan die kontroles op meer as een manier gebruik

1. Via 'n Android- of iPhone -bluetooth -toepassing (eenvoudigste)

In my demo het ek 'n Android -app genaamd Bluetooth Controller gekies. Met hierdie app kan u knoppies aanpas wat seriële data stuur. Ek het twee knoppies genaamd Up and Down gemaak, ek het Up gekoppel aan die kode "C40;" en die Down met "O35;".

"C40;" beteken dat ek die skakerings vir 40 sekondes toemaak (intrek), "035" beteken dat ek vir 35 sekondes sal oopmaak (hulle gaan op). ";" is die opdragterminator wat ek in my skets gekies het, dit beteken dat dit die einde van 'n opdrag aandui.

2. Via 'n luislang -skrip wat deurlopend op die agtergrond loop

Dit is die voorafgaande deel van die tutoriaal. Ek het 'n python -script geskep wat op 'n bediener soos 'n framboospi of skootrekenaar met internettoegang kan werk. Dit sal aansluit by die bluetooth op die bedieningsboks, en dit sal 'n http API blootstel. Die API kan direk verkry word of deur thingspeak.

Ek sal stap vir stap verduidelik wat u moet doen

a. Die eerste ding is om die bluetooth te koppel

u gebruik bluetoothctl -opdrag vanaf die konsole, binne -tipe

skakel aan

opspoorbaar op agent op standaard-agent parbaar op skandering op paar xx: xx: xx: xx: xx: xx (en voer wagwoord in) vertrou xx: xx: xx: xx: xx: xx (indien geen wagwoord nie):

Maak dan die Bluetooth -konfigurasie lêer oop

vim /etc/bluetooth/rfcomm.conf

binne moet u u bluetooth -toestel so opstel:

rfcomm1 {

bind ja; toestel jou_bluetooth_mac_adres iets soos 97: D3: 31: 21: A0: 51; kanaal 1; kommentaar "Verbinding met my skakerings bt"; }

bind, herbegin die bluetooth -dienste

sudo rfcomm bind allsudo /etc/init.d/bluetooth herlaai sudo hciconfig hci0 up

b. installeer fles, flask basic auth:

sudo -H pip installeer Flask Flask -BasicAuth

c. skep 'n lêer server.py met die volgende kode en voer die bediener uit:

# gebruik: python httpToBluetooth gebruikersnaam wagwoord bluetooth_address

# Let wel: gebruikersnaam, wagwoord word gebruik

voer os, bluetooth, sys, threading in

uit kolfinvoer Kolf uit flask_basicauth invoer BasicAuth uit tou -invoer Tou -app = fles (_ naam_) konfigurasie = sys.argv app.config ['BASIC_AUTH_USERNAME'] = konfigurasie [1] app.config ['BASIC_AUTH_PASSWORD'] = konfigurasie [2] ry = Queue () basic_auth = BasicAuth (app) klas BluetoothBackground (threading. Thread): def _init _ (self, bluetooth_address, queue): threading. Thread._ init _ (self) self._ bluetooth_address = bluetooth_address self._ queue = queue self.shutdown = Valse def run (self): self._ bluetooth = self.get_bluetooth () terwyl dit nie self is nie.stop: boodskap = self._ queue.get () self._ bluetooth.send (boodskap) self._ bluetooth.close () def get_bluetooth (self): verbinding = bluetooth. BluetoothSocket (bluetooth. RFCOMM) verbinding.settimeout (Geen) probeer: connection.connect ((self._ bluetooth_address, 1)) behalwe Uitsondering, e: print 'Foutverbinding met bluetooth' + str (e) verbinding.setblocking (Onwaar) terugverbindingsklas 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. vereis def send_to_serial (command): queue.put (command) return 'ok' threads = threads.append (BluetoothBackground (konfigurasie [3], queue)) threads.append (Webserver ()) [thread.start () vir draad in drade]

voer die bediener uit:

gebruikerswagwoord vir python server.py 97: D2: 31: 20: A0: 51

Ok, so server.py is ons script, gebruiker en wagwoord is die geloofsbriewe wat gebruik word vir u verifikasie, en "97: D2: 31: 20: A0: 51" is u Bluetooth -MAC -adres.

d. gebruik u bediener om opdragte van oral ter wêreld te stuur

vanaf die blaaier tipe: https:// your_ip: 5000/send_to_serial/C30;

- voer die gebruiker en wagwoord in wat u vroeër opgestel het toe u die python -bediener begin het

- "C30;" is die opdrag wat na die bluetooth -toestel gestuur sal word (ons boks wat die skakerings beheer)

- kyk of poort 5000 nie deur u firewall geblokkeer is nie (ons gebruik die poort)

- as u agter 'n router is (byvoorbeeld 'n framboospi), moet u 'n poort aanstuur vanaf die router van poort 5000 na poort 5000

e. jy kan dinge gebruik om dinge te doen soos om die skakerings op 'n tydskedule te beheer of wanneer sommige kanalsensordata verander. U kan byvoorbeeld 'n ligsensor (buite) aan die denkpiek haak, en as die ligvlak 'n bietjie daal (dit is aand), kan u die skakerings toemaak sodat mense buite u nie sien nie.

U kan die skakerings (python -bediener wat ons vroeër opgestel het) met thingspeak verbind met ThingHTTP.

Ek het 'n prentjie van ThingHTTP -vorm ingesluit met die gegewens as 'n voorbeeld en 'n prentjie met TimeControl. Vir 'n maksimum buigsaamheid moet Thingspeak alles doen wat u nodig het.

3. Via my tuis-outomatisering aansoek

Dit is 'n bietjie ingewikkelder; my tuis-outomatiseringstoepassing doen baie meer as om die skakerings te beheer.

Dit beheer ook ligte, die deur, het veelvuldige sensors, kan met skakelaars geïntegreer word en het ingewikkelde gebruikersgedefinieerde reëls wat byvoorbeeld die skakerings kan oopmaak as die lig binne is laag, of as dit oggend is.

U kan my github -bewaarplek nagaan, en as u vrae het, beantwoord ek dit graag.

As u my tutoriaal ietwat nuttig gevind het, deel dit dan of voeg dit by gunstelinge. En ek wil ook interessante opmerkings sien:)

Aanbeveel: