Nunca viaje solo
Componentes y suministros
| × | 2 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Herramientas y máquinas necesarias
|
Acerca de este proyecto
Hola a todos, soy Jesús Soriano, estudiante de ingeniería electrónica, emprendedor ... ¡y ciclista!
Llevo montando en bicicleta desde los 12 años y suelo entrenar solo. Durante estos entrenamientos, he tenido muchas caídas, accidentes y otros contratiempos. Un día, me di cuenta de que, si tenía un accidente fuerte y perdía el conocimiento, podía morir. ¡Estaba solo en las montañas!
Es más fácil entender lo que quiero decir con un pequeño video. Imagínese:está montando su bicicleta, disfrutando del paisaje y, de repente, aparece un automóvil y lo atropella. Te caes por una pendiente y el conductor huye. Te quedas inconsciente, atrapado, invisible para el mundo.
Dos o tres horas después, su familia comenzará a preocuparse. Los servicios de emergencia intentarán ubicarlo y lo harán después de 4-5 horas. Probablemente estarás muerto.
Así que comencé a investigar y vi muchas opciones interesantes:primero, una aplicación, Strava Summit. En caso de accidente, podría enviar la posición del gps a amigos. Angi, de Specialized, también era una opción. El sistema estaba integrado en el casco, y en caso de colisión, podía pedir ayuda. Pero fue un problema. Todos estos sistemas necesitaban una señal de teléfono móvil para funcionar. Se necesitaban batería, gps y señal de teléfono móvil.
Así nació Never Ride Alone, NRA. Encontré Sigfox como mi solución para el envío de datos en las montañas, y cuando descubrí que tenían un arduino con módulo sigfox ... ¡Fue increíble!
Decidí que NRA iba a funcionar como una alarma invertida. Cuando vas en bicicleta, activas NRA presionando un botón. Los leds comienzan a parpadear, mientras que también mejoran la visibilidad. Si NRA no detecta movimiento en 30 segundos, activa el modo de emergencia. Empieza a zumbar, y si nadie lo detiene (quizás no estés en peligro, pero olvidaste apagarlo) es que estás lesionado. Automáticamente, el módulo gps comienza a funcionar en NRA y envía la ubicación gps a través de la red SigFox a todos sus amigos / familiares.
Pregunté a muchos ciclistas y se me ocurrió un diseño minimalista. Los ciclistas quieren un dispositivo que sea fácil de usar y con buena batería. Con NRA, solo tienes que presionar el botón y el pedal. Después del entrenamiento, solo tienes que detenerlo y cargarlo.
La caja de NRA estaba hecha de plástico ABS. Usé una impresora 3D, proporcionada por la Universidad Politécnica de Valencia.
Puede editar / descargar archivos de diseño de NRA aquí:
https://www.tinkercad.com/things/fmkE685dNfP-nra-v01
Para esta construcción, estoy usando un Arduino MKR1200, un GPS Neo 6-m, un botón, 2 leds, una resistencia de 1k Ohm, un timbre, un sensor de vibración y una batería de 3.7v 150mah.
Después de eso, comencé con la configuración de Arduino y SigFox. Esta es mi configuración en la página de backend de SigFox:
Cuando el Arduino MKR1200 envía datos, este servidor convierte los datos sin procesar en información. En mi caso, utilizo la longitud, latitud y altitud. Con esta información, envío un correo electrónico a todas las personas de mi configuración (amigos, familiares ...) para que hagan clic en el enlace de Google Maps y sepan dónde está el motociclista lesionado.
Así es como se montan todos los componentes en el estuche:
En primer lugar, el módulo GPS. Solo necesitamos positivo, negativo y el cable de transferencia de datos. La antena va pegada al marco. El arduino lo revisará.
También agregamos la batería, conectada al arduino, y también un interruptor. De esta manera, podemos encenderlo / apagarlo.
Tenemos el conector de la batería, por lo que podemos cargar NRA. Debería estar apagado.
Durante este proyecto, he utilizado un cargador de batería de drones para cargar NRA. Funcionó perfectamente.
Después de realizar el cableado, colocamos la antena sobre el arduino. Es un poco complicado unir todos los componentes en este shell, pero con atención se puede hacer.
En esta construcción, no usamos el sensor de vibración. En este caso, cuando el NRA está encendido, comienza a enviar la posición GPS cada 10 minutos. Los resultados fueron buenos.
También probamos NRA a lo largo de las carreteras. Fue una muy buena experiencia.
Es realmente fácil de usar y te da la sensación de que tienes un buen dispositivo en tus manos.
Así que esta es la historia de Never Ride Alone, un gadget que siempre está al tanto de ti. Siempre que conduzca, sabrá que está a salvo, porque en caso de accidente, siempre estará ubicado.
Desde el equipo Never Ride Alone también hemos intentado mejorar nuestro planeta. Durante todas estas pruebas de conducción, también hemos recogido toda la basura que hemos visto en las montañas. De acuerdo con los Objetivos de Desarrollo Sostenible, intentamos quitar todos los contenedores que vimos durante los paseos.
Después de recoger todo esto, nos dimos cuenta de que la mayor parte de la basura en las montañas proviene de los ciclistas. Hemos recogido muchas barras energéticas de plásticos, geles y neumáticos. Ahora, estamos intentando concienciar a todos los ciclistas. Durante las carreras, hemos creado puntos limpios, donde la gente puede tirar toda su basura sin detenerse y perder tiempo. Esta zona está delimitada y, cuando finaliza la carrera, se limpia toda.
Gracias por leer y viaja seguro :)
Código
- NUNCA MONTE SOLO V.0.1
NUNCA VIAJES SOLO V.0.1 Arduino
Código NRA. No utiliza sensores. Envía todos los datos del gps cada 10 minutos.///// NUNCA VIAJES SOLO V.0.1 /////// ................... .......... ////// AUTOR:JESUS SORIANO ADAM //////////// FECHA:05/05/2019 ////////// ////////////////////////////// # incluir#include #include // incluimos TinyGPS # define WAITING_TIME 10 // tiempo de espera durante cada mensaje # define GPS_PIN 2 // (pin de tranistor, para ahorro de energía. no se usa ahora) #define GPS_INFO_BUFFER_SIZE 128bool debug =true; //////// DEBUG ///// const int backlights =4; const int pulsador =5; const int audio =3; TinyGPS gps; // Objeto GPS // Variables de datos GPS en el año; byte mes, día, hora, minuto, segundo, centésimas; caracteres largos sin firmar; oraciones cortas sin firmar, fail_checksum; char GPS_info_char; char GPS_info_buffer [GPS_INFO_BUFFER_SIZE]; unsigned intived_char; bool message_started =false; int i =0; // Estructura de coordenadas GPS, tamaño de 12 bytes en plataformas de 32 bitsstruct gpscoord {float a_latitude; // 4 bytes flotantes a_longitude; // 4 bytes flotantes a_altitude; // 4 bytes}; latitud flotante =0.0f; longitud flotante =0.0f; altitud flotante =0; //////////////// Función de espera ///////// ///////// void Wait (int m, bool s) {// m minutos de espera // s pulsos lentos del led if (debug) {Serial.print ("Waiting:"); Serial.print (m); Serial.println ("mín."); } digitalWrite (LED_BUILTIN, BAJO); si (s) {int seg =m * 30; para (int i =0; i 12) {Serial.println ("Mensaje demasiado largo, solo se enviarán los primeros 12 bytes"); }} // Eliminar EOL //data.trim (); // Inicie el módulo SigFox.begin (); // Espere al menos 30 mS después de la primera configuración (100 mS antes) delay (100); // Borra todas las interrupciones pendientes SigFox.status (); retraso (1); if (depurar) SigFox.debug (); retraso (100); SigFox.beginPacket (); SigFox.print (datos); if (depuración) {int ret =SigFox.endPacket (verdadero); // enviar búfer a la red SIGFOX y esperar una respuesta if (ret> 0) {Serial.println ("Sin transmisión"); } else {Serial.println ("Transmisión correcta"); } Serial.println (SigFox.status (SIGFOX)); Serial.println (SigFox.status (ATMEL)); if (SigFox.parsePacket ()) {Serial.println ("Respuesta del servidor:"); while (SigFox.available ()) {Serial.print ("0x"); Serial.println (SigFox.read (), HEX); }} else {Serial.println ("No se pudo obtener ninguna respuesta del servidor"); Serial.println ("Verifique la cobertura SigFox en su área"); Serial.println ("Si está en interiores, verifique la cobertura de 20dB o acérquese a una ventana"); } Serial.println (); } más {SigFox.endPacket (); } SigFox.end ();} ////////////////// Función de conversión de GPS /////////////////// * Convierte Datos flotantes de GPS a datos Char * / String ConvertGPSdata (const void * data, uint8_t len) {uint8_t * bytes =(uint8_t *) data; Cadena cadena; if (depuración) {Serial.print ("Longitud:"); Serial.println (len); } for (uint8_t i =len - 1; i Piezas y carcasas personalizadas
Se adapta al mkr1200, la batería, un botón, los leds, el GPS y el zumbador. Se adapta al mkr1200, la batería, un botón, los leds, el GPS y el zumbador. nra_v_0_1_qCsc7I6QvO.zipEsquemas
Tenga en cuenta que la foto de arduinos no es la mkr1200
Proceso de manufactura
- Circuito integrado
- Declaración de cambio de C#
- Dados digitales Arduino
- Sensor de temperatura múltiple
- Controlador de juego Arduino
- Arduino Nano Tetris Game en una matriz casera de 16x8
- MotionSense
- PuzzleBox
- MOSMusic
- Componentes de la máquina de perforación
- Componentes del motor de combustión interna