Taula de continguts:

Ombres de Windows automatitzades: 6 passos (amb imatges)
Ombres de Windows automatitzades: 6 passos (amb imatges)

Vídeo: Ombres de Windows automatitzades: 6 passos (amb imatges)

Vídeo: Ombres de Windows automatitzades: 6 passos (amb imatges)
Vídeo: Men of honor 12 steps 2024, Desembre
Anonim
Image
Image
Ombres de Windows automatitzades
Ombres de Windows automatitzades
Ombres de Windows automatitzades
Ombres de Windows automatitzades

Una paraula per davant

He vist molts tutorials sobre com automatitzar les persianes i persianes manuals; bé, en aquest automatitzarem les persianes elèctriques. Cobrirem ombres elèctriques que funcionen amb motors elèctrics de corrent continu (CC) que s’obren o es tanquen invertint la polaritat del corrent.

Tot i que si compreu tonalitats elèctriques, obtindreu una certa automatització, hi ha motius per fer-ho automàticament com:

* és possible que només tingueu un commutador a prop d'ells per controlar amunt / avall

* és més barat (algunes empreses ofereixen una automatització avançada per molts $ $ addicionals)

* més flexible, podeu programar-los oberts o tancats en diverses circumstàncies, coneixerem la creació d'un servidor web en python que es connectarà a la interfície bluetooth d'ombres i exposarem una API per controlar els ombres, també integrarem amb thingspeak i allà es poden fer coses com controlar les ombres en un horari horari o controlar-lo mitjançant l'entrada del sensor

Aquest serà un tutorial intermedi, necessitareu habilitats com la soldadura, la programació arduino, la comprensió electrònica bàsica i algunes instruccions per instal·lar serveis en un servidor, executar-los i configurar-los.

Si us han agradat els vídeos de youtube, us podeu subscriure aquí.

Pas 1: coses necessàries

Coses necessàries
Coses necessàries
Coses necessàries
Coses necessàries

Consell: amplieu les imatges per veure-hi les etiquetes descriptives

Parts:

1. Arduino pro mini 16Mhz tipus 5V (eBay) 2 $

2. Mòdul bluetooth HC-05 (eBay) 3,3 $

3. 5 V relés de dos canals (eBay) 1,6 $

4. Transistor NPN que té una puntuació mínima d'alguns amplificadors, he utilitzat Tip142T <1 $

5. 220 ohms, rezistor de 0,25 W <1 $

6. díode, 1N4004 <1 $

7. cables per connectar les parts <1 $

8. PCB (eBay) <1 $ per peça

9. 2 x Connector de rosca KF301-2P (eBay) <1 $ per peça

10. cables de pont masculí-femení (eBay) 1,2 $ x 2 per un munt

11. Regulador L7805CV 5V (eBay) <1 $ per peça

12. Presa de presa de corrent continu de 5,5 mm, femella i femella (eBay) <1 $ per peça

13. Tubs termocontraients o cinta aïllant

14. Font d'alimentació, el subministrament s'ha de classificar per a 12V i 2-3A.

He recuperat la meva d'un carregador de 12 V 2 A (eBay) de 3,2 $

14. Bloc de terminals (eBay) 15c

15. portafusibles (Aliexpress) 1 $ per peça

16. fusible (eBay) <1 $ per peça

17. connectors de PCB masculins i femenins (eBay) <1 $ per al que necessitem

18. Cable d'alimentació de CA.

19. caixa de plàstic, el meu tenia 6 x 19 cm

Eines:

1. Soldador amb soldadura

2. Tallador de filferro

3. Diversos tornavisos

4. Cortador

5. trepant de potència i broca de 8,5 mm

6. Adaptador USB a sèrie FTDI FT232RL per programar l'arduino pro mini

7. Portàtil amb ArduinoIDE instal·lat per programar l'arduino

8. Encenedor si utilitzeu tubs termorretractables

9. Un telèfon intel·ligent capaç de connectar-se al bluetooth (utilitzo un androide a l'exemple) amb un programari bluetooth instal·lat

10. Opcional: lupa, multímetre, alicates

Pas 2: Preparatius

Preparatius
Preparatius
Preparatius
Preparatius
Preparatius
Preparatius

Triar la font d’alimentació i la caixa de plàstic

El primer és determinar quanta intensitat i quina tensió funcionen els motors d’ombra.

Això es pot fer llegint les especificacions o prenent mesures amb el multímetre. Normalment funcionen de 12 V i 1-3 Amps (els meus són de 2,5 A i 12 V). Multipliqueu el corrent per quants d'ells necessiteu conduir simultàniament (jo condueixo dos) per esbrinar el corrent màxim necessari. Haureu de trobar una font d’alimentació que sigui exactament del mateix voltatge i, idealment, del mateix amperatge o lleugerament superior.

En aquest pas he enganyat una mica, fent servir una font d'alimentació de 12 V i 2,5 A per accionar dos motors de 12 V i 2,5 A, cosa que significa que els motors fan servir el doble de potència que la font d'alimentació. Però mitjançant una tècnica anomenada PWM (consulteu l'enllaç per veure més detalls) he aconseguit conduir el motor simultàniament a una velocitat inferior.

El motiu pel qual ho he fet és estalviar espai al quadre (he triat un quadre més petit).

El tancament de plàstic haurà d’allotjar la font d’alimentació, dos relés, una petita placa amb l’electrònica i cables, així que trieu la mida perquè encaixi tot.

La meva font d'alimentació tenia una carcassa de plàstic que he trencat amb una eina dremel, he tallat els cables existents i d'aquesta manera tinc una font d'alimentació petita i barata adequada per al meu projecte (veure imatges).

Prepareu els cables del motor

Heu de calcular quant de temps duraran els cables del motor, és a dir, fins que arribin a la caixa de control que estem fent. El més probable és que els cables existents no siguin prou llargs i haureu d’estendre’ls, desproveu els dos cables (el cable de les fulles existents i els cables d’extensió) en un extrem, poseu tubs de contracció de calor, soldeu els cables i apliqueu calor amb més lleuger per aïllar.

Al final del cable d’extensió hi haurà un endoll de corrent continu de 5,5 mm de corrent continu. Cal soldar els dos cables al sòcol; el resultat final serà com a les imatges.

Inserció del connector femella de 5,5 mm de corrent continu a la caixa

Mitjançant la màquina de perforació, foradeu dos forats prou grans perquè el gat es pugui lliscar. Introduïu les preses de l’endoll, cargoleu-les amb les femelles. A continuació, soldeu cables negres i vermells gruixuts a cadascuna de les preses d’entrada, després aïlleu-los mitjançant un tub de contracció de calor. Els cables haurien de ser prou llargs per entrar fàcilment al bloc de tires de terminals, però no ocupar massa espai.

Col·locar el portafusibles amb el fusible

Per un costat de la caixa, practiqueu un petit forat per posar una femella petita que subjecti el portafusibles. A continuació, utilitzeu les alicates, un tornavís i la femella, cargoleu-la bé a la seva posició. El portafusibles hauria d’estar a prop de la font d’alimentació i hauria d’estar dins de la caixa. Una vegada més reviseu les imatges.

Pas 3: Construir el PCB amb electrònica

Construint el PCB amb electrònica
Construint el PCB amb electrònica
Construint el PCB amb electrònica
Construint el PCB amb electrònica
Construint el PCB amb electrònica
Construint el PCB amb electrònica

El PCB contindrà el microcontrolador, la comunicació bluetooth, el mòdul RTC, un tranzistor de potència amb un díode de protecció i un petit resististor, cables de connectors i un regulador de 5 V.

He adjuntat l'esquema de Fritzig perquè les coses siguin fàcils. La primera imatge representa la imatge exportada de l'esquema i també he adjuntat sketch.fzz (el fitxer original, podeu obrir-lo amb aquesta eina)

Passos de soldadura:

1. talleu els connectors femella de PCB, hi ha dos connectors de 12 pins per al microcontrolador, també hi ha un connector de 6 pins per al bluetooth i un altre de 12 pins al costat dret del microcontrolador i un connector de dos pins per al relé negatiu i poder positiu

2. Després de tallar tots els connectors, s'ha de soldar a la part posterior del PCB

3. Soldeu els dos connectors d'endoll KF301-2P

4. Col·loqueu el regulador L7805CV 5V al PCB. Doblegueu les potes i soldeu-les per l’altre costat i, a continuació, talleu l’excés de potes amb el tallador de cables

5. Soldeu el tranzistor NPN Tip142T i el díode de protecció 1N4004, talleu l'excés de potes després

6. Soldeu el rezistor de 220 ohm entre el pin digital corresponent 5 i el pin de la base del tranzistor

7. Soldeu cables més gruixuts entre el tranzistor i els endolls KF301-2P (vermell i negre tal com estan marcats a les imatges)

8. Soldeu tots els fils prims vermells (+), negres (-) i blancs (senyal) segons l’esquema de Fritzig

9. Soldeu els pins masculins al microcontrolador que necessiteu dos pins masculins de 12 laterals

10. Feu connexions entre els pins corresponents femenins del costat dret del microcontrolador (s’explica millor a les imatges). Les connexions es faran amb només soldar (els passadors estaran a prop)

11. Opcional: amb la lupa inspeccioneu les soldadures per si hi ha curtcircuits i comproveu si els cables estan soldats correctament a la part posterior del PCB, també podeu comprovar amb el multímetre (ajust de resistència) si hi ha un curtcircuit entre positiu i connexions negatives. Una altra prova és alimentar el circuit sense el microcontrolador, bluetooth

12. Col·loqueu el microcontrolador i el bluetooth HC-05 al pcb

Pas 4: cablejat i muntatge

Cablatge i muntatge
Cablatge i muntatge
Cablatge i muntatge
Cablatge i muntatge

A hores d’ara ja tenim a punt el nostre pcb, la nostra caixa de plàstic preparada per als cables d’ombra i els altres components preparats. Tot el que hem de fer ara és connectar el sistema.

1. a través del forat lateral superior de la caixa, introduïu el cable d'alimentació de CA, retireu el cable i soldeu-lo a la font d'alimentació (si la vostra font d'alimentació té cargols, cargoleu-la)

2. mitjançant una soldadura de filferro vermell, la sortida (+) de la font d'alimentació a un dels fusibles laterals, utilitzeu una mica de tubs termoretràctils per amagar el fil exposat.

3. torneu a soldar un altre cable vermell a l’altre costat del fusible, apliqueu-hi un tub retràctil, l’altre costat del cable s’hauria d’inserir i cargolar a l’entrada (+) del connector de cargol KF301-2P

4. soldeu un cable negre al costat de sortida (-) de la font d'alimentació i, a continuació, cargoleu-lo al connector de cargol KF301-2P d'entrada PCB.

4. Utilitzant connectors de taulers de connexió home-femella, connecteu el relé positiu i negatiu als connectors femella positius i negatius del PCB. Connecteu també els pins 8 i 9 del microcontrolador (mitjançant els connectors mare del PCB a l’esquerra de la PCB) als pins d’activació del relé

5. connecteu un dels laterals del bloc de borns als cables vermells, respectivament de color negre, que provenen dels connectors femelles del connector d'alimentació de CC de 5,5 mm. Si teniu més d'un connector femella de 5,5 mm com jo, llavors tots els cables vermells acabaran a la part superior esquerra del bloc de terminals i tots els cables negres a la part superior dreta del bloc de terminals (vegeu les imatges). Quan feu servir les ombres si no es mouen en la mateixa direcció, invertirem els cables aquí (més informació més endavant)

6. connecteu els cables positiu i negatiu que provenen del connector de cargol KF301-2P (fora) als mitjans dels terminals del relé. El mig dels terminals s’anomena comú.

7. connecteu la part esquerra del relé esquerre (no importa com estigueu mirant cap al realment) al costat esquerre del relé dret a la part inferior esquerra del bloc de terminals. A continuació, connecteu el costat dret del relé esquerre al costat dret del relé dret al costat inferior dret del bloc de terminals. El bloc de terminals tindrà la cara superior connectada als connectors femella de 5,5 mm (vegeu el pas 5).

Nota: He descrit el bloc de terminals com que té els costats superior i inferior amb cadascun dels costats esquerre i dret. No importa com mantingueu el bloc de terminals sempre que recordeu quin costat és què. Podeu consultar les imatges i sobretot l'esquema de Fritzig.

Pas 5: el codi Arduino

El codi Arduino
El codi Arduino

El codi s’ha de penjar a l’arduino pro mini mitjançant l’adaptador FTDI USB a sèrie FT232RL.

Haureu de connectar el pin GND, VCC, Rx, Tx i DTR a l’arduino pro mini. A continuació, obriu el port / eines de selecció de programari arduino i el port que feu servir. A continuació, Tools / Board / Arduino Pro o Pro Mini. A continuació, Tools / Board / Processor / ATmega328 (5V 16Mhz).

Finalment, obriu l'esbós a continuació i premeu Carrega.

Ajustos: l'únic que es pot ajustar a l'esbós és el pwmPower. El valor pot oscil·lar entre 0 i 255 i representa aproximadament la quantitat de subministrament d'energia que es destinarà als motors d'ombra. Bàsicament s’encén i apaga l’energia ràpidament. L'he implementat sobretot per permetre'm utilitzar una font d'alimentació més petita sense escalfar ni apagar-me. Si la vostra font d'alimentació té una potència superior a la que consumiran els motors, podeu configurar el pwmPower a 255.

Llavors, com funciona aquest programa: primer escolta la línia de sèrie (una sèrie de programari secundari) per a les transmissions entrants. Quan arriba una transmissió, el missatge es llegeix en una memòria intermèdia fins que aparegui ";" és present o s’arriba al final de la memòria intermèdia. A continuació, s’analitza i, si té un format correcte (per exemple: O45;), es crida a la funció toggleState amb el primer estat del paràmetre i després la durada.

Per aconseguir l'interruptor de polaritat, tots dos relés s'obren o es tanquen. El tranzistor s'encén i s'apaga mitjançant el PWM durant la durada especificada. O45 significa obert durant 45 segons.

Després d'executar l'ordre, s'esborra la memòria intermèdia.

Pas 6: Ús

Ús
Ús
Ús
Ús
Ús
Ús

Podem utilitzar els controls de més d’una manera

1. Mitjançant una aplicació Bluetooth per a Android o iPhone (la més senzilla)

A la meva demostració he triat una aplicació per a Android anomenada Bluetooth Controller. Aquesta aplicació us permet personalitzar els botons que us enviaran dades de sèrie. He creat dos botons anomenats Amunt i Avall, he associat Amunt amb el codi "C40;" i el Down amb "O35;".

"C40;" vol dir que tancaré (retractaré) els tons durant 40 segons, "035" significa que obriré (pujaran) durant 35 segons. ";" és el terminador d'ordres que he triat al meu esbós, això significa que indica el final d'una ordre.

2. Mitjançant un script Python que s’executa contínuament en segon pla

Aquesta és la part avançada del tutorial. He demanat un script Python que s'executarà en un servidor com un raspberry pi o un ordinador portàtil amb accés a Internet. Es connectarà al bluetooth del quadre de control i exposarà una API http. Es pot accedir a l'API directament o mitjançant Thingspeak.

Us explicaré pas a pas què haureu de fer

a. el primer és emparellar el bluetooth

utilitzarà l'ordre bluetoothctl des de la consola, dins del tipus

encès

detectable a l'agent amb l'agent per defecte aparellable a l'escaneig al parell xx: xx: xx: xx: xx: xx (i introduïu la contrasenya) confieu en xx: xx: xx: xx: xx: xx (si no hi ha cap contrasenya):

a continuació, obriu el fitxer de configuració del bluetooth

vim /etc/bluetooth/rfcomm.conf

a dins haurà de configurar el dispositiu bluetooth de la manera següent:

rfcomm1 {

lligar sí; dispositiu your_bluetooth_mac_address alguna cosa així com 97: D3: 31: 21: A0: 51; canal 1; comentari "Connexió a les meves ombres bt"; }

enllaçar, reiniciar els serveis bluetooth

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

b. instal·lar matràs, autenticitat bàsica del matràs:

sudo -H pip instal·la Flask Flask-BasicAuth

c. creeu un fitxer server.py amb el codi següent i executeu el servidor:

# usage: python httpToBluetooth nom d'usuari contrasenya adreça bluetooth

# Nota: s'utilitzen el nom d'usuari i la contrasenya

importació de sistemes operatius, bluetooth, sys, threading

des de la importació de flascó Flask de la importació de flask_basicauth BasicAuth de la importació de la cua Cua app = Flascó (_ nom_) configuration = sys.argv app.config ['BASIC_AUTH_USERNAME'] = configuració [1] app.config ['BASIC_AUTH_PASSWORD'] = configuració [2] cua = Queue () basic_auth = BasicAuth (app) classe BluetoothBackground (threading. Thread): def _init _ (self, bluetooth_address, queue): threading. Thread._ init _ (self) self._ bluetooth_address = bluetooth_address self._ queue = queue self.shutdown = False def run (self): self._ bluetooth = self.get_bluetooth () mentre que no self.shutdown: message = self._ queue.get () self._ bluetooth.send (message) self._ bluetooth.close () def get_bluetooth (self): connection = bluetooth. BluetoothSocket (bluetooth. RFCOMM) connection.settimeout (None) try: connection.connect ((self._ Bluetooth_address, 1)) except Exception, e: print 'Error connection to bluetooth' + str (e) connection.setblocking (False) retorna la classe de connexió Servidor web (threading. Thread): execució def (auto): 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.required def send_to_serial (command): queue.put (command) return 'ok' threads = threads.append (BluetoothBackground (configuration [3], cua)) threads.append (Webserver ()) [thread.start () per a fils en fils]

per executar el servidor executeu:

contrasenya d’usuari python server.py 97: D2: 31: 20: A0: 51

D'acord, per tant, server.py és el nostre script, l'usuari i la contrasenya són les credencials que s'utilitzen per a la vostra autenticació i "97: D2: 31: 20: A0: 51" és la vostra adreça MAC bluetooth.

d. utilitzeu el servidor per enviar ordres des de qualsevol part del món

des del tipus de navegador: https:// your_ip: 5000 / send_to_serial / C30;

- introduïu l’usuari i la contrasenya que heu configurat anteriorment en iniciar el servidor Python

- "C30;" és l'ordre que s'enviarà al dispositiu bluetooth (la nostra caixa que controlarà els tons)

- comproveu que el vostre tallafoc no bloquegi el port 5000 (el fem servir)

- si esteu darrere d'un enrutador (per exemple, un raspberry pi), heu de fer un reenviament de ports des del router des del port 5000 fins al port 5000

e. Podeu utilitzar Thingspeak per fer coses com controlar les ombres en un horari o quan canvien algunes dades del sensor de canal. Per exemple, podeu connectar un sensor de llum (a l'exterior) al thinkpeak i quan el nivell de llum baixi fins a una certa quantitat (és a la nit) podeu tancar les ombres perquè la gent de fora no us vegi.

Podeu connectar les ombres (servidor Python que hem configurat anteriorment) amb Thingspeak mitjançant ThingHTTP.

He inclòs una imatge del formulari ThingHTTP amb les dades emplenades com a exemple i una imatge amb TimeControl. Així doncs, per a una màxima flexibilitat, ThingsPeak hauria de fer tot el que necessiteu.

3. Mitjançant la meva aplicació domòtica

Això és una mica més complicat, la meva aplicació domòtica fa molt més que controlar les ombres.

També controla els llums, la porta, té múltiples sensors, s’integra amb interruptors i té regles complexes definides per l’usuari que poden, per exemple, obrir les ombres si el nivell de llum interior és baix o si és matí.

Podeu consultar el meu repositori de github i, si teniu cap pregunta, estaré encantat de respondre-les.

Si heu trobat el meu tutorial una mica útil, compartiu-lo o afegiu-lo a favorits. I també vull veure alguns comentaris interessants:)

Recomanat: