Tabla de contenido:

Sombras de Windows automatizadas: 6 pasos (con imágenes)
Sombras de Windows automatizadas: 6 pasos (con imágenes)

Video: Sombras de Windows automatizadas: 6 pasos (con imágenes)

Video: Sombras de Windows automatizadas: 6 pasos (con imágenes)
Video: Truco para Acelerar PC o Laptop 2024, Noviembre
Anonim
Image
Image
Cortinas de Windows automatizadas
Cortinas de Windows automatizadas
Cortinas de Windows automatizadas
Cortinas de Windows automatizadas

Una palabra por delante

He visto muchos tutoriales sobre cómo automatizar cortinas y persianas manuales, bueno, en este automatizaremos cortinas eléctricas. Cubriremos cortinas eléctricas que funcionan con motores eléctricos de corriente continua (CC) que se abren o cierran invirtiendo la polaridad de la corriente.

Aunque si compra cortinas eléctricas obtendrá algo de automatización, hay razones para hacer la automatización por su cuenta, como:

* Es posible que solo tenga un interruptor cerca de ellos para control arriba / abajo

* es más barato (algunas empresas ofrecen automatización avanzada por mucho dinero extra)

* más flexible, puede programarlos para que se abran o cierren en diversas circunstancias, aprenderemos sobre cómo hacer un servidor web en Python que se conectará a la interfaz bluetooth de sombras y expondrá una API para controlar las sombras, también integraremos con Thingspeak y allí podría hacer cosas como controlar las cortinas en un horario o controlarlo a través de la entrada del sensor

Este será un tutorial intermedio, necesitará habilidades como soldadura, programación arduino, comprensión electrónica básica y algo de cómo instalar servicios en un servidor, ejecutarlos y configurarlos.

Si te gustaron los videos de youtube, puedes suscribirte aquí.

Paso 1: Cosas necesarias

Cosas requeridas
Cosas requeridas
Cosas requeridas
Cosas requeridas

Sugerencia: amplíe las imágenes para ver las etiquetas descriptivas en ellas

Partes:

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

2. Módulo bluetooth HC-05 (eBay) 3.3 $

3. Relés de dos canales de 5 V (eBay) 1,6 $

4. Transistor NPN que está clasificado para al menos algunos amperios, he usado Tip142T <1 $

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

6. diodo, 1N4004 <1 $

7. cables para conectar las piezas <1 $

8. PCB (eBay) <1 $ por pieza

9. 2 x KF301-2P conector de tornillo enchufable (eBay) <1 $ por pieza

10. cables de puente macho-hembra (eBay) 1,2 $ x 2 por un montón

11. Regulador L7805CV 5V (eBay) <1 $ por pieza

12. Enchufe macho y hembra de enchufe de alimentación de CC de 5,5 mm (eBay) <1 $ por pieza

13. Tubo termorretráctil o cinta aislante

14. Fuente de alimentación, la fuente debe estar clasificada para 12V y 2-3A.

He recuperado el mío de un cargador de 12 V 2 A (eBay) 3,2 $

14. Bloque de regleta de terminales (eBay) 15c

15. portafusibles (Aliexpress) 1 $ por pieza

16. fusible (eBay) <1 $ por pieza

17. conectores de pcb macho y hembra (eBay) <1 $ por lo que necesitamos

18. Cable de alimentación de CA

19. caja de plástico, la mía era de 6 x 19 cm

Instrumentos:

1. Soldador con soldadura

2. Cortador de alambre

3. Varios destornilladores

4. Cortador

5. taladro eléctrico y broca de 8,5 mm

6. Adaptador FTDI FT232RL de USB a serie para programar el arduino pro mini

7. Laptop con ArduinoIDE instalado para programar el arduino

8. Más ligero si usa tubos termorretráctiles

9. Un teléfono inteligente con capacidad para conexión bluetooth (yo uso un Android en el ejemplo) con un software bluetooth instalado

10. Opcional: lupa, multímetro, alicates.

Paso 2: Preparativos

Preparativos
Preparativos
Preparativos
Preparativos
Preparativos
Preparativos

Elegir la fuente de alimentación y la caja de plástico

Lo primero es determinar cuánta corriente y qué voltaje funcionan los motores de las cortinas.

Esto se puede hacer leyendo las especificaciones o tomando medidas con el multímetro. Por lo general, funcionan con 12 V y 1-3 amperios (los míos son de 2,5 A y 12 V). Multiplique la corriente por cuántos de ellos necesita conducir simultáneamente (yo conduzco dos) para averiguar la corriente máxima necesaria. Debe encontrar una fuente de alimentación que sea exactamente del mismo voltaje e idealmente del mismo amperaje o un poco más alto.

En este paso, he hecho un poco de trampa, usando una fuente de alimentación de 12 V y 2,5 A para impulsar dos motores de 12 V y 2,5 A, lo que significa que los motores utilizan el doble de energía que la fuente de alimentación. Pero usando una técnica llamada PWM (verifique el enlace para ver más detalles) he logrado conducir el motor simultáneamente a una velocidad más baja.

La razón por la que hice esto es para ahorrar espacio en la caja (he elegido una caja más pequeña).

La caja de plástico deberá albergar la fuente de alimentación, dos relés, una pequeña placa de circuito impreso con la electrónica y los cables, así que elija el tamaño para que todo encaje.

Mi fuente de alimentación tenía una caja de plástico que desgarré con una herramienta dremel, corté los cables existentes y de esta manera obtuve una fuente de alimentación pequeña y barata adecuada para mi proyecto (ver imágenes).

Prepare los cables del motor

Necesita calcular la longitud de los cables del motor, es decir, hasta que lleguen a la caja de control que estamos construyendo. Lo más probable es que los cables existentes no sean lo suficientemente largos y tendrá que extenderlos, pelar ambos cables (el cable de cuchillas existente y los cables de extensión) en un extremo, colocar tubos termocontraíbles, soldar los cables y luego aplicar calor con un más ligero para aislar.

Al final del cable de extensión habrá un enchufe macho de 5,5 mm DC Power Plug Jack Socket. Necesita soldar los dos cables al enchufe, el resultado final será como en las imágenes.

Inserción del conector hembra de alimentación de CC de 5,5 mm en la caja

Con la máquina perforadora, perfore dos orificios lo suficientemente grandes para que el gato se deslice a través de ellos. Inserte los enchufes de alimentación, atornille con las tuercas. Luego suelde los cables gruesos negros y rojos a cada una de las tomas de entrada, luego aíslelos con un tubo termorretráctil. Los cables deben ser lo suficientemente largos para entrar fácilmente en el bloque de la regleta de terminales, pero no demasiado largos para ocupar demasiado espacio.

Colocación del portafusibles con el fusible

En un lado de la caja, haz un pequeño orificio para colocar una pequeña tuerca que sujeta el portafusibles. Luego, con los alicates, un destornillador y la tuerca, atorníllelo en su posición. El portafusibles debe estar cerca de la ubicación de la fuente de alimentación y debe estar dentro de la caja. Una vez más, revisa las imágenes.

Paso 3: construcción de la PCB con electrónica

Construyendo la PCB con Electrónica
Construyendo la PCB con Electrónica
Construyendo la PCB con Electrónica
Construyendo la PCB con Electrónica
Construyendo la PCB con Electrónica
Construyendo la PCB con Electrónica

La PCB contendrá el microcontrolador, la comunicación bluetooth, el módulo RTC, un transistor de potencia con un diodo de protección y un pequeño rezistor, cables conectores y un regulador de 5V.

Adjunté el esquema de fritzig para que las cosas sean fáciles. La primera imagen representa la imagen exportada del esquema y también he adjuntado sketch.fzz (el archivo original, puede abrirlo con esta herramienta)

Pasos de soldadura:

