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