Innholdsfortegnelse:

Automatiserte Windows Shades: 6 trinn (med bilder)
Automatiserte Windows Shades: 6 trinn (med bilder)

Video: Automatiserte Windows Shades: 6 trinn (med bilder)

Video: Automatiserte Windows Shades: 6 trinn (med bilder)
Video: Warme STALL mit seinen eigenen Händen für 4 Tage!!! 2024, Juli
Anonim
Image
Image
Automatiserte Windows Shades
Automatiserte Windows Shades
Automatiserte Windows Shades
Automatiserte Windows Shades

Et ord fremover

Jeg har sett mange opplæringsprogrammer om hvordan man automatiserer manuelle nyanser og persienner, vel i denne automatiserer vi elektriske nyanser. Vi dekker elektriske nyanser som drives av kontinuerlige strøm (DC) elektriske motorer som åpnes eller lukkes ved å reversere polariteten til strømmen.

Selv om du kjøper elektriske nyanser, får du litt automatisering, men det er grunn til å gjøre automatiseringen på egen hånd som:

* Det kan hende du bare har en bryter i nærheten for opp/ned -kontroll

* det er billigere (noen selskaper tilbyr avansert automatisering for mye ekstra $$)

* mer fleksibel, du kan programmere dem til å åpne eller lukke under forskjellige omstendigheter. Vi lærer om å lage en webserver i python som vil koble seg til bluetooth -grensesnittet for nyanser, og avsløre et API for å kontrollere nyanser. Vi integrerer også det med thingspeak, og der kan du gjøre ting som å kontrollere nyanser på en tidsplan eller kontrollere det via sensorinngang

Dette vil være en mellomliggende opplæring, du trenger ferdigheter som lodding, arduino -programmering, grunnleggende elektronisk forståelse og litt hvordan du installerer tjenester på en server, kjører og konfigurerer dem.

Hvis du likte youtube -videoene, kan du abonnere her.

Trinn 1: Ting som kreves

Ting som kreves
Ting som kreves
Ting som kreves
Ting som kreves

Tips: forstør bildene for å se de beskrivende etikettene på dem

Deler:

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 som er vurdert til minst et par ampere, jeg har brukt Tip142T <1 $

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

6. diode, 1N4004 <1 $

7. ledninger for å koble delene <1 $

8. PCB (eBay) <1 $ per stykke

9. 2 x KF301-2P plugg inn skruekontakt (eBay) <1 $ per stk

10. mann-kvinne jumper ledninger (eBay) 1,2 $ x 2 for en haug

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

12. 5,5 mm likestrømkontakt Jackkontakt hann og hunn (eBay) <1 $ per stk

13. Krympeslange eller isolasjonstape

14. Strømforsyning, forsyningen må være vurdert til 12V og 2-3A.

Jeg har berget min fra en 12 V 2 A lader (eBay) 3,2 $

14. Terminalblokk (eBay) 15c

15. sikringsholder (Aliexpress) 1 $ pr stk

16. sikring (eBay) <1 $ per stk

17. mannlige og kvinnelige PCB -kontakter (eBay) <1 $ for det vi trenger

18. Vekselstrømkabel

19. plastboksskap, min var 6 x 19 cm

Verktøy:

1. Loddejern med loddetinn

2. Wire cutter

3. Ulike skrutrekkere

4. Kutter

5. motorbor og 8,5 mm bor

6. USB til seriell FTDI -adapter FT232RL for å programmere arduino pro mini

7. Bærbar datamaskin med ArduinoIDE installert for å programmere arduinoen

8. Lettere hvis du bruker Heat Shrink Tubing

9. En smarttelefon som kan Bluetooth -tilkobling (jeg bruker en android i eksemplet) med en Bluetooth -programvare installert

10. Valgfritt: forstørrelsesglass, multimeter, tang

Trinn 2: Forberedelser

Forberedelser
Forberedelser
Forberedelser
Forberedelser
Forberedelser
Forberedelser

Velge strømforsyning og plastboks

Den første tingen er å bestemme hvor mye strøm og hvilken spenning som nyanser motorer driver.

Dette kan gjøres ved å lese spesifikasjonene eller ta målinger ved hjelp av multimeteret. Vanligvis driver de 12 V og 1-3 ampere (mine er 2,5 A og 12 V). Multipliser strømmen med hvor mange av dem du trenger for å kjøre samtidig (jeg kjører to) for å finne ut maksimal strøm som er nødvendig. Du bør finne en strømforsyning som er nøyaktig den samme spenningen og helst den samme strømstyrken eller litt høyere.

På dette trinnet har jeg jukset litt ved å bruke en 12 V og 2,5 A strømforsyning til å drive to 12 V og 2,5 A motorer, noe som betyr at motorene bruker dobbelt så mye strøm som strømforsyningen kan gi. Men ved å bruke en teknikk som heter PWM (sjekk lenken for å se flere detaljer) har jeg klart å kjøre motoren samtidig med lavere hastighet.

Grunnen til at jeg har gjort dette er å spare plass i esken (jeg har valgt en mindre eske).

Plasthuset må huske strømforsyningen, to reléer, en liten kretskort med elektronikk og ledninger, så velg størrelsen slik at alt passer inn.

Strømforsyningen min hadde en plastkapsling som jeg har revet fra hverandre ved hjelp av et dremel -verktøy, jeg har kuttet de eksisterende ledningene, og på denne måten har jeg en billig og liten strømforsyning som passer for prosjektet mitt (se bilder).

Klargjør motorkablene

Du må beregne hvor lange motorkabler vil være, det vil si til de når kontrollboksen som vi mobber. Sjansen er stor for at de eksisterende kablene ikke er lange nok, og du må forlenge dem, fjerne begge ledningene (den eksisterende bladkabelen og forlengelseskablene) i den ene enden, sette varmekrympeslanger, lodde ledningene og deretter påføre varme med en lettere å isolere.

På enden av skjøteledningen vil det være en 5,5 mm likestrømkontaktuttak. Du må lodde de to ledningene til kontakten. Det endelige resultatet blir som på bildene.

Sett den kvinnelige 5,5 mm likestrømkontakten i esken

Bor med to boremaskiner to hull som er store nok til at jekken kan gli gjennom. Sett inn strømkontaktene, skru dem med mutrene. Deretter loddes tykke svarte og røde ledninger til hver av inngangene, og isolerer dem deretter med et krympeslange. Ledningene skal være lange nok til å gå lett inn i rekkeklemmen, men ikke for lenge til å ta for mye plass.

Fest sikringsholderen med sikringen

På den ene siden av boksen borer du et lite hull for å sette en liten mutter som holder sikringsholderen på plass. Deretter bruker du en tang, en skrutrekker og mutteren til å skru den fast. Sikringsholderen skal være i nærheten av strømforsyningsstedet, og skal være inne i esken. Sjekk igjen bildene.

Trinn 3: Bygg PCB med elektronikk

Bygg PCB med elektronikk
Bygg PCB med elektronikk
Bygg PCB med elektronikk
Bygg PCB med elektronikk
Bygg PCB med elektronikk
Bygg PCB med elektronikk

Kretskortet vil inneholde mikrokontrolleren, Bluetooth -kommunikasjonen, RTC -modulen, en strømtranzistor med en diode for beskyttelse og en liten resistor, koblinger og en 5V regulator.

Jeg har lagt ved fritzigskjemaet slik at ting blir enkle. Det første bildet representerer det eksporterte bildet av skjematikken, og jeg har også vedlagt sketch.fzz (den originale filen, du kan åpne den med dette verktøyet)

Loddetrinn:

1. kutt de kvinnelige PCB -kontaktene, det er to 12 -pinners kontakter for mikrokontrolleren, det er også en 6 -pinners kontakt for bluetooth og ytterligere 12 pinners kontakter på høyre side av mikrokontrolleren og en to -pinners kontakt for relé negativ og positiv kraft

