Options de Programmation¶
Il existe trois options recommandées pour les équipes lorsqu’elles programment un robot pour accomplir diverses tâches : Blocs, OnBot Java et Android Studio.
Blocs¶
L’outil de programmation Blocs est un moyen simple de coder des actions simples pour le robot. Il possède une conception colorée et ressemble à des Legos, et inclut des sons de blocs qui s’emboîtent.
À l’aide d’un appareil et d’un téléphone contrôleur de robot, connectez votre appareil au Wi-Fi du téléphone en cliquant sur les trois points en haut à droite du RC et sélectionnez « Program & Manage ». Cela affichera le SSID WiFi et le mot de passe pour que vous puissiez vous connecter. Allez dans votre navigateur (de préférence Chrome, bien qu’un autre navigateur moderne puisse fonctionner) et entrez l’adresse indiquée dans le RC.
Avantages¶
Idéal pour les débutants : l’une des options les plus faciles et les plus simples à utiliser.
Facile à mettre en place : nécessite un appareil (ordinateur portable, Chromebook, tablette) et un téléphone dans l’écran Programmer & Gérer
Les programmes peuvent être enregistrés directement sur le téléphone
Les changements peuvent être effectués rapidement
Ne nécessite pas de connexion Wi-Fi externe
Désavantages¶
Non recommandé si vous êtes déjà familiarisé avec un certain type de programmation.
Il s’agit avant tout d’un outil pédagogique destiné aux personnes n’ayant aucune expérience en matière de programmation.
Cela changera votre réseau Wi-Fi principal en réseau Wi-Fi direct Robot Controller’s et vous ne pourrez donc pas accéder à Internet lorsque vous serez connecté à ce réseau particulier.
Les équipes peuvent contourner ce problème en achetant un module Wi-Fi externe qui permet aux ordinateurs de gérer 2 réseaux Wi-Fi à la fois.
Sacrifie la flexibilité et l’application à la simplicité
Ne l’utilisez jamais sur un téléphone, sauf si vous êtes à court d’options. (Pas adapté aux téléphones)
Vous risquez de faire un plus grand gâchis si vous essayez de le faire.
OnBot Java¶
OnBot Java utilise une méthode similaire qui consiste à utiliser un navigateur pour coder et enregistrer directement sur le téléphone. La différence est que c’est un langage de programmation appelé Java qui est utilisé.
Avantages¶
Recommandé si vous apprenez ou avez appris à programmer, encore mieux si vous connaissez un peu Java.
Une plus grande flexibilité que les Blocs
De nombreuses autres ressources sont disponibles si vous avez besoin d’aide.
Plus applicable au monde réel que les Blocs
Maintient la plupart des avantages des Blocs
Désavantages¶
La connexion au réseau Wi-Fi du contrôleur du robot vous empêchera d’utiliser tout ce qui se trouve sur Internet, y compris les didacticiels vidéo et les communications en ligne.
L’utilisation de bibliothèques externes est difficile, voire impossible
Courbe d’apprentissage plus raide que celle des Blocs
Android Studio¶
Android Studio est un environnement de développement intégré (IDE) complet qui utilise Java pour programmer les téléphones. Au lieu d’utiliser un navigateur pour télécharger le code, Android Studio compilera le code de votre Robot Controller dans un fichier .apk (un programme d’installation d’application) et l’installera sur le téléphone.
Avantages¶
Recommandé si vous apprenez ou avez appris à programmer, encore mieux si vous connaissez un peu Java.
Beaucoup plus de flexibilité que les Blocs.
Beaucoup plus facile d’intégrer des bibliothèques comme FTC Dashboard, FTCLib, et Road Runner.
Il est possible d’utiliser une connexion USB au téléphone RC ou une connexion sans fil pour télécharger le code.
Débogage en temps réel
Nombreuses ressources pour Java, Android Studio et IDEA
Peut utiliser d’autres langages de programmation
Désavantages¶
La connexion au réseau Wi-Fi du contrôleur du robot vous empêchera d’utiliser tout ce qui se trouve sur Internet, y compris les tutoriels vidéo et la communication en ligne, à moins que vous ne disposiez d’un second adaptateur Wifi (facile et peu cher).
Processus d’installation relativement facile, mais long et lourd (3 Go de fichiers entre Android Studio, FtcRobotController et d’autres bibliothèques).
Les problèmes peuvent être difficiles à diagnostiquer et à résoudre
Autres langages de programmation¶
Kotlin¶
Kotlin est un langage de programmation relativement nouveau et en pleine expansion, développé par Jetbrains, le créateur de l’IDE IntelliJ, sur lequel est basé Android Studio. Kotlin a été conçu pour être totalement compatible avec Java, tout en étant plus facile à utiliser. Google l’a récemment annoncé comme langage officiel d’Android, puis a annoncé qu’il allait passer à « Kotlin first » tout en conservant le support de Java.
Avantages¶
Code concis, lisible et facile à modifier
Facile à écrire car il faut beaucoup moins de code pour faire la même chose.
L’inférence de type optionnelle et un système de type plus fort que Java
Sécurité nulle
Sécurité des fils
Programmation fonctionnelle
Intégration transparente avec le code et les bibliothèques Java
Transition très facile à partir de Java
Désavantages¶
Pas encore largement utilisé dans FTC®
Nouveau et disposant de moins de ressources communautaires pour la formation
Non recommandé pour les programmeurs qui ont besoin d’une aide importante de la part d’autres équipes.
C et C++¶
C et C++ sont des langages de programmation natifs compatibles avec Android. Très peu d’équipes ont utilisé le C++. Il n’est généralement utilisé que pour une partie du code, la majeure partie étant composée de Java ou de Kotlin.
Avantages¶
Exécution rapide pour les applications très gourmandes en ressources.
Prise en charge d’un plus grand nombre de bibliothèques
Désavantages¶
Rarement nécessaire
Très difficile à mettre en place
Code difficile à déboguer
Très peu d’équipes peuvent vous aider
Très peu de ressources en ligne