Opciones de programación#

Existen tres opciones recomendadas para que los equipos programen un robot para realizar diversas tareas: Blocks, OnBot Java y Android Studio.

Blocks#

La Herramienta de Programación de Blocks es una forma sencilla de codificar acciones simples para el robot. Tiene un diseño colorido y como lego e incluye sonidos de piezas de bloque de encaje juntos.

Utilizando un dispositivo y un teléfono controlador del robot, conecte su dispositivo al Wi-Fi del teléfono haciendo clic en los tres puntos de la parte superior derecha del RC y seleccione «Programar y gestionar». Esto mostrará el SSID WiFi y la contraseña para que te conectes. Ve a tu navegador (preferiblemente Chrome, aunque es probable que otro navegador moderno funcione) e introduce la dirección que aparece en RC.

Ventajas#

  • Bueno para principiantes: una de las opciones más fáciles y sencillas de usar.

  • Fácil de configurar: requiere un dispositivo (laptop, Chromebook, tableta) y un teléfono en la pantalla Programar y gestionar

  • Los programas se pueden guardar directamente en el teléfono

    • Los cambios pueden hacerse rápidamente

  • No requiere conexión Wi-Fi externa

Desventajas#

  • No se recomienda si ya estás familiarizado con algún tipo de programación

    • Principalmente una herramienta de enseñanza para personas sin experiencia en programación.

  • Esto cambiará su red Wi-Fi principal a la red Wi-Fi directa de Robot Controller’s, y como tal, no podrá acceder a Internet mientras esté conectado a esta red en particular.

    • Los equipos pueden evitarlo comprando un módulo Wi-Fi externo que permita a los ordenadores ejecutar 2 redes Wi-Fi a la vez.

  • Sacrifica la flexibilidad y la aplicación por una simplicidad

  • No lo uses nunca en un teléfono, a menos que te quedes sin opciones. (No apto para teléfonos)

    • Si lo intentas, el lío puede ser mayor.

OnBot Java#

OnBot Java utiliza un método similar de usar un navegador para codificar y guardar directamente en el teléfono. La diferencia es que en su lugar se utiliza un lenguaje de programación llamado Java.

Ventajas#

  • Recomendado si estás aprendiendo o has aprendido algo de programación, incluso mejor si sabes un poco de Java.

  • Mayor flexibilidad que Blocks

  • Hay muchos más recursos disponibles en caso de que necesite ayuda

  • Más aplicable al mundo real que a Blocks

  • Mantiene la mayoría de las ventajas de Blocks

Desventajas#

  • Si te conectas a la red Wi-Fi del controlador del robot preverá que utilices cualquier cosa del internet, incluidos los tutoriales en vídeo y la comunicación en línea.

  • El uso de bibliotecas externas es difícil y llegando a lo imposible.

  • Curva de aprendizaje más pronunciada que la de Blocks

Android Studio#

Android Studio es un completo Entorno de Desarrollo Integrado (IDE) que utiliza Java para programar los teléfonos. En lugar de utilizar un navegador para cargar código, Android Studio compilará el código de tu Robot Controller en un archivo .apk (un instalador de aplicaciones) y lo instalará en el teléfono.

Ventajas#

  • Recomendado si estás aprendiendo o has aprendido algo de programación, incluso mejor si sabes un poco de Java.

  • Mucha más flexibilidad que Blocks.

  • Mucho más fácil de integrar bibliotecas como EasyOpenCV, FTC Dashboard, FTCLib, y Road Runner.

  • Se pueden usar plugins como Road Runner.

  • Puede utilizar una conexión USB con el teléfono RC o una conexión inalámbrica para cargar el código.

    Nota

    Los tiempos de despliegue pueden acelerarse utilizando OpenRC Turbo.

  • Pueden depurarse en tiempo real

  • Muchos recursos para Java, Android Studio e IDEA

  • Puede utilizar otros lenguajes de programación

Desventajas#

  • La conexión a la red Wi-Fi del controlador del robot le impedirá utilizar cualquier cosa en Internet, incluidos los tutoriales en vídeo y la comunicación en línea, a menos que tenga un segundo adaptador Wifi (barato y fácil).

  • El proceso de instalación es relativamente sencillo, pero requiere tiempo y es una instalación pesada (3 GB de archivos entre Android Studio, ftc_app y otras bibliotecas).

  • Los problemas pueden ser difíciles de diagnosticar y resolver

Otros Lenguajes de Programación#

Kotlin#

Kotlin es un lenguaje de programación relativamente nuevo y de rápido crecimiento de Jetbrains, el creador del IntelliJ IDE, en el que se basa Android Studio. Kotlin fue creado para ser completamente compatible con Java, pero más fácil de trabajar. Google lo anunció recientemente como lenguaje oficial de Android, y luego anunció que «Kotlin first», pero manteniendo la compatibilidad con Java.

Ventajas#

  • Código conciso, legible y fácil de editar

    • Fácil de escribir, ya que se necesita mucho menos código para hacer lo mismo.

  • Inferencia de tipos opcional y un sistema de tipos más potente que Java

  • Seguridad nula

  • Seguridad

  • Programación funcional

  • Integración perfecta con código y bibliotecas Java

  • Muy fácil pasar a Java

Desventajas#

  • Todavía no se utiliza mucho en FTC®.

  • Es nuevo y tiene menos recursos comunitarios para la formación

  • No recomendado para programadores que necesitan mucha ayuda de otros equipos

C y C++#

C y C++ son lenguajes de programación nativos compatibles con Android. Muy pocos equipos han utilizado C++. Este suele utilizarse solo para una parte del código, siendo la mayor parte en Java o Kotlin.

Ventajas#

  • Ejecución rápida para aplicaciones que consumen muchos recursos.

  • Admite más bibliotecas

Desventajas#

  • Raramente necesario

  • Muy difícil de instalar

  • Código difícil de depurar

  • Muy pocos equipos pueden ayudarte

  • Muy pocos recursos en línea