- Materiales necesarios:
- Diagrama del circuito de la palanca ciega:
- Programa Arduino para Smart Blind Stick:
- Arduino Blind Stick en acción:
¿Has oído hablar de Hugh Herr? Es un famoso escalador estadounidense que ha superado las limitaciones de sus discapacidades; Él cree firmemente que la tecnología podría ayudar a las personas discapacitadas a llevar una vida normal. En una de sus charlas TED, Herr dijo: “ Los humanos no están discapacitados. Una persona nunca puede romperse. Nuestro entorno construido, nuestras tecnologías, está roto y deshabilitado. Las personas no tenemos por qué aceptar nuestras limitaciones, pero podemos transferir la discapacidad a través de la Innovación tecnológica ”. Estas no eran solo palabras, sino que vivió su vida con ellas, hoy usa Prótesis de piernas y afirma vivir una vida normal. Entonces sí, la tecnología puede neutralizar la discapacidad humana; Con esto en mente, usemos algunas placas de desarrollo y sensores simples para construir un bastón ciego ultrasónico usando Arduino que podría funcionar más que un simple palo para personas con discapacidad visual.
Este Smart Stick tendrá un sensor ultrasónico para detectar la distancia desde cualquier obstáculo, LDR para detectar las condiciones de iluminación y un control remoto de RF con el que el ciego podría ubicar su stick de forma remota. Todos los comentarios se le darán al ciego a través de un Buzzer. Por supuesto, puede usar un motor vibrador en lugar de Buzzer y avanzar mucho más usando su creatividad.
Materiales necesarios:
- Arduino Nano (cualquier versión funcionará)
- Sensor ultrasónico HC-SR04
- LDR
- Zumbador y LED
- 7805
- Transmisor y receptor de RF de 433 MHz
- Resistencias
- Condensadores
- Presionar el botón
- Tablero perfilado
- Kit de soldadura
- Baterías de 9V
Puede comprar todos los componentes necesarios para este proyecto de barra ciega inteligente desde aquí.
Diagrama del circuito de la palanca ciega:
Este proyecto Arduino Smart Blind Stick requiere dos circuitos separados. Uno es el circuito principal que se montará en el bastón del ciego. El otro es un pequeño circuito transmisor de RF remoto que se utilizará para localizar el circuito principal. A continuación se muestra el diagrama del circuito de la placa principal para construir una palanca ciega usando un sensor ultrasónico:
Como podemos ver, un Arduino Nano se usa para controlar todos los sensores, pero también puedes construir este Smart Stick ciego usando arduino uno pero siguiendo los mismos pines y programa. La placa completa está alimentada por una batería de 9 V que se regula a + 5 V mediante un regulador de voltaje 7805. El sensor ultrasónico funciona con 5 V y el disparador y el pin Echo están conectados al pin 3 y 2 del nano Arduino como se muestra arriba. El LDR está conectado con una resistencia de valor 10K para formar un divisor de potencial y la diferencia de voltaje se lee mediante el pin A1 de Arduino ADC. El pin A0 del ADC se utiliza para leer la señal del receptor de RF. La salida de la placa viene dada por el Buzzer que está conectado al pin 12.
El circuito remoto de RF se muestra a continuación. Su funcionamiento también se explica con más detalle.
He utilizado un pequeño truco para hacer que este circuito de control remoto de RF funcione. Normalmente, mientras se usa este módulo RF de 433 MHz, se requiere un codificador y decodificador o dos MCU para funcionar, como en nuestro circuito transmisor y receptor RF anterior, usamos el IC HT12D y HT12E, decodificador y codificador respectivamente. Pero, en nuestra aplicación solo necesitamos que el receptor detecte si el transmisor está enviando algunas señales. Entonces, el pin de datos del transmisor está conectado a tierra o Vcc del suministro.
El pin de datos del receptor se pasa a través de un filtro RC y luego se entrega al Arduino como se muestra a continuación. Ahora, cada vez que se presiona el botón, el receptor envía un valor constante de ADC repetidamente. Esta repetición no se puede observar cuando no se presiona el botón. Entonces escribimos el programa Arduino para verificar los valores repetidos para detectar si el botón está presionado. Así es como una persona ciega puede rastrear su bastón. Puede consultar aquí: cómo funcionan el transmisor y receptor de RF.
He usado una placa perforada para soldar todas las conexiones para que quede intacta con el palo. Pero también puedes hacerlos en una placa de pruebas. Estas son las tablas que hice para este proyecto de barra ciega usando arduino.
Programa Arduino para Smart Blind Stick:
Una vez que estemos listos con nuestro hardware, podemos conectar el Arduino a nuestra computadora y comenzar a programar. El código completo utilizado para esta página se puede encontrar en la parte inferior de esta página, puede cargarlo directamente en su placa Arduino. Sin embargo, si tiene curiosidad por saber cómo funciona el código, lea más.
Como todos los programas, comenzamos con void setup () para inicializar los pines de entrada y salida. En nuestro programa, el pin Buzzer and Trigger es un dispositivo de salida y el pin Echo es un dispositivo de entrada. También inicializamos el monitor en serie para la depuración.
configuración vacía () {Serial.begin (9600); pinMode (Buzz, SALIDA); digitalWrite (Buzz, BAJO); pinMode (disparador, SALIDA); pinMode (eco, ENTRADA); }
Dentro del bucle principal estamos leyendo todos los datos de los sensores. Comenzamos leyendo los datos del sensor ultrasónico para distancia, LDR para intensidad de luz y señal RF para verificar si el botón está presionado. Todos estos datos se guardan en una variable como se muestra a continuación para uso futuro.
calcular_distancia (disparador, eco); Señal = analogRead (Remoto); Intens = analogRead (Light);
Comenzamos con la comprobación de la señal remota. Usamos una variable llamada similar_count para verificar cuántas veces se repiten los mismos valores desde el receptor de RF. Esta repetición ocurrirá solo cuando se presione el botón. Entonces, activamos la alarma de control remoto presionado si la cuenta excede un valor de 100.
// Verifique si se presiona Remote int temp = analogRead (Remote); cuenta_imilar = 0; while (Señal == temp) {Señal = analogRead (Remoto); similar_count ++; } // Si se presiona el control remoto if (similar_count <100) {Serial.print (similar_count); Serial.println ("Remote Pressed"); escritura digital (Buzz, ALTA); retardo (3000); escritura digital (Buzz, BAJA); }
También puede verificarlo en Serial Monitor en su computadora:
A continuación, verificamos la intensidad de la luz alrededor del ciego. Si el LDR da un valor inferior a 200 se supone que está muy oscuro y le damos el aviso mediante zumbador con un tono específico de retardo con 200ms. Si la intensidad es muy brillante que es más de 800 entonces también damos una advertencia con otro tono. El tono y la intensidad de la alarma se pueden variar fácilmente cambiando el valor respectivo en el siguiente código.
// Si es muy oscuro if (Intens <200) {Serial.print (Intens); Serial.println ("Luz brillante"); escritura digital (zumbido, ALTO); retardo (200); escritura digital (zumbido, BAJO); retardo (200); escritura digital (zumbido, ALTO); retardo (200); escritura digital (zumbido, BAJO); retardo (200); retraso (500); } // Si es muy brillante if (Intens> 800) {Serial.print (Intens); Serial.println ("Poca luz"); escritura digital (Buzz, ALTO); retardo (500); escritura digital (Buzz, BAJO); retardo (500); escritura digital (Buzz, ALTO); retardo (500); escritura digital (Buzz, BAJO); retardo (500); }
Finalmente, comenzamos a medir la distancia desde cualquier obstáculo. No habrá alarma si la distancia medida es superior a 50 cm. Pero, si mide menos de 50 cm, la alarma se activará con un pitido. A medida que el objeto se acerca al zumbador, el intervalo de pitidos también disminuirá. Cuanto más cerca esté el objeto, más rápido sonará el zumbador. Esto se puede hacer creando un retraso que sea proporcional a la distancia medida. Dado que el delay () en Arduino no puede aceptar variables, tenemos que usar un bucle for cuyo bucle se basa en la distancia medida como se muestra a continuación.
if (dist <50) {Serial.print (dist); Serial.println ("Alerta de objeto"); digitalWrite (Buzz, HIGH); para (int i = dist; i> 0; i--) delay (10); digitalWrite (Buzz, BAJO); para (int i = dist; i> 0; i--) delay (10); }
Obtenga más información sobre cómo medir la distancia con el sensor ultrasónico y Arduino.
El programa se puede adaptar fácilmente a su aplicación cambiando el valor que usamos para comparar. Utiliza el monitor en serie para depurar si se activa una falsa alarma. Si tiene algún problema, puede utilizar la sección de comentarios a continuación para publicar sus preguntas.
Arduino Blind Stick en acción:
Finalmente es hora de probar nuestro proyecto arduino de palo ciego. Asegúrese de que las conexiones se realicen según el diagrama de circuito y que el programa se haya cargado correctamente. Ahora, encienda ambos circuitos con una batería de 9V y debería comenzar a ver resultados. Mueva el sensor ultrasónico más cerca del objeto y notará que el zumbador suena y esta frecuencia aumenta a medida que la palanca se acerca al objeto. Si el LDR está cubierto de oscuridad o si hay demasiada luz, el timbre sonará. Si todo es normal, el timbre no sonará.
Cuando presione el botón en el control remoto, el timbre emitirá un pitido largo. El funcionamiento completo de este Smart Stick para ciegos que usan Arduino se muestra en el video que se encuentra al final de esta página. También utilizo un pequeño palo para montar el conjunto completo, puede usar uno más grande o un palo ciego real y ponerlo en acción.
Si su zumbador siempre suena, significa que la alarma se ha disparado en falso. Puede abrir el monitor en serie para verificar los parámetros y verificar cuál es crítico y ajustarlo. Como siempre, puede publicar su problema en la sección de comentarios para obtener ayuda. Espero que haya entendido el proyecto y haya disfrutado construyendo algo.