1. corte los conectores hembra de PCB, hay dos conectores de 12 pines para el microcontrolador, también hay un conector de 6 pines para el bluetooth y otro conector de 12 pines en el lado derecho del microcontrolador y un conector de dos pines para el relé negativo y poder positivo

2. Después de cortar todos los conectores, se debe soldar en la parte posterior de la PCB.

3. Suelde los dos conectores enchufables KF301-2P

4. Coloque el regulador L7805CV 5V en la PCB. Dobla sus patas y suéldalas en el otro lado, luego corta las patas sobrantes con el cortador de cables.

5. Suelde el transistor NPN Tip142T y el diodo de protección 1N4004, corte las patas sobrantes después

6. Suelde el rezistor de 220 ohmios entre el pin digital 5 correspondiente y el pin de la base del tranzistor

7. Suelde cables más gruesos entre el tranzistor y los enchufes KF301-2P (rojo y negro como están marcados en las imágenes)

8. Suelde todos los cables delgados rojo (+), negro (-) y blanco (señal) de acuerdo con el esquema de Fritzig

9. Suelde los pines macho en el microcontrolador, necesita dos pines macho de 12 en los lados

10. Realice las conexiones entre cada uno de los pines correspondientes hembra del lado derecho del microcontrolador (se explica mejor en las imágenes). Las conexiones se realizarán usando solo soldadura (los pines estarán cerrados)

11. Opcional: con la lupa inspeccione las soldaduras en busca de cortocircuitos y verifique si los cables están correctamente soldados en la parte posterior de la PCB, también puede verificar con el multímetro (configuración de resistencia) si hay un cortocircuito entre el positivo y el conexiones negativas. Otra prueba es alimentar el circuito sin el microcontrolador, bluetooth

12. Coloque el microcontrolador y el bluetooth HC-05 en la PCB

Paso 4: cableado y montaje

Cableado y montaje
Cableado y montaje
Cableado y montaje
Cableado y montaje

A estas alturas ya tenemos nuestro PCB listo, nuestra caja de plástico lista, los cables de las cortinas conectados y nuestros otros componentes preparados. Todo lo que tenemos que hacer ahora es conectar el sistema.

1. a través del orificio lateral superior de la caja, inserte el cable de alimentación de CA, pele el cable y suéldelo en la fuente de alimentación (si su fuente de alimentación tiene tornillos, atorníllelo)

2. Utilice un cable rojo para soldar la salida (+) de la fuente de alimentación a uno de los lados de los fusibles, utilice un poco de tubo termorretráctil para ocultar el cable pelado expuesto.

3. suelde otro cable rojo al otro lado del fusible, aplique el tubo retráctil, el otro lado del cable debe insertarse y atornillarse en la entrada (+) del conector de tornillo KF301-2P

4. Suelde un cable negro al lado de salida (-) de la fuente de alimentación y luego atorníllelo en el conector de tornillo de entrada de PCB KF301-2P

4. Usando conectores macho-hembra de placa de prueba, conecte el relé positivo y negativo a los conectores hembra positivo y negativo de la PCB. También conecte las clavijas 8 y 9 del microcontrolador (usando los conectores madre de la placa de circuito impreso a la izquierda de la placa de circuito impreso) a las clavijas de activación del relé

5. conecte un lado del bloque de la regleta de terminales a los cables rojo y negro que provienen de los conectores hembra de enchufe de alimentación de CC de 5,5 mm. Si tiene más de un conector hembra de 5,5 mm como yo, todos los cables rojos terminarán en el lado superior izquierdo del bloque de terminales y todos los cables negros en el lado superior derecho del bloque de terminales (ver imágenes). Cuando opere las cortinas, si no se mueven en la misma dirección, invertiremos los cables aquí (más sobre eso más adelante)

6. conecte los cables positivo y negativo que vienen del conector de tornillo KF301-2P (salida) a los medios de los terminales del relé. El medio de los terminales se llama común.

7. conecte el lado izquierdo del relé izquierdo (no importa cómo esté mirando al real) al lado izquierdo del relé derecho al lado inferior izquierdo del bloque de terminales. Luego, conecte el lado derecho del relé izquierdo al lado derecho del relé derecho al lado inferior derecho del bloque de terminales. El bloque de terminales tendrá la parte superior conectada a los conectores hembra de 5,5 mm (consulte el paso 5).

Nota: He descrito que el bloque de terminales tiene lados superior e inferior, cada uno con un lado izquierdo y otro derecho. No importa cómo sujete el bloque de terminales siempre que recuerde de qué lado es qué. Puede consultar las imágenes y especialmente el esquema de fritzig.

Paso 5: el código Arduino

El código Arduino
El código Arduino

El código debe cargarse en el arduino pro mini usando el adaptador FTDI de USB a serie FT232RL.

Deberá conectar el pin GND, VCC, Rx, Tx y DTR al arduino pro mini. Luego abra el software arduino, seleccione herramientas / puerto y cualquier puerto que esté usando. Luego Herramientas / Tablero / Arduino Pro o Pro Mini. Luego Herramientas / Placa / Procesador / ATmega328 (5V 16Mhz).

Finalmente, abra el boceto a continuación y presione cargar.

Ajustes: Lo único que se puede ajustar en el boceto es el pwmPower. El valor puede estar entre 0 y 255 y representa aproximadamente la cantidad de energía de la fuente de alimentación que irá a los motores de las cortinas. Básicamente se trata de encender y apagar rápidamente. Lo he implementado principalmente para permitirme usar una fuente de alimentación más pequeña sin sobrecalentarme ni apagarme. Si su fuente de alimentación tiene una potencia mayor que la que consumirán los motores, puede configurar pwmPower en 255.

Entonces, ¿cómo funciona este programa? Primero escucha la línea serie (una serie de software secundaria) para las transmisiones entrantes. Cuando llega una transmisión, el mensaje se lee en un búfer hasta que el ";" está presente o se ha alcanzado el final del búfer. Luego se analiza y, si está en el formato correcto (por ejemplo: O45;), se llama a la función toggleState con el primer estado del parámetro y luego la duración.

Para lograr el interruptor de polaridad, ambos relés se abren o se cierran. El tranzistor se enciende y apaga usando el PWM durante la duración especificada. O45 significará abierto durante 45 segundos.

Una vez ejecutado el comando, se borra el búfer.

Paso 6: uso

Uso
Uso
Uso
Uso
Uso
Uso

Podemos usar los controles de más de una forma

1. A través de una aplicación bluetooth para Android o iPhone (la más sencilla)

En mi demostración, elegí una aplicación de Android llamada Bluetooth Controller. Esta aplicación te permite personalizar botones que enviarán datos en serie. He creado dos botones llamados Arriba y Abajo, he asociado Arriba con el código "C40"; y el Abajo con "O35;".

"C40;" significa que cerraré (retraeré) las cortinas durante 40 segundos, "035" significa que se abrirán (subirán) durante 35 segundos. ";" es el terminador de comando que he elegido en mi boceto, eso significa que señala el final de un comando.

2. A través de una secuencia de comandos de Python que se ejecuta continuamente en segundo plano

Esta es la parte avanzada del tutorial. He mande un script de Python que se ejecutará en un servidor como una Raspberry Pi o una computadora portátil con acceso a Internet. Se conectará al bluetooth en la caja de control y expondrá una API http. Se puede acceder a la API directamente o mediante thingspeak.

Te explicaré paso a paso lo que debes hacer.

una. lo primero es emparejar el bluetooth

usará el comando bluetoothctl desde la consola, dentro del tipo

encendido

detectable en el agente en el agente predeterminado emparejable en el escaneo en el par xx: xx: xx: xx: xx: xx (e ingrese la contraseña) trust xx: xx: xx: xx: xx: xx (si no hay contraseña):

a continuación, abra el archivo de configuración de bluetooth

vim /etc/bluetooth/rfcomm.conf

en el interior, deberá configurar su dispositivo bluetooth de la siguiente manera:

rfcomm1 {

atar sí; dispositivo your_bluetooth_mac_address algo como 97: D3: 31: 21: A0: 51; canal 1; comentar "Conexión a mis sombras bt"; }

enlazar, reiniciar los servicios bluetooth

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

B. instale el matraz, autenticación básica del matraz:

sudo -H pip install Flask Flask-BasicAuth

C. cree un archivo server.py con el siguiente código y ejecute el servidor:

# uso: python httpToBluetooth nombre de usuario contraseña bluetooth_address

# Nota: se utilizan nombre de usuario, contraseña

importar sistema operativo, bluetooth, sys, subprocesamiento

desde flask import Flask desde flask_basicauth import BasicAuth desde la cola import Queue app = Flask (_ name_) configuration = sys.argv app.config ['BASIC_AUTH_USERNAME'] = configuration [1] app.config ['BASIC_AUTH_PASSWORD'] = configuración [2] queue = Cola () basic_auth = BasicAuth (aplicación) clase BluetoothBackground (subproceso. Thread): def _init _ (self, bluetooth_address, queue): threading. Thread._ init _ (self) self._ bluetooth_address = bluetooth_address self._ queue = cola self.shutdown = False def run (self): self._ bluetooth = self.get_bluetooth () while not 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)) excepto Exception, e: print 'Error de conexión a bluetooth' + conexión str (e).setblocking (Falso) clase de conexión de retorno 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.required def send_to_serial (comando): queue.put (comando) return 'ok' threads = threads.append (BluetoothBackground (configuration [3], queue)) threads.append (Webserver ()) [thread.start () para hilo en hilos]

para ejecutar el servidor ejecute:

python server.py contraseña de usuario 97: D2: 31: 20: A0: 51

Ok, server.py es nuestro script, el usuario y la contraseña son las credenciales utilizadas para su autenticación, y "97: D2: 31: 20: A0: 51" es su dirección MAC de bluetooth.

D. use su servidor para enviar comandos desde cualquier parte del mundo

desde el tipo de navegador: https:// your_ip: 5000 / send_to_serial / C30;

- ingrese el usuario y la contraseña que configuró anteriormente cuando inició el servidor Python

- "C30;" es el comando que se reenviará al dispositivo bluetooth (nuestra caja que controlará las cortinas)

- verifique que el puerto 5000 no esté bloqueado por su firewall (estamos usando ese puerto)

- si está detrás de un enrutador (por ejemplo, un raspberry pi), necesita hacer un reenvío de puerto desde el enrutador desde el puerto 5000 al puerto 5000

mi. Puede usar Thingspeak para hacer cosas como controlar las cortinas en un horario o cuando cambian algunos datos del sensor de canal. Por ejemplo, puede conectar un sensor de luz (exterior) para pensar y cuando el nivel de luz desciende a cierta cantidad (es de noche) puede cerrar las persianas para que la gente de fuera no lo vea.

Puede conectar las sombras (servidor de Python que hemos configurado anteriormente) con Thingspeak usando ThingHTTP.

He incluido una imagen del formulario ThingHTTP con los datos completados como ejemplo y una imagen con TimeControl. Por lo tanto, para una máxima flexibilidad, Thingspeak debe hacer lo que necesite.

3. A través de mi aplicación de domótica

Esto es un poco más complicado, mi aplicación de domótica hace mucho más que controlar las cortinas.

También controla las luces, la puerta, tiene múltiples sensores, se integra con interruptores y tiene reglas complejas definidas por el usuario que pueden, por ejemplo, abrir las cortinas si el nivel de luz en el interior es bajo o si es por la mañana.

Puede consultar mi repositorio de github, y si tiene preguntas, estaré encantado de responderlas.

Si encontró mi tutorial algo útil, por favor compártalo o agréguelo a favoritos. Y también quiero ver algunos comentarios interesantes:)

Recomendado: