Innehållsförteckning:

Automatiserade Windows -nyanser: 6 steg (med bilder)
Automatiserade Windows -nyanser: 6 steg (med bilder)

Video: Automatiserade Windows -nyanser: 6 steg (med bilder)

Video: Automatiserade Windows -nyanser: 6 steg (med bilder)
Video: Delivering MTApex™ bioceramic root canal sealer 2024, Juli
Anonim
Image
Image
Automatiserade Windows -nyanser
Automatiserade Windows -nyanser
Automatiserade Windows -nyanser
Automatiserade Windows -nyanser

Ett ord framåt

Jag har sett många självstudier om hur man automatiserar manuella nyanser och persienner, väl i den här kommer vi att automatisera elektriska nyanser. Vi täcker elektriska nyanser som drivs av kontinuerliga ström (DC) elmotorer som öppnas eller stängs genom att vända strömmen.

Även om du köper elektriska nyanser får du lite automatisering, men det finns skäl att göra automatiseringen själv:

* du kanske bara har en strömbrytare nära dem för upp/ner -kontroll

* det är billigare (vissa företag erbjuder avancerad automatisering för mycket extra $$)

* mer flexibel, du kan programmera dem att öppna eller stänga under olika omständigheter, vi lär oss om att skapa en webbserver i python som kommer att ansluta till bluetooth -gränssnittet för nyanser och avslöja ett API för att styra nyanserna, vi kommer också att integrera det med thingspeak och där kan du göra saker som att styra nyanser på ett tidsschema eller styra det via sensoringång

Detta kommer att vara en mellanliggande handledning, du behöver färdigheter som lödning, arduino -programmering, grundläggande elektronisk förståelse och lite hur man installerar tjänster på en server, kör och konfigurerar dem.

Om du gillade youtube -videorna kan du prenumerera här.

Steg 1: Saker som krävs

Saker som krävs
Saker som krävs
Saker som krävs
Saker som krävs

Tips: förstora bilderna för att se de beskrivande etiketterna på dem

Delar:

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

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

3. 5 V Två kanalreläer (eBay) 1,6 $

4. NPN -tranzistor som är klassad för minst några ampere, jag har använt Tip142T <1 $

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

6. diod, 1N4004 <1 $

7. trådar för att ansluta delarna <1 $

8. PCB (eBay) <1 $ per styck

9. 2 x KF301-2P plug-in skruvkontakt (eBay) <1 $ per styck

10. hona-hona-bygelkablar (eBay) 1,2 $ x 2 för ett gäng

11. L7805CV 5V regulator (eBay) <1 $ per styck

12. 5,5 mm likströmskontaktuttag hane och hona (eBay) <1 $ per styck

13. Krympslang eller isoleringstejp

14. Strömförsörjning, matningen måste vara 12V och 2-3A.

Jag har räddat min från en 12 V 2 A laddare (eBay) 3,2 $

14. Plintremsblock (eBay) 15c

15. säkringshållare (Aliexpress) 1 $ per styck

16. säkring (eBay) <1 $ per styck

17. PCB -kontaktdon för man och hona (eBay) <1 $ för vad vi behöver

18. Nätkabel

19. plastlåda, min var 6 x 19 cm

Verktyg:

1. Lödkolv med löd

2. Trådskärare

3. Olika skruvmejslar

4. Skärare

5. borrmaskin och 8,5 mm borr

6. USB till seriell FTDI -adapter FT232RL för att programmera arduino pro mini

7. Bärbar dator med ArduinoIDE installerad för att programmera arduino

8. Tändare om du använder Heat Shrink Tubing

9. En smartphone med Bluetooth -anslutning (jag använder en android i exemplet) med en Bluetooth -programvara installerad

10. Valfritt: förstoringsglas, multimeter, tång

Steg 2: Förberedelser

Förberedelser
Förberedelser
Förberedelser
Förberedelser
Förberedelser
Förberedelser

Välja strömförsörjning och plastlåda

