Étape 3: Extensions et Conclusions
Tel que présenté ici le chemin d’accès programmé est perdue lorsque l’alimentation est coupée. Donc une éventuelle extension de ce projet serait de stocker le chemin d’accès dans l’EEPROM pour qu’il est maintenu par le biais de puissance cyclisme.
En outre, dans ce sketch, le menu affiche la position actuelle dans le texte d’invite au bas de l’écran. Par exemple la Position 3 de 10. Une autre extension serait de changer de couleur de fond de la position actuelle de vert, < g bg > à quelque autre couleur, par exemple jaune < f y > , car le bras se déplace par le biais de ce poste.
Utilisation de isRefresh()
Il s’agit du premier projet à utiliser la nouvelle j’aisRefresh() caractéristique de pfod.
Depuis la première version, pfod avait un menu actualiser construit en. Lorsqu’un pfodDevice, comme ce bras robotisé, envoie un menu pour le pfodApp il peut inclure un intervalle redemande. Le pfodApp puis redemande le menu à cet intervalle pour obtenir les dernières mises à jour. Dans les versions de pfodApp avant V1.2.84, il était impossible pour la pfodDevice de savoir si la demande pour le menu a été la première demande ou une nouvelle demande. Donc le pfodDevice dû renvoyer tout le menu chaque fois.
Pour les menus longs et des vitesses de transfert lent, cela peut prendre une bonne quantité de temps. Par exemple dans ce projet le menu principal comporte environ 540 octets qui prend plus d’une demi-seconde d’envoyer à 9600 bauds. Car Arduino utilise les connexions série blocage, cela signifie la loop() principale semble s’arrêter travailler chaque seconde ou ainsi, alors que le rafraîchissement du menu est envoyé.
Cela est visible lorsque, le bras est en cours d’exécution, comme une pause dans le mouvement du bras chaque seconde. La fonction isRefresh() permet de surmonter ce problème. Si le pfodDevice envoie l’intervalle redemande comme un nombre négatif, le pfodApp utilise le nouveau message de rafraîchissement, {:< cmd >} , de re-demander le menu et pfodParser définit l’indicateur de isRefresh() avant de passer sur la commande pour demander le menu soit renvoyé. Code de la pfodDevice pouvez maintenant vérifier cet indicateur en appelant isRefresh() et si elle est définie, renvoyez simplement les mises à jour de menu plutôt que le menu complet. Les mises à jour du menu sont beaucoup plus courtes, environ 100 octets et n’entraînent aucune pause perceptible du mouvement du bras.
Cette fonction de isRefresh() est une optimisation et comme tel ne doit pas être utilisée si l’actualisation normale est à l’origine des problèmes notables.
Conclusion
Le projet prévoit un moyen simple de chemins d’accès complexes du programme votre bras robotisé. Le MeArm a été utilisé comme exemple, mais la même approche peut être appliquée à d’autres bras robotiques.