tanque de tiburones india – El programa que inspiró a muchos indios a comenzar su viaje empresarial contó con una empresa llamada torch it.Esta empresa hace dispositivo electronico para ayudar a los invidentes.
Uno de los dispositivos de la compañía que nos llamó la atención es saarthi, un dispositivo que ayuda a las personas ciegas a encontrar su camino y detectar obstáculos a través de la tecnología de sonar. Esto nos llevó a construir algo muy similar y ver cómo funcionaba. Se necesitarán muchos gastos de investigación y desarrollo para perfeccionar el producto real. Palo ciego inteligente de bricolaje Funciona lo suficientemente bien para proyectos de hobby. También hice un simple palo ciego de Arduino con CircuitDigest anteriormente. Échale un vistazo también si estás interesado.
Para descubrir lo mismo, decidí replicarlo usando piezas comunes de bricolaje.
Los materiales utilizados para fabricar estos productos son:
- sensor ultrasónico
- arduino pro mini
- zumbador
- motor háptico
- batería de iones de litio
- cambiar
- carcasa impresa en 3D
Entonces, veamos las instrucciones paso a paso para hacer un sarti.
Tabla de contenido
Esquema – Blind Stick con Arduino y sensor ultrasónico
El primer y más importante paso en el proceso completo de creación fue la electrónica. Aquí está el diagrama del circuito para su referencia. La principal parte de detección de este proyecto completo es el sensor ultrasónico, puede leer más sobre él en el resumen del circuito.
Usé Arduino pro mini debido a su pequeño tamaño. Utiliza motores hápticos como el original y también agregó un zumbador para que las personas con discapacidad visual puedan recibir comentarios. El stick completo funcionaba con una batería de iones de litio de 3.7v.
Código arduino para bastón ciego
El IDE de Arduino se utilizó para programar el microcontrolador principal (Arduino Pro mini) y el proyecto completo se realizó con un pequeño código que se describe a continuación. El código completo se encuentra al final de este blog.
Aquí está la descripción del código.
// Pin assignments const int TRIGGER_PIN = 6; const int ECHO_PIN = 5; const int buzzer = 4; const int MOTOR_PIN = 7;
Esta sección define los números de pin usados por varios componentes en el circuito. TRIGGER_PIN está conectado al pin de activación del sensor ultrasónico, ECHO_PIN está conectado al pin de eco del sensor, el zumbador está conectado al zumbador piezoeléctrico y MOTOR_PIN está conectado al motor háptico.
// Threshold distances const int ALERT_DISTANCE = 100; // Alert if object is within 30 cm
Esta línea establece el umbral de distancia en centímetros. Si el sensor ultrasónico detecta un objeto más cerca de ALERT_DISTANCE, se activará un zumbador y un motor háptico para alertar al usuario.
// Timing constants const int BUZZER_ON_TIME = 500; // Buzzer on time in milliseconds const int MOTOR_ON_TIME = 200; // Haptic motor on time in milliseconds const int LOOP_DELAY = 50; // Main loop delay in milliseconds
Esta sección define las constantes de temporización utilizadas en el programa. BUZZER_ON_TIME y MOTOR_ON_TIME son las duraciones que permanecerán encendidos el zumbador y el motor háptico, respectivamente. LOOP_DELAY es el tiempo de retraso entre las lecturas del sensor ultrasónico.
void setup() { // Set up pins pinMode(TRIGGER_PIN, OUTPUT); pinMode(ECHO_PIN, INPUT); pinMode(buzzer, OUTPUT); pinMode(MOTOR_PIN, OUTPUT); // Start serial communication for debugging Serial.begin(9600); }
Esta función se ejecuta una sola vez al comienzo del programa. Establece el modo de cada pin definido (TRIGGER_PIN, ECHO_PIN, Buzzer, MOTOR_PIN) en INPUT o OUTPUT. También inicia la comunicación en serie a una velocidad de transmisión de 9600 para que los mensajes de depuración se puedan enviar a través de USB.
void loop() { // Send ultrasonic pulse digitalWrite(TRIGGER_PIN, LOW); delayMicroseconds(2); digitalWrite(TRIGGER_PIN, HIGH); delayMicroseconds(10); digitalWrite(TRIGGER_PIN, LOW); // Measure pulse duration long duration = pulseIn(ECHO_PIN, HIGH); // Calculate distance in cm int distance = duration / 58; // Debug output Serial.print("Distance: "); Serial.print(distance); Serial.println(" cm"); // Check for alerts if (distance <= ALERT_DISTANCE) { // Turn on buzzer tone(buzzer, 1000, 1000); // 1KHz digitalWrite(MOTOR_PIN, HIGH); delay(BUZZER_ON_TIME); digitalWrite(MOTOR_PIN, LOW); noTone(buzzer); // 1KHz } noTone(buzzer); // 1KHz // Wait before taking another reading delay(LOOP_DELAY); }
Este es el ciclo principal del programa, que lee continuamente del sensor ultrasónico y verifica si la distancia medida está por debajo del umbral ALERT_DISTANCE. Este bucle primero envía una señal de activación a un sensor ultrasónico y mide el ancho de pulso del eco resultante. Luego calcula la distancia en función de la velocidad del sonido y el tiempo que tardó el pulso en llegar al objeto y regresar.
Si la distancia medida es menor o igual a ALERT_DISTANCE, el programa activa el zumbador y el motor háptico durante el tiempo establecido. El zumbador se enciende usando la función tone() que produce un cuadrado.
carcasa impresa en 3D
Crear la carcasa impresa en 3D fue probablemente la parte más difícil de todo el proceso. Usé Solidworks para el proceso de modelado completo y Ender Pro para la impresión. Si es nuevo en la impresión 3D, siga el tutorial Primeros pasos con la impresión 3D.
asamblea
Después de imprimir las piezas en 3D, ensamblamos los componentes electrónicos dentro de la carcasa impresa en 3D. Lo arreglé usando cinta doble y pistola de pegamento.
prueba y conclusión
El proyecto ha sido probado y funciona correctamente. En general, nos divertimos haciendo este proyecto y esperamos hacer más proyectos como este en el futuro. Si quieres más productos hechos de Shark Tank. Háganos saber en los comentarios.
Después de que todo esté hecho. Probar si el proyecto funciona y listo.
El costo total para crear este proyecto fue de alrededor de 1000 rupias, incluidas las piezas impresas en 3D. Los años treinta originales se vendieron en Amazon por alrededor de 2500 rupias. Traté de reproducirlo lo mejor que pude, pero la versión prototipo necesita muchas mejoras. Espero que les guste este proyecto. Si es así, por favor háganoslo saber en los comentarios.
Proyecto con Arduino Pro Mini
Otros proyectos creados con Arduino Pro Mini son:

¿Quieres añadir un toque musical a tu proyecto? Con un Arduino y un módulo MP3 JQ6500 puedes crear tu propio cracker digital que reproduce sonidos festivos y melodías con solo tocar un botón. ¡Consigue los componentes para añadir un poco de magia musical a tu celebración!


¡Prepárate para la mejor conducción de tu vida con el auto Arduino RC más rápido!Equipado con un potente motor de CC sin núcleo y un módulo de RF nRF24L01, este auto está diseñado para brindar velocidad y control preciso. Ya sea que esté compitiendo en el circuito o haciendo acrobacias atrevidas, nuestros autos RC brindan un rendimiento y una emoción inigualables.
código
// asignación de pines
const int TRIGGER_PIN = 6;
const int ECHO_PIN = 5;
const int zumbador = 4;
const int MOTOR_PIN = 7;
// umbral de distancia
const int ALERT_DISTANCE = 100; // Alerta si el objeto está dentro de los 30 cm
// constantes de tiempo
const int BUZZER_ON_TIME = 500; // Buzz en milisegundos
const int MOTOR_ON_TIME = 200; // tiempo de activación del motor háptico (ms)
const int LOOP_DELAY = 50; // retraso del bucle principal en milisegundos
configuración vacía () {
// establecer el pin
pinMode(TRIGGER_PIN, SALIDA);
pinMode(ECHO_PIN, ENTRADA);
pinMode(zumbador, salida);
pinMode(MOTOR_PIN, SALIDA);
// iniciar la comunicación serial de depuración
serie.begin(9600);
}
bucle vacío () {
// enviar un pulso ultrasónico
escritura digital (TRIGGER_PIN, BAJO);
microsegundos de retardo (2);
digitalWrite(TRIGGER_PIN, ALTO);
microsegundos de retardo (10);
escritura digital (TRIGGER_PIN, BAJO);
// medir la duración del pulso
larga duración = entrada de pulso (ECHO_PIN, HIGH);
// calcular la distancia en cm
int distancia = duración / 58;
// salida de depuración
Serial.print(“Distancia: “);
Serial.print(distancia);
Serial.println(“cm”);
//verificar alerta
si (distancia <= ALERT_DISTANCE) {
// enciende el zumbador
tono(zumbador, 1000, 1000); // 1KHz
Escritura digital (MOTOR_PIN, ALTO);
retraso (BUZZER_ON_TIME);
Escritura digital (MOTOR_PIN, BAJO);
noTono(zumbador); // 1KHz
}
noTono(zumbador); // 1KHz
// esperar antes de hacer otra lectura
retraso (LOOP_DELAY);
}