TDm2
Le but de la séance est de se familiariser avec la programmation de la brique NXT flashé avec le firmware LejosRT
Prenez connaissance de la procédure d'installation et d'utilisation de lejosRT.
Exercice 1 : Hello lejosRT !¶
- Dans un fichier
Hello.java
, recopiez le code suivant :
- Compilez avec la commande
nxjc
. Vous devez obtenir le fichierHello.class
. - Edition des liens et téléversement du programme sur la brique NXT avec la commande
nxj
. - Lancez le programme sur la brique, trois procédures possibles :
- relancez la commande
nxj
avec l'option-r
- directement depuis la brique :
Files > Hello.nxj
- depuis le PC grâce à la commande
nxjbrowse
: cliquez surconnect
, puis sélectionnezHello.nxj
etRun program
- relancez la commande
Exercice 2 : Affichages sur l'écran LCD¶
Cherchez dans la documentation les classes LCD
et BATTERY
. Faites un programme permettant d'afficher le niveau de la battery.
Exercice 3 : Console déportée¶
Les consoles déportées sont un outils fondamentale pour le développement sur carte embarquée, et plus spécifiquement lors de la phase de debug.
Regardez la documentation de la classe RConsole
.
On commence dans le code par demander à la brique d'attendre la connexion :
Côté PC, on peut lancer la commande
Les affichages déportés peuvent être réalisés avec l'instruction RConsole.println()
.
Réalisez un programme similaire à celui de l'exercice 2 mais qui affiche l'état de la batterie sur la console déportée.
Exercice 4 : Faire un thread temps réel périodique¶
Regardez la documentation de la classe RealtimeThread
- Comment créé-t-on un thread temps réel ?
- Comment peut on lui affecter une priorité ?
- Que fait la méthode
waitForNextPeriod()
? - Faite un programme qui lance un thread temps réel de priorité 15 qui va afficher toutes les secondes un message sur la console déporté indiquant le temps écoulé depuis le début du programme.
- Pour calculer le temps écoulé, vous utiliserez la méthode statique
currentTimeMillis()
de la classeSystem
.
- Pour calculer le temps écoulé, vous utiliserez la méthode statique
Exercice 5 : La classe Motor¶
Regardez la doc de la classe Motor
.
Connectez un moteur sur l'un des port de sortie du NXT et faite un programme qui :
- Fait tourner le moteur en marche avant
- Écrit "Avance" sur l'écran et "le robot avance" sur la console déportée
- Attend qu’un bouton soit appuyé.
- Fait tourner le moteur en marche arrière
- Écrit "Recule" sur l'écran et "le robot recule" sur la console déportée
- Attend qu’un bouton soit appuyé.
- Arrête le moteur
Exercice 6 : Programme avec deux Realtimethread¶
Faites un programme avec deux RealtimeThread
, le premier démarre le moteur
puis affiche toutes les secondes un message, sauf si le moteur ne tourne plus,
dans ce cas il affiche un message et termine. Le deuxième attend qu'un bouton
soit appuyé pour arrêter le moteur.