Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-23 15:02
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
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
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
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
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
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
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:
RGB LED Pixel Shades: 17 trinn (med bilder)
RGB LED Pixel Shades: Hei alle sammen, i denne Instructable skal jeg vise deg hvordan du lager et par LED pixel nyanser. Opprinnelig lagde jeg disse til å ha på meg rundt jul / nyttår, som et mobilpynt, men de endte opp med å bli litt mer cyberpunk
Enkleste automatiserte RoboSumo: 4 trinn
Enkleste automatiserte RoboSumo: Robot-sumo, er en sport der to roboter prøver å skyve hverandre ut av en sirkel (på samme måte som sumosporten). Robotene som ble brukt i denne konkurransen kalles sumoboter
Rob den automatiserte roboten: 10 trinn (med bilder)
Rob the Automated Robot: Denne instruerbare ble opprettet for å oppfylle prosjektkravet til Makecourse ved University of South Florida (www.makecourse.com) .I denne opplæringen lærer du hvordan du lager en helautomatisk robot ved navn Rob som er utstyrt med sans
Automatiserte julelys: 6 trinn (med bilder)
Automatiserte julelys: I denne instruksjonsfilen viser jeg deg hvordan du bygger automatisk blinkende julelys når musikk spilles! Prosjektet har to deler: den elektriske kretsen og Arduino -koden/algoritmen. Kretsen fungerer ved å bruke et 8 -kanals relé for å lukke
Automatiserte hjemmegardiner - Miniprosjekt med MakerChips’BluChip (nRF51 BLE) -modul: 7 trinn (med bilder)
Automatiserte hjemmegardiner - Miniprosjekt med MakerChips 'BluChip (nRF51 BLE) -modul: Tenk deg å våkne og ønske å få en solstråle gjennom vinduene dine, eller stenge gardinene slik at du kan sove videre uten å måtte komme deg nært til gardinene, men heller ved å trykke på en knapp på smartphonen din