Étape 4: logiciels
Le logiciel comprend deux parties principales : le code qui s’exécute sur Arduino pour travailler le matériel et un serveur à dire Arduino quoi faire.
Code de l’Arduino
Le littleBits Arduino n’a pas encore beaucoup de documentation. Choses que vous devez savoir:
- son matériel est compatible, de Arduino Leonardo a choisi ce type dans l’IDE Arduino
- pour le pouvoir, il suffit de connecter le module de puissance pour les broches entrants (côté gauche)
Le code de l’Arduino est sur Github. Ses pièces sont :
Broches de sortie :
Mettre en place les chevilles utilisées pour les drapeaux et de maison et le but ! signe. Le module Arduino a uniquement un accès facile à la sortie sur les broches D1 et D9 D5. D5 et D9 devraient passer en mode PWM. Dans le code au moment où l’équipe locale (team0) est broche D9, l’équipe est D5 et le signe est D1.
Ecoute sur le port série :
Ecoute sur le port série pour « H », « A » ou « G » :
- H signifie que l’équipe maison marquera-t-elle : onduler le drapeau et le signe de cligner des yeux
- A signifie le score de l’équipe : onduler le drapeau et le signe de cligner des yeux
- G désigne le jeu événement (début ou fin de jeu): les deux drapeaux des vagues ensemble
La dernière partie a été difficile, que les servos tendent à bloquer jusqu'à ce que j’ai mis un retard de 25 ms entre les commandes pour les deux servos. Cette solution a été confirmée par d’autres maîtres-servo que j’ai demandé plus tard, donc il s’agit d’une bonne connaissance de projet d’avenir. Heureusement, ne peut pas vraiment remarqué l’effet de ce retard sur le comportement ici, donc tout bon. Le servo doit également au moins environ 300ms pour passer correctement des vagues. Moins que cela et il pourrait se comporter bizarre, beaucoup plus que ce qui le rend beaucoup moins ondulés.
Le code est très hacky, a été écrit en peu de temps, donc probablement pourrait faire beaucoup mieux. Votre kilométrage peut varier !
Code serveur
Le serveur tire les informations de jeu et demande à l’Arduino quoi faire. Il s’agit d’un serveur de Node.js très simple.
J’utilise Unofficial World Cup API des Kimonolabs cette fois.
- Inscrivez-vous à la Kimonolabs d’une API
- Trouver le jeu qui vous intéresse dans l’Explorateur de solutions (correspond à onglet, le meilleur moyen est peut-être au moment du jeu), copy match « id ».
- Découvrez le code de littleGoal de Github, installer les dépendances ("npm install » dans le répertoire du projet)
- copier "config.json.example" à « config.json » dans le répertoire, ajoutez votre API clés, mise à jour de l’id du jeu et votre port d’Arduino
J’ai testé sur Linux, devraient être les mêmes partout ailleurs où Node.js peut être exécuté.