2. Etter at alle kontaktene er kuttet, må det loddes på baksiden av kretskortet

3. Lodd de to kontaktene KF301-2P

4. Sett L7805CV 5V regulatoren på kretskortet. Bøy bena og lodd det på den andre siden, og kutt overskytende ben med kabelskjæreren

5. Lodd NPN Tip142T -tranzistoren og beskyttelsesdioden 1N4004, kutt overflødige bein etter

6. Lodd den 220 ohm rezistoren mellom den tilsvarende digitale pinnen 5 og tranzistorens basestift

7. Lodd tykkere ledninger mellom tranzistoren og KF301-2P-pluggene (røde og svarte som de er merket på bildene)

8. Lodd alle de røde (+), svarte (-) og hvite (signal) tynne ledningene i henhold til fritzigskjemaet

9. Lodd hannstifter på mikrokontrolleren du trenger to 12 hannstifter på sidene

10. Gjør tilkoblinger mellom hver av mikrokontrollerens høyre kvinnelige korresponderende pinner (det forklares bedre på bildene). Tilkoblingene vil bli gjort med bare loddetinn (pinnene vil være tette)

11. Valgfritt: med forstørrelsesglasset, inspiser loddene for kortslutning, og kontroller om ledningene er ordentlig loddet på baksiden av kretskortet. Du kan også sjekke med multimeteret (motstandsinnstilling) om det er kortslutning mellom positivt og negative forbindelser. En annen test er å drive kretsen uten mikrokontrolleren, bluetooth

12. Plasser mikrokontrolleren og HC-05 bluetooth på kretskortet

Trinn 4: Kabling og montering

Kabling og montering
Kabling og montering
Kabling og montering
Kabling og montering

Nå har vi PCB -en klar, plastboksen vår klar, og nyansene er tilkoblet og de andre komponentene klargjort. Alt vi trenger å gjøre nå er å koble systemet.

1. Sett inn vekselstrømkabelen gjennom det øvre sidehullet i esken, fjern kabelen og lodd den på strømforsyningen (hvis strømforsyningen har skruer, skru den deretter)

2. bruk en rød ledning for å skjule den eksponerte avisolerte ledningen.

3. lodd en annen rød ledning på den andre siden av sikringen, bruk krympeslangen, den andre siden av ledningen skal settes inn og skrus inn i inngangen (+) til KF301-2P-skruekontakten

4. lodd en svart ledning til utgangssiden (-) på strømforsyningen, og skru den deretter på PCB-inngangen KF301-2P skruekontakt

4. Koble reléet positivt og negativt til kretskortets positive og negative hunnkontakter ved å bruke brød-til-mann-hunnkontakter. Koble også pinnene 8 og 9 på mikrokontrolleren (ved hjelp av PCB -moederkontaktene til venstre på kretskortet) til reléutløserpinnene

5. koble den ene siden av rekkeklemmen til de henholdsvis røde og svarte ledningene som kommer fra kvinnelige 5,5 mm likestrømkontakter. Hvis du har mer enn en 5,5 mm hunnkontakt som jeg gjør, vil alle de røde ledningene havne øverst til venstre på rekkeklemmen og alle de svarte ledningene øverst til høyre på rekkeklemmen (se bilder). Når du betjener nyanser hvis de ikke beveger seg i samme retning, snur vi ledningene her (mer om det senere)

6. koble de positive og negative ledningene som kommer fra KF301-2P (ut) skruekontakten til midtpunktet på reléklemmene. Midten av terminalene kalles felles.

7. koble venstre side av venstre relé (spiller ingen rolle hvordan du vender mot virkeligheten) til venstre side av høyre relé til nedre venstre side av rekkeklemmen. Koble deretter høyre side av venstre relé til høyre side av høyre relé til nedre høyre side av rekkeklemmen. Terminalblokken vil ha oversiden koblet til de kvinnelige 5,5 mm -kontaktene (se trinn 5).

Merk: Jeg har beskrevet rekkeklemmen som å ha en øvre og nedre side som hver har en venstre og høyre side. Det spiller ingen rolle hvordan du holder rekkeklemmen så lenge du husker hvilken side som er hva. Du kan sjekke bildene og spesielt fritzigskjemaet.

Trinn 5: Arduino -koden

Arduino -koden
Arduino -koden

Koden må lastes opp til arduino pro mini ved hjelp av USB til FTDI -adapter FT232RL.

Du må koble GND, VCC, Rx, Tx og DTR pin til arduino pro mini. Åpne deretter arduino -programvaren, velg verktøy/port og hvilken port du bruker. Deretter Tools/Board/Arduino Pro eller Pro Mini. Deretter Tools/Board/Processor/ATmega328 (5V 16Mhz).

Til slutt åpner du skissen nedenfor, og trykker på last opp.

Justeringer: Det eneste som kan justeres i skissen er pwmPower. Verdien kan være mellom 0 og 255, og den representerer omtrent hvor mye av strømforsyningen som skal gå til nyansmotorene. Det er i utgangspunktet å slå strømmen raskt på og av. Jeg har implementert det mest for å tillate meg å bruke en mindre strømforsyning uten å bli overopphetet eller slå av. Hvis strømforsyningen din har større effekt enn motorene trekker, kan du sette pwmPower til 255.

Så hvordan fungerer dette programmet: Først lytter det til serielinjen (en sekundær programvareserie) for innkommende overføringer. Når en overføring kommer, leses meldingen i en buffer til ";" er tilstede eller slutten av bufferen er nådd. Deretter blir det analysert, og hvis det er i riktig format (eks: O45;) kalles funksjonen toggleState med den første parameterstatusen, og deretter varigheten.

For å oppnå polaritetsbryteren åpnes eller lukkes begge reléene. Tranzistoren slås av og på med PWM i den angitte varigheten. O45 betyr åpen i 45 sekunder.

Etter at kommandoen er utført, slettes bufferen.

Trinn 6: Bruk

Bruk
Bruk
Bruk
Bruk
Bruk
Bruk

Vi kan bruke kontrollene på mer enn én måte

1. Via en android eller iphone bluetooth -applikasjon (enklest)

I min demo har jeg valgt en Android -app som heter Bluetooth Controller. Denne appen lar deg tilpasse knapper som sender serielle data. Jeg har opprettet to knapper kalt Opp og Ned, jeg har knyttet Opp med koden "C40;" og Down med "O35;".

"C40;" betyr at jeg lukker (trekker tilbake) nyanser i 40 sekunder, "035" betyr at jeg åpner (de går opp) i 35 sekunder. ";" er kommandoterminatoren jeg har valgt i skissen min, det betyr at den signaliserer slutten på en kommando.

2. Via et python -skript som kjører kontinuerlig i bakgrunnen

Dette er den fremskredne delen av opplæringen. Jeg har laget et python -script som vil kjøre på en server som en bringebær pi eller bærbar PC med internettilgang. Den kobles til bluetooth på kontrollboksen, og den avslører en http API. API -en kan nås direkte eller gjennom thingspeak.

Jeg skal forklare trinn for trinn hva du må gjøre

en. Det første er å koble Bluetooth

du bruker bluetoothctl -kommandoen fra konsollen, innvendig type

strøm på

kan oppdages på agent på standardagent som kan pares ved skanning på par xx: xx: xx: xx: xx: xx (og skriv inn passord) tillit xx: xx: xx: xx: xx: xx (hvis ikke passord):

åpne deretter Bluetooth -konfigurasjonsfilen

vim /etc/bluetooth/rfcomm.conf

inne må du konfigurere Bluetooth -enheten din slik:

rfcomm1 {

bind ja; enheten din_bluetooth_mac_adresse noe slikt 97: D3: 31: 21: A0: 51; kanal 1; kommentar "Tilkobling til mine nyanser bt"; }

bind, start Bluetooth -tjenestene på nytt

sudo rfcomm bind allsudo /etc/init.d/bluetooth start sudo hciconfig hci0 opp igjen

