¿Cómo hacer un palo inteligente para personas ciegas usando Arduino?

Creo firmemente en una cita de Helen Keller que dice “Lo único peor que ser ciego es tener vista pero no tener visión”. La tecnología podría ayudar a las personas discapacitadas a vivir una vida normal como lo hacen otros seres humanos. Todo el mundo conoce a la niña india llamada Arunima Sinha que perdió su pierna en un accidente de tren y tuvo que caminar con las prótesis de pierna por el resto de su vida. Después del accidente, decidió escalar el Monte Everest con una prótesis y, por lo tanto, la última tecnología le abrió el camino para lograr su sueño.



Palo inteligente

De hecho, la tecnología puede neutralizar la discapacidad humana; Con esto en mente, usemos el poder de Arduino y sensores sencillos para construir un bastón de ciego que podría salvar la vida de las personas con discapacidad visual. Se instalará un sensor ultrasónico en un palo que detectará la distancia de una persona a cualquier obstáculo, un LDR para detectar las condiciones de iluminación y un control remoto de RF que el ciego podría usar para localizar remotamente su palo. Todas las direcciones se le darán al ciego a través de un Buzzer. Podemos usar un motor vibrador en lugar de Buzzer y avanzar mucho más usando nuestra creatividad.



Smart Stick para ciegos (imagen cortesía: Circuit Digest)



¿Cómo utilizar Arduino para diseñar el circuito?

Ahora que conocemos el resumen del proyecto, avancemos y recopilemos información diferente para comenzar a trabajar. Primero haremos una lista de los componentes, luego los estudiaremos brevemente y luego ensamblaremos todos los componentes para hacer un sistema que funcione.



Paso 1: Componentes necesarios (hardware)

  • LDR
  • Zumbador
  • LED
  • Transmisor y Receptor Supperhetrodine
  • Resistor
  • Presionar el botón
  • Veroboard
  • Batería de 9V
  • Multímetro digital
  • Pistola de pegamento

Paso 2: Componentes utilizados (software)

  • Proteus 8 Professional (se puede descargar desde aquí )

Después de descargar el Proteus 8 Professional, diseñe el circuito en él. Hemos incluido simulaciones de software aquí para que sea conveniente para los principiantes diseñar el circuito y hacer las conexiones adecuadas en el hardware.

Paso 3: estudiar los componentes

Ahora bien, hemos hecho una lista de todos los componentes que vamos a utilizar en este proyecto. Demos un paso más y pasemos por un breve estudio de todos los componentes principales.

  1. Arduino Nano: Arduino nano es una placa microcontroladora que se utiliza para controlar o realizar diferentes tareas en un circuito. Quemamos un Código C en Arduino Nano para decirle a la placa del microcontrolador cómo y qué operaciones realizar. Arduino Nano tiene exactamente la misma funcionalidad que Arduino Uno pero en un tamaño bastante pequeño. El microcontrolador de la placa Arduino Nano es ATmega328p.

    Arduino Nano



  2. Sensor ultrasónico HC-SR04: La placa HC-SR04 es un sensor ultrasónico que se utiliza para determinar la distancia entre dos objetos. Consta de un transmisor y un receptor. El transmisor convierte la señal eléctrica en una señal ultrasónica y el receptor convierte la señal ultrasónica nuevamente en la señal eléctrica. Cuando el transmisor envía una onda ultrasónica, se refleja después de chocar con cierto objeto. La distancia se calcula utilizando el tiempo que tarda la señal ultrasónica en ir desde el transmisor y regresar al receptor.

    Sensor ultrasónico

  3. Transmisor y receptor de RF de 433 mhz: Opera en una frecuencia específica de 433MHz. Hay varios otros dispositivos de radiofrecuencia disponibles en el mercado y, en comparación con ellos, el rendimiento de un módulo de RF dependerá de varios factores, como cuando aumentamos la potencia del transmisor, se obtendrá una gran distancia de comunicación. Causará un alto consumo de energía eléctrica en el dispositivo transmisor, lo que reducirá la vida útil de los dispositivos alimentados por batería. Si usamos este dispositivo con una potencia de transmisión más alta, el dispositivo creará interferencias con otros dispositivos de RF.

    Transmisor y receptor de RF

  4. 7805 Regulador de voltaje: Los reguladores de voltaje tienen una importancia significativa en los circuitos eléctricos. Incluso si hay una fluctuación en el voltaje de entrada, este regulador de voltaje proporciona un voltaje de salida constante. Podemos encontrar la aplicación del 7805 IC en la mayoría de los proyectos. El nombre 7805 significa dos significados, “78” significa que es un regulador de voltaje positivo y “05” significa que proporciona 5V como salida. Entonces, nuestro regulador de voltaje proporcionará un voltaje de salida de + 5V. Este IC puede manejar corriente alrededor de 1.5A. Se recomienda un disipador de calor para proyectos que consumen más corriente. Por ejemplo, si el voltaje de entrada es de 12 V y consume 1 A, entonces (12-5) * 1 = 7 W. Estos 7 vatios se disiparán en forma de calor.

    Regulador de voltaje

Paso 4: Montaje del circuito

Necesitaremos diseñar dos circuitos para este proyecto. El primer circuito se colocará en un lugar adecuado en un bastón de ciego y el segundo será un Transmisor de RF circuito y se utilizará para averiguar el circuito principal. Antes de diseñar el circuito en Proteus, debemos incluir la biblioteca de proteus del receptor de RF en el software. Puede descargar la biblioteca desde aquí y después de descargar la biblioteca, abra la Biblioteca carpeta y copia MODULO_RF.LIB y péguelo en la carpeta Library de Proteus. En caso de que no encuentre la carpeta de la biblioteca, haga clic en (C: Archivos de programa (x86) Labcenter Electronics Proteus 8 Professional LIBRARY). Cuando haya hecho esto, abra la carpeta MODELS, copie RX.MDF y péguelo en la carpeta proteus MODELS. En caso de que no encuentre la carpeta de modelos, haga clic en (C: Archivos de programa (x86) Labcenter Electronics Proteus 8 Professional MODELS).

Diagrama de circuito (imagen cortesía: Circuit Digest)

El microcontrolador que se utilizará para controlar todos los sensores del circuito es Arduino Nano. La fuente de alimentación utilizada para el funcionamiento del circuito es una batería de 9 V y este voltaje de 9 V se reduce a 5 V usando un 7805 Regulador de voltaje. Se puede ver en el circuito que el Sensor ultrasónico es alimentado por la Vout del regulador de voltaje. Los pines de disparo y eco del sensor están conectados al pin 3 y al pin 2 de Arduino respectivamente. los Resistencia dependiente de la luz (LDR) está conectado al potenciómetro de valor 10k y el Análogo a digital El pin de conversión A1 de Arduino está conectado a ese punto para notar la diferencia de voltaje. Necesitamos saber la señal que emite el receptor de RF, por lo que hemos conectado el pin A0 del ADC para leer la señal del receptor de RF. La salida de todo el circuito está dada por el zumbador entonces, el pin positivo del zumbador está conectado al pin 12 de Arduino y el pin negativo está conectado a la tierra del sensor ultrasónico.

No hemos incluido el transmisor de RF en nuestro diagrama de circuito porque lo ensamblaremos en el hardware por separado. Siempre que usamos un transmisor y receptor superheterodino de 433 MHz, necesitamos un microcontrolador para conectarlos con eso, pero en este proyecto necesitamos el único transmisor para enviar señales al receptor, por lo que hemos conectado el pin de datos del transmisor con el Vcc. El pin de datos del receptor pasa a través del filtro RC y luego se conecta al pin de datos A0 del Arduino respectivamente. Pulsaremos repetidamente el pulsador situado en el transmisor y cuando se pulse el botón el receptor dará como salida cualquier valor constante.

Transmisor de RF

Paso 5: montaje del hardware

Como hemos ejecutado la simulación, no estamos en condiciones de hacer un prototipo. Mientras suelda los componentes en la placa Perf, preste especial atención a los pines de Arduino Nano. asegúrese de que los pines no se toquen entre sí, de lo contrario, Arduino podría dañarse. Encuentre un palo en su casa y conecte el circuito compuesto por Arduino y el receptor de RF en él. Puede usar una pistola de pegamento caliente para unir el circuito en la barra y es mejor poner un poco de pegamento en los terminales positivo y negativo para que los cables de la fuente de alimentación no se desprendan si la barra se golpea firmemente en el suelo.

Circuito ensamblado en hardware (imagen cortesía: Circuit Digest)

Paso 6: Introducción a Arduino

Si no está familiarizado con Arduino IDE antes, no se preocupe porque a continuación, puede ver pasos claros para grabar código en la placa del microcontrolador usando Arduino IDE. Puede descargar la última versión de Arduino IDE desde aquí y siga los pasos a continuación:

  1. Cuando la placa Arduino esté conectada a su PC, abra 'Panel de control' y haga clic en 'Hardware y sonido'. Luego haga clic en 'Dispositivos e impresoras'. Busque el nombre del puerto al que está conectada su placa Arduino. En mi caso es “COM14” pero puede ser diferente en tu PC.

    Encontrar puerto

  2. Haga clic en el menú de herramientas. y coloque el tablero en Arduino Nano en el menú desplegable.

    Tablero de ajuste

  3. En el mismo menú de herramientas, establezca el puerto en el número de puerto que observó antes en el Dispositivos e impresoras .

    Puerto de configuración

  4. En el mismo menú de herramientas, configure el procesador ATmega328P (antiguo cargador de arranque).

    Procesador

  5. Descargue el código adjunto a continuación y péguelo en su IDE de Arduino. Clickea en el subir para grabar el código en la placa del microcontrolador.

    Subir

Para descargar el código, haga clic aquí.

Paso 7: Comprensión del código

El código está bien comentado y se explica por sí mismo. Pero aún así, se explica a continuación:

  1. Al comienzo del código, se inicializan todos los pines de la placa Arduino Nano que están conectados al sensor ultrasónico y al módulo de RF.
const int trigger = 3; // Pin de disparo del 1er sensor const int echo = 2; // Pin de eco del 1er sensor const int Buzz = 13; // Pin para conectar el zumbador const int Remote = A0; const int Light = A1; long time_taken; int dist; int Signal; int Intens; int similar_count;

2. configuración vacía () es una función que se utiliza para establecer todos los pines utilizados, como ENTRADA y SALIDA. La velocidad en baudios se define en esta función. La tasa de baudios es la velocidad de comunicación por la cual la placa del microcontrolador se comunica con los sensores integrados en ella.

configuración vacía () {Serial.begin (9600); pinMode (Buzz, SALIDA); digitalWrite (Buzz, BAJO); pinMode (disparador, SALIDA); pinMode (eco, ENTRADA); }

3. Ahora, crearemos una función que calculará la distancia.

vacío calcular_distancia (int disparador, int echo) {digitalWrite (disparador, BAJO); delayMicroseconds (2); digitalWrite (disparador, ALTO); delayMicroseconds (10); digitalWrite (disparador, BAJO); time_taken = pulseIn (eco, ALTO); dist = time_taken * 0.034 / 2; si (dist> 300) dist = 300; }

4. bucle vacío () es una función que se ejecuta repetidamente en un ciclo. En esta función le decimos a la placa del microcontrolador cómo y qué operaciones realizar. En el bucle principal, leeremos los datos de los sensores. Aquí, primero, el pin de disparo está configurado para enviar una señal que será detectada por el pin de eco. Se aplican algunas condiciones para hacer sonar el zumbador continuamente si se detecta un objeto a una distancia determinada. El zumbador emitirá un pitido con una pequeña interrupción si detecta oscuridad y emitirá un pitido con una interrupción ligeramente mayor si detecta brillo.

void loop () {// bucle infinito calcular_distancia (disparador, eco); Señal = analogRead (Remoto); Intens = analogRead (Light); // Compruebe 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'); digitalWrite(Buzz,HIGH);delay(3000);digitalWrite(Buzz,LOW); } //If very dark if (Intens800) { Serial.print(Intens); Serial.println('Low Light'); digitalWrite(Buzz,HIGH);delay(500);digitalWrite(Buzz,LOW);delay(500);digitalWrite(Buzz,HIGH);delay(500); digitalWrite(Buzz,LOW);delay(500); } if (dist<50) { Serial.print(dist); Serial.println('Object Alert'); digitalWrite(Buzz,HIGH); for (int i=dist; i>0; i--) retraso (10); digitalWrite (Buzz, BAJO); para (int i = dist; i> 0; i--) delay (10); } //Serial.print('dist= '); //Serial.println(dist); //Serial.print('Similar_count= '); //Serial.println(similar_count); //Serial.print('Intens= '); //Serial.println(Intens); }

Paso 8: prueba

Como entendimos el código, lo cargamos en el microcontrolador y ensamblamos el hardware también, ahora es el momento de probar nuestro proyecto. Antes de la prueba, asegúrese de que las conexiones estén hechas correctamente y verifique la continuidad del circuito utilizando el multímetro digital. Para girar EN ambos circuitos usan batería de 9V. Coloque un objeto en la superficie en la que está probando y mueva el sensor ultrasónico frente a él y se dará cuenta de que el sonido del zumbador aumenta a medida que el sensor se acerca al objeto. Hay dos posibilidades si el LDR está cubierto de oscuridad o si está probando a la luz del sol, el zumbador comenzará a sonar. Si se presiona el botón pulsador en el transmisor de RF, el zumbador sonará durante mucho tiempo. Si el zumbador sigue sonando durante mucho tiempo, significa que la alarma se ha disparado falsamente. Si se enfrenta a este tipo de error, abra el monitor serial del IDE de Arduino y verifique los parámetros que están causando ese tipo de problema.

Prueba del hardware (imagen cortesía: Circuit Digest)

Esa fue la forma más sencilla de hacer un dispositivo inteligente para personas ciegas usando Arduino. Siga todos los pasos mencionados anteriormente y después de probar con éxito el proyecto, busque a una persona discapacitada y ofrézcale este proyecto para hacer su vida más fácil.