Tabla de contenido:

OmniBoard: monopatín y hoverboard híbrido con control Bluetooth: 19 pasos (con imágenes)
OmniBoard: monopatín y hoverboard híbrido con control Bluetooth: 19 pasos (con imágenes)

Video: OmniBoard: monopatín y hoverboard híbrido con control Bluetooth: 19 pasos (con imágenes)

Video: OmniBoard: monopatín y hoverboard híbrido con control Bluetooth: 19 pasos (con imágenes)
Video: Electric scooter CRASH at crosswalk 2024, Noviembre
Anonim
OmniBoard: monopatín y hoverboard híbrido con control Bluetooth
OmniBoard: monopatín y hoverboard híbrido con control Bluetooth

El OmniBoard es un novedoso híbrido de monopatín eléctrico y hoverboard controlable a través de una aplicación de teléfono inteligente Bluetooth. Es capaz de moverse con los tres grados de libertad que se pueden lograr con ambas tablas combinadas, avanzar, girar alrededor de su eje y desplazarse lateralmente.

Esto le permite moverse en la dirección que desee, así como hacer trucos ingeniosos que de otro modo no podría hacer con su medio de transporte típico, como patinetas (eléctricas), patinetas flotantes, automóviles, bicicletas, etc.

Mi amigo y yo decidimos construir el OmniBoard como un ejercicio y desafío divertido, así como participar en algunos concursos de Instructables, a saber, el desafío de las ruedas. Queríamos hacer algo que nunca se haya hecho antes, que sea genial y sea útil. Como el sistema de transporte público a menudo no es confiable y el tráfico de la ciudad es terrible durante el viaje por la mañana y por la tarde hacia y desde el trabajo, es útil un modo de transporte alternativo, como andar en bicicleta o en patineta. Las patinetas y bicicletas eléctricas son útiles para viajes de larga distancia, pero ya existen muchas soluciones de consumo y de bricolaje para este tema. Así que decidimos reinventar la rueda, literalmente, y hacer un OmniBoard nuevo y divertido.

Paso 1: herramientas y materiales

Herramientas y materiales
Herramientas y materiales
Herramientas y materiales
Herramientas y materiales
Herramientas y materiales
Herramientas y materiales

Sistema de manejo

  • (4) Ruedas Omni
  • (4) Polea de 60 dientes
  • (4) polea de 20 dientes
  • (4) Correa de distribución GT2 (utilizamos 140 dientes)
  • (8) Rodamiento de 7 mm de DI, 19 mm de DE *
  • (20) tornillos para metales M5 (o de tamaño similar), de aproximadamente 25 mm de largo *
  • (28) Tuercas, del mismo tamaño que los tornillos para metales *
  • (32) Tornillos para madera No. 2, 3/8 "de largo *
  • (16) Los soportes en ángulo, preferiblemente cuatro orificios, deben tener al menos 1/2 "desde la esquina hasta el orificio del tornillo *
  • Hoja de madera contrachapada de 1'x2 '*
  • Superficie del monopatín

Electrónica:

Sistema de manejo

  • (4) Motores DC
  • (4) Controladores de velocidad electrónicos (ESC)
  • Tablero de distribución de energía (PDB)
  • Cable de silicona 16AWG - rojo y negro
  • Divisor paralelo del conector XT90
  • Conector XT90 Macho con Cola
  • (8 pares) Conector tipo bala de 4 mm
  • (4 pares) conectores XT60
  • (2) Baterías LiPo

Control remoto

  • Tablero perfilado de doble cara *
  • Regulador de voltaje LM7805 *
  • Alambres de núcleo sólido 24AWG - Colores surtidos *
  • Módulo Bluetooth HC-05 *
  • Arduino Uno v3 *
  • (32 pines) Encabezados de pines macho de doble cara *
  • (12 pines) Encabezados de pines ale de una cara *