Det första är att bestämma hur mycket ström och vilken spänning som nyansmotorerna driver.

Detta kan göras genom att läsa specifikationerna eller ta mätningar med hjälp av multimetern. Vanligtvis fungerar de 12 V och 1-3 Ampere (mina är 2,5 A och 12 V). Multiplicera strömmen med hur många av dem du behöver för att köra samtidigt (jag kör två) för att ta reda på den maximala ström som behövs. Du bör hitta en strömförsörjning som är exakt samma spänning och helst samma strömstyrka eller något högre.

I det här steget har jag lurat lite med en 12 V och 2,5 A strömförsörjning för att driva två 12 V och 2,5 A motorer vilket innebär att motorerna använder dubbelt så mycket ström som strömförsörjningen kan ge. Men med en teknik som heter PWM (kolla länken för att se mer information) har jag lyckats köra motorn samtidigt med en lägre hastighet.

Anledningen till att jag har gjort detta är att spara utrymme i lådan (jag har valt en mindre låda).

Plasthöljet kommer att behöva rymma strömförsörjningen, två reläer, en liten kretskort med elektronik och ledningar så välj storlek så att allt passar in.

Min strömförsörjning hade ett plasthölje som jag har slitit sönder med ett dremelverktyg, jag har klippt de befintliga ledningarna och på så sätt har jag en billig och liten strömförsörjning som passar mitt projekt (se bilder).

Förbered motorkablarna

Du måste beräkna hur långa motorkablarna kommer att vara, det vill säga tills de når kontrollboxen som vi mobbar. Chansen är stor att de befintliga kablarna inte är tillräckligt långa, och du måste förlänga dem, ta bort båda trådarna (den befintliga bladkabeln och förlängningskablarna) i ena änden, sätt värmekrymprör, löd trådarna och applicera värme med en lättare att isolera.

I slutet av förlängningskabeln kommer det att finnas en hane på 5,5 mm likströmskontakt. Du måste löda de två ledningarna till uttaget, det slutliga resultatet blir som på bilderna.

Sätt i den kvinnliga 5,5 mm likströmskontakten i lådan

Med hjälp av borrmaskinen borra två hål som är tillräckligt stora för att domkraften ska glida igenom. Sätt i nätkontakterna, skruva med muttrarna. Löd sedan tjocka svarta och röda ledningar till var och en av ingångarna, därefter isolera dem med värmekrymprör. Ledningarna ska vara tillräckligt långa för att enkelt gå in i kopplingsplintblocket, men inte för långa för att ta för mycket plats.

Fäst säkringshållaren med säkringen

På ena sidan av lådan borra ett litet hål för att sätta en liten mutter som håller på plats säkringshållaren. Använd sedan tången, en skruvmejsel och muttern och skruva fast den på plats. Säkringshållaren ska vara nära strömförsörjningsplatsen och vara inuti lådan. Kolla igen bilderna.

Steg 3: Bygga kretskortet med elektronik

Bygga kretskortet med elektronik
Bygga kretskortet med elektronik
Bygga kretskortet med elektronik
Bygga kretskortet med elektronik
Bygga kretskortet med elektronik
Bygga kretskortet med elektronik

Kretskortet kommer att innehålla mikrokontrollern, bluetooth -kommunikationen, RTC -modulen, en effekttranzistor med en diod för skydd och en liten rezistor, anslutningskablar och en 5V -regulator.

Jag har bifogat fritzig -schemat så det blir lätt. Den första bilden representerar den exporterade bilden av schemat och jag har också bifogat sketch.fzz (den ursprungliga filen, du kan öppna den med det här verktyget)

Lödningssteg:

1. klipp ut de kvinnliga PCB -kontakterna, det finns två 12 -poliga kontakter för mikrokontrollern, det finns också en 6 -polig kontakt för bluetooth och ytterligare 12 -poliga kontakter på högra sidan av mikrokontrollen och en tvåpolig kontakt för relä negativ och positiv kraft

2. Efter att alla kontakter har skurits måste det lödas på baksidan av kretskortet

3. Löd de två KF301-2P-kontaktdonen

4. Sätt L7805CV 5V -regulatorn på kretskortet. Böj benen och löd det på andra sidan och skär sedan överflödiga ben med kabelskäraren

5. Löd NPN Tip142T -tranzistorn och skyddsdioden 1N4004, skär överskottsbenen efter

6. Löd 220 ohm rezistorn mellan motsvarande digitala stift 5 och tranzistorns basstift

7. Löd tjockare trådar mellan tranzistorn och KF301-2P-kontakterna (röda och svarta som de är markerade på bilderna)

8. Löd alla de röda (+), svarta (-) och vita (signal) tunna trådarna enligt fritzigschemat

9. Löd hanstiften på mikrokontrollern du behöver två 12 stift på sidorna

10. Gör anslutningar mellan var och en av mikrokontrollerens högra sida kvinnliga motsvarande stift (det förklaras bättre på bilderna). Anslutningarna kommer att göras med bara löd (stiften kommer att vara nära)

11. Valfritt: med förstoringsglaset inspektera lödningarna för kortslutning och kontrollera om ledningarna är ordentligt lödda på baksidan av kretskortet, du kan också kontrollera med multimetern (motståndsinställning) om det finns en kortslutning mellan positiv och negativa kopplingar. Ett annat test är att driva kretsen utan mikrokontrollern, bluetooth

12. Placera mikrokontrollen och HC-05 bluetooth på kretskortet

Steg 4: Kabeldragning och montering

Kabeldragning och montering
Kabeldragning och montering
Kabeldragning och montering
Kabeldragning och montering

Vid det här laget har vi vårt kretskort klart, vår plastlåda klar, skärmarna är anslutna och våra andra komponenter förberedda. Allt vi behöver göra nu är att ansluta systemet.

1. sätt in nätkabeln genom det övre sidohålet i lådan, ta bort kabeln och löd den på strömförsörjningen (om din strömförsörjning har skruvar skruva sedan fast den)

2. med hjälp av en röd trådlödning utgången (+) från strömförsörjningen till en av säkringarsidan, använd lite värmekrympslang för att dölja den exponerade avskalade tråden.

3. löd en annan röd tråd på andra sidan av säkringen applicera krympslang, andra sidan av tråden ska sättas in och skruvas in i ingången (+) på KF301-2P skruvkontakt

4. Löd en svart ledning till utmatningssidan (-) på strömförsörjningen och skruva sedan fast den på kretskortets ingång KF301-2P skruvkontakt

4. Anslut reläet positivt och negativt till PCB-positiva och negativa honkontakter med hjälp av han-hona-brödbräda-kontakter. Anslut också stiften 8 och 9 på mikrokontrollern (med hjälp av PCB -moderkontakterna till vänster om kretskortet) till reläutlösarpinnarna

5. Anslut ena sidan av kopplingsplintblocket till de röda respektive svarta ledningarna från de 5,5 mm DC -kontaktdonens honkontakter. Om du har mer än en 5,5 mm honkontakter som jag gör, kommer alla de röda trådarna att hamna i den övre vänstra sidan av kopplingsblocket och alla svarta ledningar på den övre högra sidan av kopplingsblocket (se bilder). När du använder nyanser om de inte rör sig i samma riktning vänder vi om trådarna här (mer om det senare)

6. Anslut de positiva och negativa ledningarna från KF301-2P (ut) skruvkontakt till reläterminalernas mitt. Mitten av terminalerna kallas vanliga.

7. Anslut vänster sida av det vänstra reläet (spelar ingen roll hur du vetter mot riktigt) till vänster sida om det högra reläet till den nedre vänstra sidan av kopplingsplinten. Anslut sedan höger sida av det vänstra reläet till höger sida av det högra reläet till den nedre högra sidan av kopplingsplinten. Anslutningsblocket har ovansidan ansluten till honkontakterna på 5,5 mm (se steg 5).

Obs! Jag har beskrivit kopplingsplinten som att ha en övre och nedre sida som var och en har en vänster och höger sida. Det spelar ingen roll hur du håller terminalblocket så länge du kommer ihåg vilken sida som är vad. Du kan kontrollera bilderna och särskilt fritzigschemat.

Steg 5: Arduino -koden

Arduino -koden
Arduino -koden

Koden måste laddas upp till arduino pro mini med hjälp av USB till seriell FTDI -adapter FT232RL.

Du måste ansluta GND-, VCC-, Rx-, Tx- och DTR -stiftet till arduino pro mini. Öppna sedan arduino -programvaran, välj verktyg/port och vilken port du än använder. Sedan Tools/Board/Arduino Pro eller Pro Mini. Därefter Tools/Board/Processor/ATmega328 (5V 16Mhz).

Slutligen, öppna skissen nedan och tryck på uppladdning.

Justeringar: Det enda som kan justeras i skissen är pwmPower. Värdet kan vara mellan 0 och 255 och det representerar ungefär hur mycket av strömförsörjningseffekten som går till nyansmotorerna. Det är i princip att slå på och av strömmen snabbt. Jag har implementerat det mest för att tillåta mig att använda en mindre strömförsörjning utan att överhettas eller stängas av. Om din strömförsörjning har större effekt än motorerna drar kan du ställa in pwmPower till 255.

Så hur fungerar det här programmet: först lyssnar det på serielinjen (en sekundär programvaruserie) för inkommande sändningar. När en överföring kommer, läses meddelandet i en buffert tills ";" är närvarande eller slutet av bufferten nås. Sedan analyseras det och om det är i rätt format (ex: O45;) kallas funktionen toggleState med det första parametertillståndet och sedan varaktigheten.

För att uppnå polaritetsbrytaren är båda reläerna antingen öppna eller stängda. Tranzistorn slås på och av med PWM under den angivna tiden. O45 betyder öppen i 45 sekunder.

När kommandot körs rensas bufferten.

Steg 6: Användning

Användande
Användande
Användande
Användande
Användande
Användande

Vi kan använda kontrollerna på mer än ett sätt

1. Via en Android eller iPhone Bluetooth -applikation (enklast)

I min demo har jag valt en Android -app som heter Bluetooth Controller. Med den här appen kan du anpassa knappar som skickar seriell data. Jag har skapat två knappar som heter Upp och Ned, jag har associerat Upp med koden "C40;" och ner med "O35;".

"C40;" betyder att jag stänger (drar tillbaka) nyanserna i 40 sekunder, "035" betyder att jag öppnar (de går upp) i 35 sekunder. ";" är kommandoterminatorn jag har valt i min skiss, det betyder att det signalerar slutet på ett kommando.

2. Via ett python -skript som körs kontinuerligt i bakgrunden

Detta är den avancerade delen av handledningen. Jag har skapat ett python -skript som körs på en server som en hallon -pi eller bärbar dator med internetåtkomst. Det kommer att ansluta till bluetooth på kontrollboxen och det kommer att avslöja ett http API. API: et kan nås direkt eller via thingspeak.

Jag ska förklara steg för steg vad du behöver göra

a. det första är att koppla ihop bluetooth

du kommer att använda bluetoothctl -kommandot från konsolen, inuti typ

ström på

upptäckt på agent på standardagent som kan paras vid skanning på par xx: xx: xx: xx: xx: xx (och ange lösenord) lita på xx: xx: xx: xx: xx: xx (om inget lösenord):

öppna sedan Bluetooth -konfigurationsfilen

vim /etc/bluetooth/rfcomm.conf

inuti måste du konfigurera din bluetooth -enhet så här:

rfcomm1 {

binda ja; enhet din_bluetooth_mac_adress något liknande 97: D3: 31: 21: A0: 51; kanal 1; kommentar "Anslutning till mina nyanser bt"; }

binda, starta om bluetooth -tjänsterna

sudo rfcomm bind allsudo /etc/init.d/bluetooth starta om sudo hciconfig hci0 upp

b. installera kolv, kolv grundläggande autentisering:

sudo -H pip installera Flask Flask -BasicAuth

c. skapa en filserver.py med följande kod och kör servern:

# användning: python httpToBluetooth användarnamn lösenord bluetooth_adress

# Obs: användarnamn, lösenord används

importera os, bluetooth, sys, trådning

från kolvimport Kolv från flask_basicauth import BasicAuth från köimport Kö -app = kolv (_ namn_) konfiguration = sys.argv app.config ['BASIC_AUTH_USERNAME'] = konfiguration [1] app.config ['BASIC_AUTH_PASSWORD'] = konfiguration [2] kö = Queue () basic_auth = BasicAuth (app) klass BluetoothBackground (threading. Thread): def _init _ (self, bluetooth_address, kö): threading. Thread._ init _ (self) self._ bluetooth_address = bluetooth_address self._ queue = kö self.shutdown = Falsk def run (self): self._ bluetooth = self.get_bluetooth () medan inte self.shutdown: meddelande = self._ queue.get () self._ bluetooth.send (meddelande) self._ bluetooth.close () def get_bluetooth (self): anslutning = bluetooth. BluetoothSocket (bluetooth. RFCOMM) anslutning.settimeout (Ingen) försök: connection.connect ((self._ bluetooth_address, 1)) utom Undantag, e: print 'Felanslutning till bluetooth' + str (e) anslutning.setblocking (Falsk) returanslutningsklass 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ävs def send_to_serial (kommando): queue.put (kommando) returnerar 'ok' threads = threads.append (BluetoothBackground (konfiguration [3], kö)) threads.append (Webserver ()) [thread.start () för tråd i trådar]

för att köra servern kör:

python server.py användarlösenord 97: D2: 31: 20: A0: 51

Ok, så server.py är vårt skript, användare och lösenord är autentiseringsuppgifterna och "97: D2: 31: 20: A0: 51" är din Bluetooth -MAC -adress.

d. använd din server för att skicka kommandon var som helst i världen

från webbläsartypen: https:// your_ip: 5000/send_to_serial/C30;

- ange användaren och lösenordet som du har konfigurerat tidigare när pythonservern startades

- "C30;" är kommandot som kommer att vidarebefordras till bluetooth -enheten (vår låda som styr nyanser)

- kontrollera att port 5000 inte är blockerad av din brandvägg (vi använder den porten)

- om du är bakom en router (till exempel en hallon pi) måste du göra en port vidarebefordran från routern från port 5000 till port 5000

e. du kan använda thingspeakt för att göra saker som att styra nyanser på ett tidsschema eller när vissa kanalsensordata ändras. Till exempel kan du koppla en ljussensor (utanför) till thinkpeak och när ljusnivån sjunker till en viss mängd (det är kväll) kan du stänga nyanserna så att människor utanför inte ser dig.

Du kan ansluta nyanser (pythonserver som vi har konfigurerat tidigare) med thingspeak med ThingHTTP.

Jag har inkluderat en bild av ThingHTTP -formuläret med data ifyllda som ett exempel och en bild med TimeControl Så för maximal flexibilitet borde thingspeak göra vad du behöver.

3. Via min hemautomatiseringsapplikation

Det här är lite mer komplicerat, min hemautomatiseringsapplikation gör mycket mer än att styra nyanser.

Den styr också lampor, dörren, har flera sensorer, integreras med switchar och har komplexa användardefinierade regler som till exempel kan öppna nyanser om ljusnivån inuti är låg eller om det är morgon.

Du kan kolla mitt github -arkiv, och om du har frågor svarar jag gärna på dem.

Om du tyckte att min handledning var lite användbar, dela den eller lägg till den i favoriter. Och jag vill se några intressanta kommentarer också:)

Rekommenderad: