Étape 3: programmation
Logiciel pour ce projet compose de deux parties, une pour la télécommande (ce que j’appelle « Host » par la suite) et l’autre pour le robot ("Client").
La programmation de la télécommande a un diagramme montré sur la première image. Il est responsable de l’initialisation de connexion, rétablissant l’interruption de connexion, commandes de codage et fournir une rétroaction du client à l’utilisateur. Il y aura aussi un système de menu LCD pour fournir des informations sur l’état actuel du contrôleur, permettent le réglage des paramètres en temps réel, d’étalonnage et ainsi de suite.
Deuxième photo est l’organigramme pour le client. Il est responsable d’accepter la connexion, commandes de décodage et de communiquer.
Communication
En ce qui concerne l’envoi de données, parce que nous utilisons les broches de la série sur l’Arduino, je vais utiliser Serial.write() pour envoyer des données. Cette fonction envoie un octet de données qui signifie la valeur max, que nous pouvons transmettre est 255 chaque fois que nous appelons cette fonction.
Vous demandez peut-être ce que nous devrions faire sur les entrées des potentiomètres et des manettes de jeu, car ils ont une valeur maximale de 1023. Nous avons deux options, l’un est de déclasser la résolution pour mapper la valeur comprise entre 0 et 1023 pour une nouvelle valeur comprise entre 0 et 255, ce qui peut être adapté en un octet. Deuxième option consiste à traiter le nombre en terme de bits (1024 peut être représenté avec 10 bits), qui peut être envoyé séparément sous forme de deux paquets. Quand ils sont arrivés du côté du client, nous les remettre ensemble comme un seul numéro. Comme vous le savez, pour une seule valeur, envoyant deux octets prendrait plus de temps qu’un octet. Même s’il est moins précis, nous n’avons parfois besoin ce niveau de précision et préfèrent une latence plus faible. Donc j’ai l’intention d’adopter ces deux méthodes dans la communication de la télécommande, afin que l’utilisateur puisse sélectionner quel chemin à parcourir dépend de la situation.
Lien vers le fichier Source se trouvent sur le Journal du projet. Comme je l’ai mentionné, il faut savoir comment utiliser Arduino pour utiliser le code source.