Étape 6: Programme de la table-non-table
Le code de l’Arduino pour la TNT a trois fonctions principales :
- Créer un cheminement aléatoire pour la TNT
- se déplacer le long de ce chemin d’accès à des intervalles aléatoires et
- Journal des mouvements sur une carte SD.
Vous pouvez trouver le code de l’Arduino ci-dessous. Tout ce que vous devez faire est de télécharger le code et transférez-le sur votre carte Arduino. Si vous souhaitez modifier le code, voici une explication plus détaillée des étapes simples.
Tout d’abord, la la TNT se déplace dans l’espace est limité parce qu’il est attaché à un cordon d’alimentation. C’est pourquoi son mouvement ne peut pas être complètement aléatoire, car il pourrait manquer de cordon ou, si les moteurs sont assez forts, il pourrait se débrancher. Étant donné que nous voulions encore le mouvement semble aléatoire, nous avons décidé de programmer une logique qui crée un chemin aléatoire pour la TNT. Mais lorsqu’elle atteint la fin du chemin, il va revenir en arrière ses pas dans sa position initiale. Et après le retour de la TNT dans sa position initiale, le code génère un nouveau chemin d’accès aléatoire pour la TNT. De cette façon, le mouvement est toujours aléatoire, mais garantit également que la TNT va rester dans une zone donnée, car il revient toujours à son point de départ.
Le chemin d’accès lui-même peut contenir un certain nombre d’étapes, mais nous avons décidé de travailler avec 6 étapes au total. 3 étapes pour une position aléatoire et trois étapes de retour au point de départ. Chaque étape peut être une des 8 mouvements programmés : avant, Right, Left, filer droit, Spin gauche, marche arrière droit, inverser gauche et vers l’arrière. Chaque fois que notre code crée un nouveau tracé, il sélectionnera trois mouvements aléatoires et les stocker dans un tableau. Il sera alors allez-y et déterminer les étapes nécessaires pour revenir à sa position d’origine.
Par exemple, supposons que le chemin d’accès aléatoire est constitué de la séquence suivante: à gauche, tourner à droite, vers l’avant. Le code détermine ensuite que les mesures pour retourner au début sont : vers l’arrière, tourner à gauche, marche arrière droit.
Alors que le code crée l’itinéraire pour la TNT, il détermine également pour combien de temps sera exécuté à chaque étape. La durée peut varier entre 5 et 12 secondes, alors que le code s’assure que chaque étape et son homologue fonctionnera pendant le même temps. Par exemple : si l’étape « Forward » de l’exemple précédent est exécutée pour 8,5 secondes, l’étape « Descendante » est également exécutée pour 8,5 secondes.
Maintenant, la TNT est prête mais les étapes simples ne sont pas exécutées tout de suite. Le code met dans un délai aléatoire avant l’exécution de chaque étape. Ces retards varient de 20 à 110 minutes. Contrairement à la procédure et le temps pour chaque étape, chaque retard unique est différente qui ajoute à l’ambiguïté du mouvement.
Enfin les mesures simples sont enregistrés sur une carte SD branchée sur le bouclier de l’enregistreur de données. Le bouclier nous permet également de lire l’heure actuelle que nous utilisons pour enregistrer ainsi que les étapes simples et leur calendrier.