Instrumentos:

  • Estación de soldadura y soldadura
  • Cortadores de alambre
  • Pelacables
  • Alicates
  • Tijeras
  • Brocas: 1-3 / 8 ", 3/4", 1/4"

Equipo

  • impresora 3d
  • Cortador láser
  • Sierra de banda
  • Taladro de banco

* Obtenido de la tienda local de electrónica o ferretería.

Paso 2: cómo funciona

Cómo funciona
Cómo funciona

¡El Omniboard es un monopatín eléctrico y un hoverboard en uno! Es capaz de moverse hacia adelante y hacia atrás, de lado a lado y rotar, todo controlado por un joystick en su teléfono.

El Omniboard está impulsado por cuatro motores, cada uno conectado a una rueda omnidireccional. Debido a que las ruedas omnidireccionales pueden deslizarse lateralmente, variar la velocidad y la dirección de cada motor permite que la placa se mueva en cualquier dirección que elija el usuario, como se muestra en la imagen de arriba.

Paso 3: Montaje de los ejes de la rueda Omni

Montaje de los ejes de las ruedas Omni
Montaje de los ejes de las ruedas Omni
Montaje de los ejes de las ruedas Omni
Montaje de los ejes de las ruedas Omni
Montaje de los ejes de las ruedas Omni
Montaje de los ejes de las ruedas Omni
Montaje de los ejes de las ruedas Omni
Montaje de los ejes de las ruedas Omni

Las piezas que necesitará para ensamblar los ejes son:

  • (8) espaciador de cojinetes impreso en 3D
  • (4) espaciador de polea grande impreso en 3D
  • (8) Cojinete
  • (4) Rueda Omni
  • (4) Polea grande
  • (4) Llaves de 3x3x80mm

Primero, desea colocar un espaciador de cojinete en el extremo del eje como se muestra. El espaciador está hecho para que quede muy ajustado, por lo que recomiendo usar un tornillo de banco o un mazo para colocarlo. Si le queda demasiado holgado, muévalo un poco más hacia arriba en el teclado y coloque un collar. No necesita preocuparse por un collar para el otro extremo.

A continuación, desliza la rueda omnidireccional seguida de un espaciador de cojinete en la dirección opuesta. Puede deslizar los cojinetes ahora (no importa ya que muchos de ellos no estén ajustados) y debería verse como en la imagen. Finalmente, puede deslizar los espaciadores de polea largos y delgados en las poleas. En este punto, no apriete los tornillos de fijación de la polea ni los coloque en la culata. Los que vienen después.

Paso 4: Cortar y perforar los camiones con ruedas Omni

Image
Image
Cortar y perforar los camiones con ruedas Omni
Cortar y perforar los camiones con ruedas Omni
Cortar y perforar los camiones con ruedas Omni
Cortar y perforar los camiones con ruedas Omni
Cortar y perforar los camiones con ruedas Omni
Cortar y perforar los camiones con ruedas Omni

Aquí es donde su cortadora láser y madera contrachapada de 3/8 de grosor son útiles. El CAD para cortar con láser el marco se adjunta en un formato.dxf.

A continuación, perforará dos agujeros sobre las pequeñas cruces que el cortador láser dejará en la madera contrachapada. La cruz un poco más pequeña se perforará con la broca de 3/4 "a solo 1/4" del paso, mientras que la cruz más grande se perforará con la broca de 1-3 / 8 "hasta el final. Es muy importante que recuerde para la mitad de las piezas cortar los agujeros de 3/4 "de un lado y la otra mitad del otro lado. A continuación, taladre un orificio más pequeño de 3/8 "a través del medio de los orificios de 3/4", hasta el final de la capa que no cortó antes.

Finalmente, atornille los soportes angulares a los lados más cortos de las piezas rectangulares. Ahora tiene casi todo lo que necesita para ensamblar los camiones con ruedas omnidireccionales.

Paso 5: Montaje de los camiones con ruedas Omni

Montaje de los camiones con ruedas Omni
Montaje de los camiones con ruedas Omni
Montaje de los camiones con ruedas Omni
Montaje de los camiones con ruedas Omni
Montaje de los camiones con ruedas Omni
Montaje de los camiones con ruedas Omni

¡Ahora podemos terminar el montaje del camión! Necesitará las partes de los dos últimos pasos más:

  • (4) Correa de distribución
  • (4) espaciador de polea pequeña impreso en 3D
  • (4) Polea pequeña
  • (4) Motor

Deslice cada lado de madera contrachapada sobre los cojinetes. Si los orificios de 3/4 no encajan fácilmente sobre los cojinetes, use una Dremel para lijarlos un poco más. Una vez que encajen, coloque la polea sobre la cuña que sobresale y apriete los tornillos de fijación. Atornille la pieza rectangular en el muesca por encima de la rueda omnidireccional.

En este punto, verifique que su rueda omnidireccional gire libremente. Si no es así, es posible que la polea esté sujetando la madera contrachapada. Levántelo un poco más hacia arriba en el teclado.

A continuación, colocaremos los motores. Los orificios de 1-3 / 8 son un poco pequeños, así que lije lentamente el círculo interior con una Dremel hasta que el motor encaje perfectamente en el interior. Tenga cuidado de no forzar el motor hacia adentro y deformar el Una vez que el motor esté en posición, deslice la correa sobre las poleas pequeñas, luego las poleas pequeñas sobre sus espaciadores y sobre el eje del motor de 3,175 mm. Apriete los tornillos de fijación.

En aras de la compacidad y la simetría, querrá colocar las poleas y las correas en un lado del camión para dos de ellos y el otro lado para los otros dos.

Paso 6: Montaje en la plataforma del monopatín

Montaje en la plataforma del monopatín
Montaje en la plataforma del monopatín
Montaje en la plataforma del monopatín
Montaje en la plataforma del monopatín
Montaje en la plataforma del monopatín
Montaje en la plataforma del monopatín

Ahora vamos a unir los ejes a la plataforma del monopatín. Podrías hacer el tuyo con madera contrachapada y cinta adhesiva; la nuestra fue sacada de una vieja patineta.

Primero, querrá perforar orificios de 1/4 en ambos lados de la madera contrachapada como se muestra en la imagen. En cada orificio, coloque un soporte en ángulo con un tornillo M5 y doble tuerca en el lado interno para evitar que se salga. suelta debido a las vibraciones. Mida y taladre los orificios que le permiten montar las carretillas lo más cerca de los extremos y en un ángulo cónico tan pronunciado como sea posible mientras se mantiene dentro del espacio de la plataforma. Ahora déle la vuelta y realice una prueba de carga !

Paso 7: Soldar los motores

Image
Image
Soldar los motores
Soldar los motores

Suelde los conectores de bala macho de 4 mm a un cable que se conectará a los motores, luego suelde este cable a los terminales del motor. Para la organización de los cables, cada cable se corta a 6 cm y se pela por ambos extremos.

Consejo: es más fácil soldar los cables en los conectores de bala primero y luego soldarlos al motor que al revés.

Para soldar el conector de bala en el cable, colóquelo en una pinza de cocodrilo aislada de la mano amiga (ya que el calor se disipa rápidamente desde el cuerpo del conector de bala hasta el cuerpo metálico de la mano amiga conductora de calor). Luego, coloque un poco de soldadura en el conector de bala, aproximadamente a la mitad y, mientras mantiene el hierro en el conector, sumerja el cable en el grupo de soldadura, como se muestra en el video. Luego, contraiga con calor el cable y el conector de bala.

Luego, coloque el cable junto al terminal del motor y sosténgalo en posición vertical con la mano amiga. Usé el rollo de soldadura para mantener el motor boca abajo. Luego suelde el cable al terminal del motor. El orden y el color de los cables son ambiguos y no importa, ya que el orden se puede cambiar para invertir la rotación, lo que se hará en los siguientes pasos si es necesario.

Paso 8: Soldar conectores de batería ESC

Conectores de batería ESC para soldar
Conectores de batería ESC para soldar
Conectores de batería ESC para soldar
Conectores de batería ESC para soldar

Antes de soldar, corte un poco de termorretráctil para cada uno de los cables que se utilizarán para aislar los extremos soldados expuestos.

Corte uno de los cables del conector de la batería, pélelo, deslice el termocontraíble y suéldelo al conector XT60 con el rojo conectado al terminal positivo del XT60 y el negro al terminal negativo del XT60.

Advertencia: corte los cables ESC de uno en uno, ya que hay un condensador que puede cargarse entre los terminales positivo y negativo y que se producirá un cortocircuito si las tijeras o el cortador de cables cortan ambos a la vez.

Para soldar el cable en el conector XT60, use las manos que le ayudan a sostener el cuerpo del conector XT60. Luego, coloque un poco de soldadura en el terminal XT60 aproximadamente a la mitad y mientras mantiene el soldador en el conector XT60, sumerja el cable en el grupo de soldadura líquida, como se muestra en el video del paso anterior. Una vez que se enfríe, deslice el termorretráctil hacia abajo para aislar el extremo expuesto y caliéntelo con los lados del soldador.

Repita esto para el resto de los cables de los conectores de batería de los ESC.

Paso 9: Soldar la placa de distribución de energía (PDB)

Soldar la placa de distribución de energía (PDB)
Soldar la placa de distribución de energía (PDB)
Soldar la placa de distribución de energía (PDB)
Soldar la placa de distribución de energía (PDB)
Soldar la placa de distribución de energía (PDB)
Soldar la placa de distribución de energía (PDB)
Soldar la placa de distribución de energía (PDB)
Soldar la placa de distribución de energía (PDB)

La PDB tomará la entrada de las dos baterías de polímero de litio (LiPo) con un voltaje y corriente combinados de 11,1 V y 250 A, respectivamente, y la distribuirá a los cuatro ESC.

Consejo: es más fácil soldar los cables del conector XT90 macho a las almohadillas de la PDB primero, luego los cables de 16 AWG a los ESC, seguidos de los conectores XT60 a estos cables.

Antes de soldar los cables, corte el termorretráctil para que se ajuste a cada uno de los cables, de modo que pueda deslizarse sobre el extremo soldado expuesto más tarde para evitar cortocircuitos.

Para soldar los cables en las almohadillas de la PDB, me resultó más fácil usar las manos amigas para sostener los cables en posición vertical (especialmente el cable XT90 grande) y colocarlo encima de la PDB que descansa sobre la mesa. Luego suelde el cable alrededor de la almohadilla PDB. Luego, deslice el termorretráctil hacia abajo y caliéntelo para aislar el circuito.

Repita esto para el resto de los cables ESC.

Para soldar el XT60, siga el paso anterior sobre cómo se reemplazó el terminal de la batería ESC con XT60s.

Paso 10: Conexión de los cables

Conectando los cables
Conectando los cables

Conecte los cables del motor a los terminales del conector de bala del ESC. Luego, conecte el pin de señal blanco del ESC al pin 9 y el pin de tierra negro al pin GND en el Arduino. Se utilizaron tiras de bloqueo doble para asegurar todos los ESC y cables a la placa.

Para verificar si la rotación de los motores es correcta (girando hacia el frente), ejecute el código de muestra en el Arduino a continuación.

#incluir

Servo motor;

byte en el sentido de las agujas del reloj Velocidad = 110; intervalo largo sin signo = 1500; int motorPin = 9;

configuración vacía ()

{Serial.begin (9600); motor.attach (motorPin); Serial.println ("Prueba inicial"); }

