Étape 7: Une présentation détaillée de la servo.py
Le code python pour contrôler des servos est assez simple, aussi longtemps que vous comprenez Python. Personnellement, je ne suis pas tellement fan de cette langue, mais qui n’est pas la question. Vous pouvez lire avec cette copie du fichier servo.py sur GitHub.
Tout comme dans le code Java, vous devez mettre vos PubNub personnel publication et l’abonnement clés dans ici, ainsi que le nom de votre canal de communication.
La Pi va faire ce qui suit au démarrage :
- Réinitialiser le circuit de commande de matrice AVR.
- Initialiser le PubNub avec vos clés
- Abonnez-vous à la chaîne de PubNub « leap2pi »
- Boucle pour toujours, vérifiant un commutateur de mode de sortie (plus sur cela dans un instant)
Sous le capot, la bibliothèque de PubNub s’occupe de tout le travail dur. Celui-ci s’abonner appel s’occupe de tout, il suffit de spécifier quelques rappels - Voici les fonctions qui sont appelées lorsqu’un événement se produit.
#Subscribe de sous-canal, valeur fonction de rappel _callback et erreur jeu fucntion à _error pubnub.subscribe (canaux = canal, rappel = _callback, erreur = _error, connect = _connect, reconnecter = _reconnect, déconnecter = _disconnect)
Rappels concernant la connexion devraient être évidents (connect, reconnecter, etc.), mais celui qui fait le plus de travail est le rappel de la bien nommée « rappel ». Cette fonction ne fait quelque chose avec le message que nous recevons de la chaîne souscrite. Comme mentionné ci-dessus, la boîte a deux modes de sortie sélectionné par un interrupteur connecté à quelques lignes d’e/s.
- MIROIR - les bots reflétera vos mouvements ; par conséquent, votre main gauche contrôle inversement le bot droit
- DÉSACTIVÉ - les servos seront insensibles
- CLONE - les bots clonera vos mouvements ; C’est pourquoi la main gauche contrôle directement le bot gauche
La logique de ces modes ainsi que les déclarations de conduite I2C sont traitées dans la fonction _callback.
L’autre élément de la note de ce fichier est l’utilisation de la broche GPIO 4 en tant que sortie. Cette broche est le moteur de la porte d’un MOSFET qui relie un tableau des LEDs bleues au sol. Cette broche est activée sur une connexion à PubNub, les voyants agissent comme un indicateur de connexion. Il s’agit d’un aspect très important des configurations sans tête - il doit exister une indication à savoir que nous sommes connectés à internet !