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

Dispositivos Arduino y AC - Luces automáticas

Componentes y suministros

Arduino UNO
× 1
Lámpara de bajo consumo
× 1
Adaptador de CC de 5 V
× 1
Cables de puente (genéricos)
× 1
Retransmisión (genérico)
× 1
Piezas electrónicas UTSOURCE
× 1

Herramientas y máquinas necesarias

Destornillador

Aplicaciones y servicios en línea

Microsoft Visual Studio 2015
Arduino IDE

Acerca de este proyecto

Luces de casa inteligentes

En este proyecto aprenderemos cómo usar el relé con sensor ultrasónico y Arduino para hacer que las luces de nuestra casa (o cualquier dispositivo) sean más inteligentes.

Nuestro objetivo es hacer que una bombilla de bajo consumo se apague cuando salga de la habitación y se encienda cuando vuelva a entrar. Es muy fácil para implementar y toma una pequeña cantidad de tiempo.

Este tutorial asume que es básico Conocimiento de Arduino. Si ha usado Arduino antes, está listo para comenzar.

Precaución:este proyecto utiliza una fuente de alimentación de CA de alto voltaje; si tienes menos de 16 años o no tienes suficiente experiencia, debes contar con una persona con experiencia para que te ayude con la parte de CA

Sin embargo, puede completar el proyecto utilizando dispositivos de CC que funcionan con bajo voltaje y demostrarán el mismo concepto. Expresaré la advertencia claramente cuando comience a ser peligroso.

Componentes

1) Arduino Uno

2) Multímetro

3) Cables de puente

4) Placa de pruebas

5) Módulo Realy

6) Sensor ultrasónico (HC-SR04) y biblioteca ultrasónica para Arduino. Puede encontrarlo aquí. Se llama biblioteca (New Ping). Si es la primera vez que instala una biblioteca externa en Arduino, consulte este enlace.

7) Fuente de alimentación de CC (opcional)

8) Destornillador (tipo + para el módulo de relés)

9) Bombilla de bajo consumo con su montaje y enchufe de pared adjuntos (utilicé un cable de alimentación de radio antiguo para conectarlo).

También usé una pistola de pegamento para unir los extremos de los cables, debes usar una cinta aislante.

10) Visual Studio para escribir código Arduino, ¿quieres saber cómo? mira este enlace, es totalmente gratis o puede usar Arduino IDE.

Empecemos.

Preparación del ultrasonido

En primer lugar, sabremos cómo conectar el sensor ultrasónico al Arduino, que se ilustra en la imagen a continuación. Más adelante describiremos cómo probar el sensor ultrasónico.

El módulo de relés

Luego conectaremos un canal del módulo de relé (ya que el que tengo tiene 2 canales), el pin Vcc va a 5v y el IN1 va al Pin 8 de Arduino (o cualquier pin de su elección).

Vale la pena señalar que mi módulo de relé está activo bajo, para saber cuál es la diferencia entre activo bajo y activo alto, consulte este enlace. Entonces, antes de continuar, debe conocer el modo activo de su relé, para hacerlo, simplemente conecte el Vcc y GND normalmente y luego conecte el pin IN a 5V si no pasa nada, entonces está activo bajo para asegurarse de que conecta el pin IN a GND.

La Lámpara

Luego prepare la lámpara para que se conecte al enchufe de la pared y el relé, un terminal se conectará directamente al enchufe, el otro tendrá un corte en el medio del camino, un extremo del corte irá al Normalmente Abierto pin (NO1) en el módulo de relé, el otro irá al pin COM1 y luego al enchufe.

El circuito final se convierte en (La lámpara se simplifica :))

Ahora hemos terminado con el hardware.

El código hace lo siguiente

  • Mide la distancia del ultrasonido
  • Comprueba si alguien pasó por la puerta
  • Cambia el estado de la luz

Lectura de valores del ultrasonido

Ahora probemos el sensor ultrasónico, este es el ejemplo de la biblioteca, es muy simple y directo, ya que solo imprime la distancia que lee.

Puede obtener la distancia en centímetros o pulgadas usando (sonar es el nombre de la instancia ultrasónica).

  sonar.ping_cm (); 
// O
sonar.ping_inch ();

Como podemos ver, también establece los pines del sensor ultrasónico y el rango máximo deseado.

Desafortunadamente, a veces el sensor ultrasónico lee una distancia defectuosa de vez en cuando.

Lo que puede mantener la luz encendida y apagada involuntariamente, para solucionar este problema debemos obtener un número de lecturas y seleccionar su promedio, otra forma de solucionarlo es usar el filtro de mediana que simplemente toma una cantidad de lecturas, las ordena en una matriz y selecciona el valor en el medio que es tan bueno para eliminar el ruido si ocurre con frecuencia.

Afortunadamente, la biblioteca NewPing tiene este filtro implementado en una función llamada

  sonar.ping_median (byte sin firmar numReadings);  

Simplemente pase la cantidad de lecturas que desea considerar como un máximo de muestra 512, ya que utilizan bytes sin firmar . .

esta función devuelve el tiempo que el eco usó para recuperarse, que debe convertirse a la unidad de longitud que está usando, esto también se implementa fácilmente en la biblioteca usando

  sonar.convert_cm (unsigned int echoTime); 
// O
sonar.convert_in (unsigned int echoTime);

El último inconveniente del ultrasonido es que lee 0 si no hay nada frente a él , esto se resuelve simplemente diciéndole que establezca la distancia en MAX_DISTANCE si lee 0, finalmente el código para leer el sensor se convierte en (la distancia es una variable global):

Detectando que algo ha pasado

Ahora comencemos a codificar, para saber que alguien ha pasado por el ultrasonido debe leer una distancia crítica que puede ser simplemente la mitad del ancho de la puerta. por lo que siempre estamos seguros de que alguien pasa por la puerta.

Otra cosa que quiero tener en cuenta es que la luz solo cambiar cuando algo ha pasado frente al ultrasónico, esto significa que si alguien está parado frente a él, no sucederá nada. El código para hacer esto es el siguiente

Felicidades !! ya está listo, adjuntaré todo el proyecto de Visual Studio ya que hice una pequeña edición a la biblioteca (usé asignación de memoria dinámica en lugar de matrices de tamaño variable, ya que Visual Studio no lo permite) y agregué algo de documentación.

Consulte los componentes electrónicos en utsource.net

Respeto este proyecto si lo encuentra útil, otros proyectos:

Mezclador de color Arduino

Coche RC usando 1Sheeld

Artículos

Desarrollando Arduino usando Visual Studio

Código

  • Luz de casa inteligente
  • Prueba ultrasónica
Luz de casa inteligente Arduino
Este código toma la lectura de entrada del ultrasonido y controla el relé en consecuencia
 #define TRIGGER_PIN 12 // Pin de Arduino vinculado al pin de disparo en el sensor ultrasónico. # Define ECHO_PIN 11 // Pin de Arduino vinculado al pin de eco en el sensor ultrasónico . # define MAX_DISTANCE 200 // Distancia máxima para la que queremos hacer ping (en centímetros). La distancia máxima del sensor está clasificada entre 400 y 500 cm. [este es un número arbitrario] #define RELAY_LINE1_PIN 8 # include "NewPing.h" NewPing sonar (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // Configuración NewPing de pines y distancia máxima.unsigned int critic_distance_cms =50; // Distancia de corte a la que cambiará la luz [este es un número arbitrario] bool state =0; void setup () {Serial.begin (9600); // Abra el monitor serial a 115200 baudios para ver los resultados del ping. pinMode (RELAY_LINE1_PIN, SALIDA); escritura digital (RELAY_LINE1_PIN, ALTA); // Apaga la luz} void loop () {delay (50); // Espere 50 ms entre pings (aproximadamente 20 pings / seg). 29 ms debería ser el retardo más corto entre pings. unsigned int distancia =readDistance (); // Distancia actual de cualquier objeto frente al sensor ultrasónico Serial.print ("Ultrasonic:"); Serial.print (distancia); // Enviar ping, obtener la distancia en cm e imprimir el resultado (0 =fuera del rango de distancia establecido) Serial.println ("cm"); // Alguien está cerca de la puerta if (distancia  
Prueba ultrasónica Arduino
Código para hacer que el ultrasonido imprima el valor que está leyendo
 // ----------------------------------- ---------------------------------------- // Ejemplo de boceto de biblioteca NewPing que hace un ping unas 20 veces por segundo.// ------------------------------------------ --------------------------------- # include  #define TRIGGER_PIN 12 // Pin de Arduino vinculado a Pin de disparo en el sensor ultrasónico. # define ECHO_PIN 11 // Pin de Arduino vinculado al pin de eco en el sensor ultrasónico. # define MAX_DISTANCE 200 // Distancia máxima para la que queremos hacer ping (en centímetros). La distancia máxima del sensor está clasificada en 400-500 cm. Nueva sonda Ping (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // Configuración NewPing de pines y distancia máxima.void setup () {Serial.begin (115200); // Abra el monitor serial a 115200 baudios para ver los resultados del ping.} Void loop () {delay (50); // Espere 50 ms entre pings (aproximadamente 20 pings / seg). 29 ms debería ser el retardo más corto entre pings. Serial.print ("Ping:"); Serial.print (sonar.ping_cm ()); // Enviar ping, obtener la distancia en cm e imprimir el resultado (0 =fuera del rango de distancia establecido) Serial.println ("cm");} 
Luces inteligentes para el hogar
Este es el proyecto completo para Visual Studio con la biblioteca editadahttps://github.com/shakram02/Arduino_SmartHouseLights.git

Esquemas

Este es el circuito completo que describe todo el proyecto.

Proceso de manufactura

  1. TinyML-Language Detector basado en Edge Impulse y Arduino
  2. Juego de giroscopio Arduino con MPU-6050
  3. Dados digitales Arduino
  4. Registrador de datos de temperatura y humedad
  5. Sistema de riego automático de plantas con Arduino
  6. Encuéntrame
  7. Zapatos inteligentes (autoajuste y generación de electricidad)
  8. Sonda usando arduino y visualización en procesamiento IDE
  9. Feliz cumpleaños:luces y sonidos
  10. Control del brillo del LED usando Bolt y Arduino
  11. Luz de escritorio reactiva de audio Arduino