bucle vacío ()

{motor.write (clockwiseSpeed); Serial.println ("Detener el motor para que no gire"); retraso (intervalo); }

El orden de los cables conectados desde el ESC al motor determina la rotación del motor. Si el motor gira en el sentido contrario a las agujas del reloj, tome nota del motor y cambie el booleano en el código del controlador en el paso "Programación del controlador Omniboard". Si gira en el sentido de las agujas del reloj hacia el frente, entonces la rotación es correcta. Haga esto para cada uno de los cuatro motores. Si el motor no está girando, verifique dos veces todos sus conectores si hay alguna soldadura fría que resulte en una conexión suelta.

Paso 11: Cambiar el modo ESC

Cambiar el modo ESC
Cambiar el modo ESC

De forma predeterminada, los ESC cepillados están en modo de práctica. Esto se indica mediante la luz LED parpadeante. Para controlar programáticamente un motor en la dirección inversa, se necesita el modo de escalada.

Para acceder a este modo, conecte el ESC al Arduino conectando el pin de señal blanco del ESC al pin 9 y el pin de tierra negro al pin GND en el Arduino. Luego cargue y ejecute el siguiente programa en la placa Arduino:

#incluir

Servo motor;

byte stopSpeed = 90; intervalo largo sin signo = 1500; int motorPin = 9;

configuración vacía ()

{Serial.begin (9600); motor.attach (motorPin); Serial.println ("Prueba inicial"); }

bucle vacío ()

{motor.write (stopSpeed); Serial.println ("Detener el motor para que no gire"); retraso (intervalo); }

Encienda el ESC, luego presione y mantenga presionado el botón de programación durante dos segundos. El indicador LED ahora estará fijo en lugar de parpadear, lo que significa que el modo se ha cambiado con éxito al modo de escalada.

Paso 12: Interfaz con el módulo Bluetooth y el teléfono

Interfaz con módulo Bluetooth y teléfono
Interfaz con módulo Bluetooth y teléfono
Interfaz con módulo Bluetooth y teléfono
Interfaz con módulo Bluetooth y teléfono
Interfaz con módulo Bluetooth y teléfono
Interfaz con módulo Bluetooth y teléfono

El módulo Bluetooth HC-05 permite que el Arduino se conecte con un teléfono para permitir el control inalámbrico de la patineta a través de una aplicación. Como he encontrado problemas con ciertas interfaces del módulo Bluetooth defectuosas, sería mejor probarlo primero antes de soldar el circuito final, Usaremos 4 de los 6 pines del módulo Bluetooth. Estos son: Tx (transmisión), Rx (recepción), 5V y GND (tierra). Conecte los pines Tx y Rx del módulo Bluetooth HC-05 a los pines 10 y 11 en el Arduino, respectivamente. Luego, conecte el pin de 5V y los pines GND a los pines con la misma etiqueta en el Arduino.

En la aplicación Blynk, agregue los widgets de botón y bluetooth, como se muestra en las imágenes de arriba. Luego, asigne el pin digital D13, que está conectado al LED incorporado en el Arduino Uno, al botón.

Cargue y ejecute el siguiente código en el Arduino con el módulo bluetooth enchufado y abra el monitor en serie para ver si el módulo bluetooth se ha conectado. Luego, active el botón de encendido / apagado y observe el cambio de LED incorporado en el Arduino.

#define BLYNK_PRINT Serie

#incluir

#incluir

// Debería obtener el token de autenticación en la aplicación Blynk.

// Vaya a Configuración del proyecto (icono de tuerca). char auth = "Su token de autenticación";

SoftwareSerial SerialBLE (10, 11); // RX, TX

BLYNK_WRITE (V1)

{int pinValue = param.asInt (); // asignando valor entrante desde el pin V1 a una variable}

configuración vacía ()

{Serial.begin (9600); // consola de depuración SerialBLE.begin (9600); Blynk.begin (SerialBLE, auth); Serial.println ("Esperando conexiones …"); }

bucle vacío ()

{Blynk.run (); }

Paso 13: Soldar el Arduino Shield

Soldando el Arduino Shield
Soldando el Arduino Shield
Soldando el Arduino Shield
Soldando el Arduino Shield
Soldando el Arduino Shield
Soldando el Arduino Shield
Soldando el Arduino Shield
Soldando el Arduino Shield

Para limpiar los circuitos y los cables de puente sueltos del prototipo, soldaremos un escudo Arduino que se conecta a cada uno de los ESC y al módulo Bluetooth, así como una fuente de alimentación al Arduino.

Suelde el siguiente esquema de arriba en una placa de perforación de doble cara.

Primero dimensioné y conecté los encabezados de clavija macho de doble cara en los encabezados hembra Arduino y luego los soldé al lado superior de la placa de perforación para ambos lados. Una vez que se soldaron, lo quité de la placa Arduino para soldar la parte inferior de la placa. Luego, soldé los cabezales de clavija macho de un solo lado ESC en 4 juegos de 3 en la parte inferior de la placa de perforación. Después de lo cual, coloqué el módulo Bluetooth HC-05 en posición vertical y también soldé los conectores en la parte inferior de la placa de perforación.

Dado que el módulo Bluetooth requiere una entrada de voltaje de 5V y el PDB solo está regulado a 12V, utilicé un LM7805 para reducir la corriente para limitar el consumo de corriente del Arduino. Este mismo suministro de 5V también está conectado al pin de 5V del Arduino, de modo que el Arduino se puede alimentar a través del escudo en lugar de un adaptador de conector de barril adicional.

Los pines del LM7805 se soldaron al lado inferior de la placa de perforación con el componente regulador de voltaje encima de la placa de perforación como se muestra en la imagen de arriba. Soldé todas las conexiones de alimentación a cada uno de los componentes y los encabezados de los pines ESC y el módulo Bluetooth HC-05 como se describe en el esquema. La salida de 12 V de la PDB se soldó al pin de entrada VCC (más a la izquierda) y al pin de tierra (medio) del regulador de voltaje LM7805. Por último, cada uno de los encabezados de pines de señal ESC y los pines Tx y Rx del módulo Bluetooth HC-05 a los pines digitales Arduino a través de los encabezados de pines macho de doble cara como se muestra en el esquema.

Paso 14: creación de la aplicación a través de Blynk

Creación de la aplicación a través de Blynk
Creación de la aplicación a través de Blynk

El Omniboard se controlará a través de Bluetooth utilizando cualquier teléfono inteligente a través de la aplicación Blynk. Blynk es una aplicación para Android e iOS que permite usar módulos y widgets que pueden interactuar con varios microcontroladores con capacidades Bluetooth o inalámbricas o módulos Bluetooth / inalámbricos, como el HC-05.

1. Instale Blynk en su teléfono.

2. Cree una cuenta e inicie sesión

3. Cree un nuevo proyecto y asígnele un nombre. Llamé al mío "Controlador Omniboard", seleccioné Arduino Uno como microcontrolador y seleccioné Bluetooth como tipo de interfaz.

4. Arrastre y suelte los siguientes widgets en la pantalla: Bluetooth, Mapa, 2 botones y Joystick

Paso 15: Interfaz de widgets con Arduino

Interfaz de widgets con Arduino
Interfaz de widgets con Arduino
Interfaz de widgets con Arduino
Interfaz de widgets con Arduino
Interfaz de widgets con Arduino
Interfaz de widgets con Arduino

El botón se utilizará para alternar entre el modo Hoverboard y el modo Skateboard. El modo Hoverboard permite un control preciso de los efectos y el desplazamiento mientras se mantiene una velocidad de crucero. Mientras que, el modo de patineta brinda un control preciso de la velocidad de avance y los efectos. El joystick controlará la patineta con dos grados de libertad que se intercambian con el botón de alternancia. El mapa mostrará su ubicación actual, así como puntos de referencia para otros lugares a los que ir. El bluetooth permite que la interfaz se conecte con un módulo Bluetooth.

Configuración del joystick:

Seleccione "Fusionar" para el tipo de salida y asígnelo al pin virtual V1

Configuración de botones:

  • Nombra el primer botón "Modo de desplazamiento" y el segundo botón "Control de crucero".
  • Asigne la salida del primer botón al pin virtual V2 y cambie el modo a "Switch".
  • Asigne la salida del segundo botón al pin virtual V3 y cambie el modo a "Switch".
  • Cambie el nombre de los nombres de alternancia de los primeros botones como "Hover" y "Skate" y mantenga "ON" y "OFF".

Configuración del mapa:

Asigne la entrada para que sea V4

Configuración de Bluetooth:

Seleccione el widget de Bluetooth en la aplicación Blynk y conéctese con su módulo. La contraseña predeterminada para el módulo Bluetooth es '1234'

Paso 16: Programación del controlador Omniboard

Programación del controlador Omniboard
Programación del controlador Omniboard
Programación del controlador Omniboard
Programación del controlador Omniboard
Programación del controlador Omniboard
Programación del controlador Omniboard

La dinámica del Omniboard se programó en base al algoritmo de dinámica derivado de la sección "Cómo funciona". Cada uno de los 3 grados de libertad, avance, movimiento lateral y giro se calculan de forma independiente y se superponen entre sí para dar como resultado un rango completo de control de movimiento del Omniboard. El control de cada motor es linealmente proporcional al movimiento del joystick. Sube y ejecuta el siguiente código en Arduino.

#define BLYNK_PRINT Serie

#incluir

#incluir

#incluir

Servo motorFR; Servo motorFL; ServomotorBR; Servo motorBL;

bool motorFRrev = verdadero;

bool motorFLrev = verdadero; bool motorBRrev = verdadero; bool motorBLrev = verdadero;

motor de flotación FRang = 330.0 * PI / 180.0;

motor de flotación FLang = 30.0 * PI / 180.0; flotador motorBRang = 210.0 * PI / 180.0; flotador motorBLang = 150.0 * PI / 180.0;

flotador motorFRspeedT;

flotador motorFLspeedT; flotador motorBRspeedT; flotador motorBLspeedT;

flotador motorFRspeedR;

flotador motorFLspeedR; flotador motorBRspeedR; flotador motorBLspeedR;

flotar maxAccel = 10;

byte forwardSpeed = 110;

byte backSpeed = 70; byte stopSpeed = 90; // cambiar a un número deternizado experimentalmente

int cruiseControl;

int yawMode;

// Debería obtener el token de autenticación en la aplicación Blynk.

// Vaya a Configuración del proyecto (icono de tuerca). char auth = "8523d5e902804a8690e61caba69446a2";

SoftwareSerial SerialBLE (10, 11); // RX, TX

BLYNK_WRITE (V2) {cruiseControl = param.asInt ();}

BLYNK_WRITE (V3) {yawMode = param.asInt ();} WidgetMap myMap (V4);

BLYNK_WRITE (V1)

{int x = param [0].asInt (); int y = param [1].asInt ();

if (! cruiseControl) calcTranslation (x, y);

if (yawMode) calcRotation (x, y); else {motorFRspeedR = 0; motorFLspeedR = 0; motorBRspeedR = 0; motorBLspeedR = 0; } writeToMotors (); }

configuración vacía ()

{motorFR.attach (9); motorFL.attach (6); motorBR.attach (5); motorBL.attach (3); retraso (1500); // esperar a que los motores se inicialicen // Consola de depuración Serial.begin (9600);

SerialBLE.begin (9600);

Blynk.begin (SerialBLE, auth);

Serial.println ("Esperando conexiones …");

// Si desea eliminar todos los puntos:

//myMap.clear ();

int índice = 1;

flotador lat = 43,653172; flotador lon = -79,384042; myMap.location (índice, lat, lon, "valor"); }

bucle vacío ()

{Blynk.run (); }

void calcTranslation (int joyX, int joyY)

{flotar normX = (joyX - 127.0) /128.0; flotar normY = (joyY - 127.0) /128.0; motorFRspeedT = (normY * cos (motorFRang) + normX * sin (motorFRang)) * (1-2 * motorFRrev); motorFLspeedT = (normY * cos (motorFLang) + normX * sin (motorFLang)) * (1-2 * motorFLrev); motorBRspeedT = (normY * cos (motorBRang) + normX * sin (motorBRang)) * (1-2 * motorBRrev); motorBLspeedT = (normY * cos (motorBLang) + normX * sin (motorBLang)) * (1-2 * motorBLrev); }

void calcRotation (int joyX, int joyY)

{flotar normX = (joyX - 127.0) /128.0; flotar normY = (joyY - 127.0) /128.0; motorFRspeedR = joyX * (1-2 * motorFRrev); motorFLspeedR = -joyX * (1-2 * motorFLrev); motorBRspeedR = -joyX * (1-2 * motorBRrev); motorBLspeedR = joyX * (1-2 * motorBLrev); }

anular writeToMotors ()

{float motorFRspeed = motorFRspeedT + motorFRspeedR; flotador motorFLspeed = motorFLspeedT + motorFLspeedR; flotador motorBRspeed = motorBRspeedT + motorBRspeedR; flotador motorBLspeed = motorBLspeedT + motorBLspeedR;

long motorFRmapped = map ((largo) (100 * motorFRspeed), -100, 100, backSpeed, forwardSpeed);

long motorFLmapped = map ((largo) (100 * motorFLspeed), -100, 100, backSpeed, forwardSpeed); long motorBRmapped = map ((long) (100 * motorBRspeed), -100, 100, backSpeed, forwardSpeed); long motorBLmapped = map ((largo) (100 * motorBLspeed), -100, 100, backSpeed, forwardSpeed); motorFR.write (motorFRmapped); motorFL.write (motorFLmapped); motorBR.write (motorBRmapped); motorBL.write (motorBLmapped); }

Paso 17: Instalación de la carcasa de la electrónica

Instalación de la carcasa de la electrónica
Instalación de la carcasa de la electrónica
Instalación de la carcasa de la electrónica
Instalación de la carcasa de la electrónica
Instalación de la carcasa de la electrónica
Instalación de la carcasa de la electrónica
Instalación de la carcasa de la electrónica
Instalación de la carcasa de la electrónica

Para evitar que todos los cables y piezas cuelguen de la parte inferior, imprima en 3D la carcasa adjunta y luego atorníllela a la patineta con tornillos M5.

Paso 18: Pintura

Cuadro
Cuadro
Cuadro
Cuadro
Cuadro
Cuadro

La inspiración para el diseño de la plataforma superior son los circuitos y patrones de PCB. Para hacer esto, primero se cubre la parte inferior de la patineta con la cinta de envolver de pintor a su alrededor. Luego, toda la plataforma superior se recubre con pintura blanca. Una vez seco, se enmascara con el negativo del patrón del circuito y luego se vuelve a pintar con una capa negra. Luego, quita las máscaras de la capa superior con cuidado y listo, una patineta de aspecto genial.

Te animo a que personalices el diseño de tu propio Omniboard y ejerzas tu libertad creativa.

Paso 19: Prueba y demostración

Image
Image

Segundo premio en el Concurso de Ruedas 2017

Concurso de control remoto 2017
Concurso de control remoto 2017

Primer premio en el Concurso de Control Remoto 2017

Recomendado: