Étape 13 : Programme l’étincelle
Si vous avez ce bien loin, fait:) Nous sommes juste un pas loin de lever notre Wall-e et en cours d’exécution. La dernière chose que nous devons faire est de lui programmer.
La plupart du temps, nous pouvons utiliser la fonctionnalité standard dans le noyau, mais quand il s’agit de recevoir des messages de la CVMO, nous allons avoir besoin un peu d’aide. Pour être en mesure d’analyser les messages de la CVMO, nous allons faire une bibliothèque fournie par un membre de la communauté Spark :
https://github.com/trublion/sparkcore_osc
Si vous lisez le readme, vous verrez il y a quelques problèmes à l’aide de cette bibliothèque, mais ils tournent principalement autour d’envoyer des messages, mais comme nous sommes seulement intéressés à recevoir des messages, cette bibliothèque fonctionne réellement très bien pour nous.
Pour commencer, dans le Générateur d’étincelles, créez un nouveau projet et ajouter les fichiers de la bibliothèque de l’OSC dont nous aurons besoin. Nous recevons uniquement les messages, les classes seulement que nous avons besoin sont :
- OSCData.h/.cpp
- OSCMatch.h/.c
- OSCMessage.h/.cpp
Ensuite, copiez le code dans le fichier joint et mettre à jour les définitions en haut de sorte qu’ils pointent vers les broches corrects selon votre propre câblage. Lorsque vous obtenez des choses en cours d’exécution, vous devrez peut-être également modifier les différents appels de méthode mapServo, peaufiner les derniers paramètres qui sont le servo min / max de valeurs.
Tout le reste devrait fonctionner comme est, et devrait nous l’espérons être explicite. Pour décrire ce qui se passe dans ce code cependant, nous avons.
- Comme nous n’avez pas besoin de se connecter pour susciter des nuages, nous commençons en mode semi-automatique et il suffit de connecter wifi. Pour permettre en direct encore de programmation, nous regarder la touche mode et si pressé, reconnecter pour susciter des nuages.
- Notre boucle principale garde vérifier les nouveaux messages de la CVMO et si reçu, appelle le gestionnaire pertinent.
- Tous les gestionnaires de servo mapper les valeurs de l’OSC de la min / max vont à la min / max gamme des servos.
- La table d’harmonie déclenche un trigger sonore directement sur la carte de FX (efficacement truquer un bouton tactile réel)
- Dans la boucle principale, nous également exécuter une routine de clignotement pour faire les wall-e à clignoter toutes les 5 secondes.
- Pour le dernier bouton de la zone de boutons de table d’harmonie, nous faire détacher tous les servos, alors nous pouvons couper instantanément n’importe quelle contrainte sur n’importe lequel des servos.
Une fois que vous avez mis à jour selon les besoins, flash à votre base d’étincelle et connectez à l’arrière de votre Wall-e.