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

FlickMote

Componentes y suministros

Sensor UltraSonic
× 1
Transmisor de infrarrojos (genérico)
× 1
Cátodo común difuso RGB
× 1
Arduino 101
× 1

Aplicaciones y servicios en línea

Arduino IDE

Acerca de este proyecto

INTRODUCCIÓN

El control de los electrodomésticos y los aparatos electrónicos a través de un control remoto por infrarrojos es ahora algo general. Pero la misma tarea de control se puede realizar más fácilmente. El motivo principal del propósito del nuevo sistema de control remoto por gestos de mano es eliminar la necesidad de mirar el control remoto de mano y buscar una tecla específica para una función específica, principalmente para las más antiguas. Este proyecto presenta un novedoso sistema para controlar electrodomésticos a través del gesto de la mano como dispositivo de control remoto. El proyecto se denominará flickremote en este informe. Utiliza un telémetro ultrasónico para determinar el gesto del usuario y emite una señal de infrarrojos, placa de desarrollo del microcontrolador Arduino 101

COMPONENTES DE HARDWARE

1. Un Arduino 101 o uno

2. Un módulo ultrasónico HC-SR04

3. Un LED de infrarrojos

4. Una resistencia adecuada para su LED infrarrojo (220R)

5. Un LED RGB

6. Una placa de pruebas y cables

CÓMO FUNCIONA:

Este proyecto utiliza un telémetro ultrasónico para determinar el gesto del usuario y emite una señal de infrarrojos a un televisor en el comando dado. La distancia o las pulgadas se pueden editar en el código que coincida con su conveniencia

- Deslizamiento alto (> 10 pulgadas) =​​Canal arriba

- Deslizamiento bajo =canal hacia abajo

- Retención alta (> 10 pulgadas) =​​Subir volumen

- Mantener bajo =Bajar volumen

- Sensor de cubierta (<3 pulgadas) =​​Encender / Apagar

Diagrama de circuito con Fritzing:

CONSTRUCCIÓN:

1. Conecte el LED de infrarrojos al pin 3 mediante una resistencia adecuada y luego conecte el cátodo a GND.

2. Conecte el sensor ultrasónico a 5v y GND donde especifiquen los pines. Conecte el pin de disparo al pin 8 y el pin de eco al 7. Puede configurar estos pines en el programa

3. Conecte el LED RGB a GND y los pines 11 (rojo), 10 (verde), 9 (azul). Estos pines también son configurables.

CONTROLES

Energía

Si desliza el sensor sobre el sensor dentro de las 3 pulgadas, el LED parpadeará en violeta. Esta es la confirmación de que una señal de 'encender / apagar' está lista para ser enviada. Para evitar que apague accidentalmente el televisor, hice que el boceto esperara un segundo deslizamiento dentro de los 5 segundos posteriores al primero para confirmar. En este punto, la señal se envía al televisor para que se encienda o apague.

Canal

Deslizar a 10 pulgadas del sensor (pero no a 3) hará que el canal cambie hacia abajo. Deslizar entre 10 y 20 pulgadas hará que el canal cambie hacia arriba.

Volumen

Sostener su mano a 10 pulgadas del sensor (pero no a 3) hará que el volumen baje. Mantener entre 10 y 20 pulgadas hará que el volumen cambie. El volumen seguirá cambiando (hacia arriba o hacia abajo) hasta que retire su mano

VENTAJAS Y MEJORA:

Eliminará la necesidad de mirar el control remoto de mano y buscar una tecla específica para una función específica

Una solución para controlar el dispositivo (TV) para ciegos y personas con discapacidades físicas

El proyecto se puede mejorar agregando más funcionalidad para controlar todos los electrodomésticos utilizando el mismo método

GRACIAS

Código

  • Código
Código C / C ++
 / * Swipe Remote Control Este boceto utiliza un telémetro ultrasónico para determinar el gesto del usuario y emite una señal de infrarrojos a un televisor Sony según el comando dado. Retención alta (> 10 pulgadas) =​​Subir volumen - Retención baja =Bajar volumen - Sensor de cubierta (<3 pulgadas) =​​Encender / Apagar Creado por Vignesh Jaishankar Este código usa la biblioteca IRremote (https://github.com/shirriff/Arduino-IRremote) * / # include  // Define las funciones de control # define CONTROL_CH 1 // Cambio de canal # define CONTROL_VOL 2 // Volumen # define CONTROL_POW 3 // Potencia # define CONTROL_UP 1 # define CONTROL_DOWN -1 # define DIST_MAX 20 // Distancia máxima en pulgadas, todo lo anterior se ignora. # Define DIST_DOWN 10 // Umbral para comandos arriba / abajo. Si es más alto, el comando está "arriba". Si es más bajo, "abajo". # Define DIST_POW 3 // Umbral para el comando de energía, más bajo que =encendido / apagado // IR PINconst int irPin =3; // esto está definido en la biblioteca, esta var es solo un recordatorio. CAMBIAR ESTO NO CAMBIARÁ EL PIN EN LA BIBLIOTECA // 2 pines Ping Sensorconst int pingPin =8; const int echoPin =7; // LED de confirmación Pinsconst int led =13; // LED interno para depuración arriba / abajoconst int ledR =11; const int ledG =10; const int ledB =9; // LED en temporizador largo sin firmar; // objeto transmisor IR IRsend irsend; // Indicador de confirmación de energía (necesita dos golpes para enviar señal) boolean powerConfirmed =false; void setup () {// inicializar la comunicación serial y configurar los pines Serial.begin (9600); pinMode (led, SALIDA); pinMode (ledR, SALIDA); pinMode (ledG, SALIDA); pinMode (ledB, SALIDA); pinMode (pingPin, SALIDA); pinMode (echoPin, ENTRADA); timer =millis ();} void loop () {// Serial.println (millis ()); larga duración, pulgadas; valor int; // Verifica la duración de la lectura =doPing (); // Temporizador para confirmar acciones (actualmente solo energía) if (timer &&timer <(millis () - 5000) &&(millis ()> 5000)) {Serial.println ("timer reset"); temporizador =falso; } digitalWrite (led, BAJO); setColor (0, 0, 0); // apagado // convertir el tiempo en una distancia pulgadas =microsegundosToInches (duración); // Si está a menos del máximo de pulgadas de distancia, act if (pulgadas  DIST_MAX) {doIR (CONTROL_CH, valor); // deslizar} else {// volumen int d =500; // el primer retraso es más largo para un solo cambio de volumen // repita hasta que se quita la mano while (pulgadas  DIST_DOWN) {digitalWrite (led, ALTO); return CONTROL_UP; } else {digitalWrite (led, LOW); return CONTROL_DOWN; }} / ** Disparar código IR correcto * / void doIR (int control, int val) {switch (control) {case CONTROL_POW:// power Serial.println ("power on / off 0xa90"); para (int i =0; i <3; i ++) {setColor (255, 0, 0); irsend.sendSony (0xa90, 12); // Retardo del código de alimentación de Sony TV (40); } descanso; case CONTROL_CH:setColor (0, 255, 0); // salida 'canal arriba / abajo' dependiendo de val if (val ==CONTROL_UP) {digitalWrite (led, HIGH); para (int i =0; i <3; i ++) {irsend.sendSony (0x90, 12); retraso (40); } Serial.println ("canal hasta 0xD00A"); } else // down {for (int i =0; i <3; i ++) {irsend.sendSony (0x890, 12); retraso (40); } Serial.println ("canal abajo 0x3002"); } descanso; case CONTROL_VOL:setColor (0, 0, 255); // salida 'volumen arriba / abajo' dependiendo de val if (val ==CONTROL_UP) {digitalWrite (led, HIGH); para (int i =0; i <3; i ++) {irsend.sendSony (0x490, 12); retraso (40); } Serial.println ("subir volumen 0x490"); } else // down {for (int i =0; i <3; i ++) {irsend.sendSony (0xC90, 12); retraso (40); } Serial.println ("bajar volumen 0xC90"); } descanso; }} void setColor (int rojo, int verde, int azul) {analogWrite (ledR, rojo); analogWrite (ledG, verde); analogWrite (ledB, azul);} doPing largo () {digitalWrite (pingPin, LOW); delayMicroseconds (2); digitalWrite (pingPin, ALTO); delayMicroseconds (5); digitalWrite (pingPin, BAJO); return pulseIn (echoPin, HIGH);} microsegundos largos a pulgadas (microsegundos largos) {microsegundos de retorno / 74/2;} microsegundos largos a centimetros (microsegundos largos) {microsegundos de retorno / 29/2;} 

Esquemas

flickmote_9Gx3XNFHEp.fzz

Proceso de manufactura

  1. Máquina de LEVITACIÓN ULTRASÓNICA usando ARDUINO
  2. Arduino Spybot
  3. Televisión casera B-Gone
  4. Reloj maestro
  5. Encuéntrame
  6. Arduino Power
  7. Tech-TicTacToe
  8. Arduino Cuadrúpedo
  9. Joystick de Arduino
  10. Mini radar con Arduino
  11. Máquina CNC