b. installere kolbe, flask basic auth:

sudo -H pip installere Flask Flask -BasicAuth

c. opprett en filserver.py med følgende kode og kjør serveren:

# bruk: python httpToBluetooth brukernavn passord bluetooth_adresse

# Merk: brukernavn, passord brukes

import os, bluetooth, sys, threading

fra kolbeimport Flaske fra flask_basicauth import BasicAuth fra køimport Kø -app = Kolbe (_ navn_) konfigurasjon = sys.argv app.config ['BASIC_AUTH_USERNAME'] = konfigurasjon [1] app.config ['BASIC_AUTH_PASSWORD'] = konfigurasjon [2] kø = Kø () basic_auth = BasicAuth (app) klasse BluetoothBackground (threading. Thread): def _init _ (self, bluetooth_address, queue): threading. Thread._ init _ (self) self._ bluetooth_address = bluetooth_address self._ queue = kø self.shutdown = Falsk def run (self): self._ bluetooth = self.get_bluetooth () mens ikke self.shutdown: melding = self._ queue.get () self._ bluetooth.send (melding) self._ bluetooth.close () def get_bluetooth (self): tilkobling = bluetooth. BluetoothSocket (bluetooth. RFCOMM) tilkobling.settimeout (Ingen) prøv: connection.connect ((self._ bluetooth_address, 1)) unntatt Unntak, e: print 'Feilkobling til bluetooth' + str (e) tilkobling.setblocking (False) returtilkoblingsklasse 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. kreves def send_to_serial (kommando): queue.put (kommando) returnerer 'ok' threads = threads.append (BluetoothBackground (konfigurasjon [3], kø)) threads.append (Webserver ()) [thread.start () for tråd i tråder]

for å kjøre serveren:

python server.py brukerpassord 97: D2: 31: 20: A0: 51

Ok, så server.py er skriptet vårt, bruker og passord er legitimasjonen som brukes for autentiseringen din, og "97: D2: 31: 20: A0: 51" er Bluetooth -MAC -adressen din.

d. bruk serveren din til å sende kommandoer fra hvor som helst i verden

fra nettlesertypen: https:// your_ip: 5000/send_to_serial/C30;

- skriv inn brukeren og passordet du konfigurerte tidligere da du startet pythonserveren

- "C30;" er kommandoen som vil bli videresendt til bluetooth -enheten (boksen vår som skal kontrollere nyanser)

- sjekk at port 5000 ikke er blokkert av brannmuren din (vi bruker den porten)

- hvis du står bak en ruter (for eksempel en bringebær pi) må du lage en portvideresending fra ruteren fra port 5000 til port 5000

e. du kan bruke thingspeakt til å gjøre ting som å kontrollere nyanser på en tidsplan eller når noen kanalsensordata endres. For eksempel kan du koble en lyssensor (utenfor) til thinkpeak, og når lysnivået synker til en viss mengde (det er kveld) kan du lukke nyanser slik at folk utenfor ikke ser deg.

Du kan koble nyanser (pythonserver vi har satt opp tidligere) med thingspeak ved hjelp av ThingHTTP.

Jeg har tatt med et bilde av ThingHTTP -skjemaet med dataene som er fylt ut som et eksempel og et bilde med TimeControl Så for maksimal fleksibilitet bør tingpeak gjøre det du trenger.

3. Via min hjemmeautomatiseringsapplikasjon

Dette er litt mer komplisert, hjemmeautomatiseringsprogrammet mitt gjør mye mer enn å kontrollere nyanser.

Den styrer også lys, døren, har flere sensorer, integreres med brytere og har komplekse brukerdefinerte regler som for eksempel kan åpne nyanser hvis lysnivået inne er lavt, eller hvis det er morgen.

Du kan sjekke mitt github -depot, og hvis du har spørsmål, svarer jeg gjerne på dem.

Hvis du synes opplæringen min var nyttig, kan du dele den eller legge den til i favoritter. Og jeg vil se noen interessante kommentarer også:)

Anbefalt: