Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Timbre de puerta Zigbee de $ 20

Componentes y suministros

Arduino Nano R3
× 1
Bombilla LED conectada Cree
Bombilla inteligente regulable LED Zigbee de Cree
× 1

Aplicaciones y servicios en línea

Arduino IDE

Acerca de este proyecto

Mi configuración

Tengo una red de malla zigbee / z-wave bastante extensa para mi sistema de automatización del hogar conectado a Internet (a través de SmartThings) que hace de todo, desde controlar mis luces y monitorear el uso de electricidad hasta alertarme sobre el clima extremo y recordarme que alimente a los perros.

Toda la interfaz de usuario se realiza a través de una aplicación de teléfono inteligente, y las alertas pueden enviarse a través de la aplicación o enviarse por SMS. Un caso de uso que creo que se ha escapado es una campanilla amigable para alertar a los ocupantes sobre cambios de estado dentro de la casa (puertas / ventanas / cajas fuertes / portones que se abren, clima severo entrante o temperatura en la guardería demasiado alta).


El problema

Ya existen algunas opciones para activar una sirena súper fuerte cuando se dispara un sensor de movimiento o un sensor de ventana / puerta, pero no pude encontrar ningún timbre de puerta simple. Esta es una característica básica de casi todos los sistemas de seguridad para el hogar que existen, por lo que me sorprendió mucho descubrir que no existía. Busqué piratear un sensor de timbre remoto, pero la parte difícil / costosa fue conseguirlo en mi red de malla z-wave / zigbee. SmartThings tiene una API para altavoces SONOS [caro], y he visto a personas conectar en cadena múltiples integraciones desde SmartThings a IFTTT a Twitter a un arduino con conexión wifi [demasiado complicado y lento].

Con todo, cualquiera de estas soluciones costaría más de $ 40 y quiero tener la misma funcionalidad con un mejor rendimiento por menos de $ 20.


Ingrese la bombilla LED conectada Cree

Home Depot vende Cree Connected Bulb por $ 15 y son, con mucho, mis bombillas inteligentes favoritas. Nada más por debajo de $ 50 se acerca en salida de luz, temperatura de color, rango regulable, longevidad o rango inalámbrico.

Ya cambié todas mis viejas bombillas inteligentes por estas y me sobraron algunas, así que ahora quiero ver qué más puedo hacer con este hardware barato y confiable. Otros han derribado las bombillas y han descubierto que todos los componentes del zigbee están en una sola placa de conexión y están usando una potencia de 3.3v ... mis sentidos arduino están hormigueando.

Resulta que la placa zigbee en realidad tiene un Atmel SAMR21, que es un chip ARM Cortex de 32 bits con 256 KB de memoria flash (pdf). Atmel vende una placa dev SAMR21 por $ 42, por lo que conseguirla por $ 15 es una ganga.

Menos de $ 20 de hardware

Prueba de concepto utilizando SmartThings

Aquí hay un PoC rápido que usa un monitor de cambio de estado en un arduino para activar un tono "timbre" en un zumbador piezoeléctrico. Los pines de salida de encendido / apagado y atenuación de la bombilla aún funcionan, y usando el motor de la aplicación SmartThings puedo construir cualquier lógica que quiera.

Incluso sin un arduino, puede tener el pin digital conectado directamente a un relé para encender / apagar casi cualquier cosa. Esto puede impulsar tiras de luces LED, abrir / cerrar puertas de garaje, encender motores / bombas, etc.

Prueba de concepto utilizando SmartThings

Dado que uno de los pines emite PWM, puedo conectarlo a uno de los pines de E / S analógicas en un arduino asignado para leer valores entre 1-100%. En SmartThings, estos se dividen en intervalos del 10%, por lo que entre eso y el encendido / apagado tengo 11 salidas distintas que puedo enviar a través de la placa zigbee. Esto le permitiría activar diferentes alertas según la puerta / ventana que esté abierta.

Esto puede expandirse más allá de una simple alerta o timbre. Otro proyecto en el que estoy trabajando en un blaster IR controlado por arduino para mis unidades de aire acondicionado de ventana, y ahora que puedo integrarme directamente con SmartThings usando el método anterior, conocerá mis sensores de presencia / ocupación y el estado de la casa.

Además, dado que todo esto es de 3.3v, es un caso de uso perfecto para un ATtiny85 y baterías de iones de litio de 3.7v para un paquete súper pequeño y portátil. También conservé la fuente de alimentación de la bombilla, ya que baja de 120 V CA a 3.3 V CC y sin duda será útil para proyectos futuros.

Estoy seguro de que a esta comunidad se le pueden ocurrir otros usos, así que comente cómo usaría esto o incluso cree su propia versión y publique el proyecto.

Código

  • Bosquejo del timbre de puerta
  • pitches.h
DoorChime Sketch C / C ++
Arduino Sketch para DoorChime
 #include  #include "pitches.h" / * Bosquejo rápido como PoC para la viabilidad de usar la placa en zigbee de Cree Connected LED para controlar otros dispositivos (un altavoz en este caso). Buddy Crotty - Marzo de 2015 versión 0.1.2 Completamente copiado de los bocetos de ejemplo de Tom Igoe:Detección de cambio de estado (detección de bordes) toneMelody Este código de ejemplo es de dominio público. http://arduino.cc/en/Tutorial/ButtonStateChange http://arduino.cc/en/Tutorial/ToneZigbee placa de Cree Connected LED pin 1 tierra pin 2 3.3Vin pin 3 PWM Out pin 4 Circuito de salida digital:* 8 -ohm altavoz en el pin digital 8 * Pin 2 conectado al pin 4 de la placa zigbee * /// esta constante no cambiará:const int buttonPin =2; // el pin al que está conectado el pulsador const int speakerPin =8; // el pin al que está conectado el altavoz // Las variables cambiarán:int buttonPushCounter =0; // contador del número de pulsaciones de botonesint buttonState =0; // estado actual del buttonint lastButtonState =0; // estado anterior del botón // notas en la melodía (7nationArmy):int melody [] ={NOTE_GS2, NOTE_GS2, NOTE_B2, NOTE_GS2, NOTE_FS2, NOTE_E2, NOTE_DS2}; // duraciones de las notas:4 =negra, 8 =corchea, etc.:int noteDurations [] ={4, 8, 8, 8, 8, 3.5, 3}; void setup () {// inicializar el pin del botón como entrada:pinMode (buttonPin, INPUT); // inicializa el LED como una salida:pinMode (speakerPin, OUTPUT);} void loop () {// lee el pin de entrada del botón pulsador:buttonState =digitalRead (buttonPin); // compara el buttonState con su estado anterior if (buttonState! =lastButtonState) {// si el estado ha cambiado, incrementa el contador if (buttonState ==HIGH) {// si el estado actual es HIGH entonces el botón // wend de apagado a encendido:buttonPushCounter ++; // toca el tono // itera sobre las notas de la melodía:for (int thisNote =0; thisNote <8; thisNote ++) {// para calcular la duración de la nota, toma un segundo // dividido por el tipo de nota. //p.ej. negra =1000/4, corchea =1000/8, etc. int noteDuration =10000 / noteDurations [thisNote]; tono (speakerPin, melodía [thisNote], noteDuration); // para distinguir las notas, establezca un tiempo mínimo entre ellas. // la duración de la nota + 30% parece funcionar bien:int pauseBetweenNotes =noteDuration * .32; delay (pauseBetweenNotes); // detiene la reproducción del tono:noTone (speakerPin); }} else {// si el estado actual es BAJO, entonces el botón // pasó de encendido a apagado:Serial.println ("apagado"); } // Retrasa un poco para evitar el rebote de delay (50); } // guarda el estado actual como el último estado, // para la próxima vez a través del bucle lastButtonState =buttonState; // enciende el timbre cada dos cambios de estado (solo cuando se abre la puerta) // la función módulo le da el resto de // la división de dos números:if (buttonPushCounter% 2 ==0) {digitalWrite (speakerPin, HIGH ); } else {digitalWrite (speakerPin, LOW); }} 
pitches.h C / C ++
biblioteca de lanzamientos para que no tenga que buscarla usted mismo
 / ******************************* **************** * Constantes públicas ***************************** ****************** / # define NOTE_B0 31 # define NOTE_C1 33 # define NOTE_CS1 35 # define NOTE_D1 37 # define NOTE_DS1 39 # define NOTE_E1 41 # define NOTE_F1 44 # define NOTE_FS1 46 # define NOTE_G1 49 # define NOTE_GS1 52 # define NOTE_A1 55 # define NOTE_AS1 58 # define NOTE_B1 62 # define NOTE_C2 65 # define NOTE_CS2 69 # define NOTE_D2 73 # define NOTE_DS2 78 # define NOTE_E2 82 # define NOTE_F2 87 # define NOTE_FS2 93 # definir NOTE_G2 98 # definir NOTE_GS2 104 # definir NOTE_A2 110 # definir NOTE_AS2 117 # definir NOTE_B2 123 # definir NOTE_C3 131 # definir NOTE_CS3 139 # definir NOTE_D3 147 # definir NOTE_DS3 156 # definir NOTE_E3 165 # definir NOTE_F3 175 # definir NOTE_FS3 185 # definir NOTE_G3 196 # define NOTE_GS3 208 # define NOTE_A3 220 # define NOTE_AS3 233 # define NOTE_B3 247 # define NOTE_C4 262 # define NOTE_CS4 277 # define NOTE_D4 294 # define NOTE_DS4 311 # define NOTE_E4 330 # define NOTE_F4 349 # de fine NOTE_FS4 370 # define NOTE_G4 392 # define NOTE_GS4 415 # define NOTE_A4 440 # define NOTE_AS4 466 # define NOTE_B4 494 # define NOTE_C5 523 # define NOTE_CS5 554 # define NOTE_D5 587 # define NOTE_DS5 622 # define NOTE_E5 659 # define NOTE_F5 698 # define 740 # define NOTE_G5 784 # define NOTE_GS5 831 # define NOTE_A5 880 # define NOTE_AS5 932 # define NOTE_B5 988 # define NOTE_C6 1047 # define NOTE_CS6 1109 # define NOTE_D6 1175 # define NOTE_DS6 1245 # define NOTE_E6 1319 # define NOTE_F6 1397 # define NOTE_ define NOTE_G6 1568 # define NOTE_GS6 1661 # define NOTE_A6 1760 # define NOTE_AS6 1865 # define NOTE_B6 1976 # define NOTE_C7 2093 # define NOTE_CS7 2217 # define NOTE_D7 2349 # define NOTE_DS7 2489 # define NOTE_E7 2637 # define NOTE_F7 2794 # define NOTE_FS 297 3136 # define NOTE_GS7 3322 # define NOTE_A7 3520 # define NOTE_AS7 3729 # define NOTE_B7 3951 # define NOTE_C8 4186 # define NOTE_CS8 4435 # define NOTE_D8 4699 # define NOTE_DS8 4978 

Esquemas

Diagrama de circuito de Fritzing de DoorChime con código de boceto DoorChime.fzz

Proceso de manufactura

  1. Bóveda del banco
  2. Puerta giratoria
  3. Campanilla de viento
  4. Bombilla
  5. Z-Wave vs. Zigbee
  6. Proyector láser interactivo con sensores Zigbee
  7. Windows IoT:puerta de reconocimiento facial
  8. Cómo conectarse
  9. ¿Qué es un pestillo?
  10. ¿Qué es un interruptor de jamba?
  11. Cómo arreglar la manija de la puerta de tu auto