Étape 7: Un chapeau pour le RabbitPi
Une des choses plus emblématiques sur le Nabaztag a été la façon dont il se déplacerait ses oreilles quand une notification revenait. Ils pourraient être sur une orientation particulière soit en les déplaçant manuellement, soit en définissant une position en utilisant le logiciel de commande - mon objectif était juste de les faire bouger.
Je n’avais pas utilisé les moteurs avec le Raspberry Pi avant donc c’est un autre sujet de recherche nouveaux pour moi - tout d’abord, j’avais besoin de savoir quel type de moteurs je traitais avec, tout ce que je savais, c’était il y a 2 moteurs, chacun avec 2 fils. Lecture en ligne j’ai conclu que ceux-ci doivent être simple REDUCTEUR plutôt que des moteurs pas à pas, un fait confirmé par cette fantastiquement utiles instructable « pirater le Nabaztag » par Liana_B, que je souhaite que j’avais lu environ un mois plus tôt.
Encore une fois grâce à la flexibilité de la Pi, il y a différentes manières, que les moteurs pouvaient être contrôlés, mais j’ai décidé d’utiliser une planche Adafruit DC & Stepper Motor HAT . J’ai utilisé Adafruit écrans & babioles avant et j’adore les instructions détaillées et des exemples qui viennent en standard.
À l’aide d’une planche avec le chapeau (matériel fixé sur le dessus) standard signifie le contrôleur de moteur s’intégreraient proprement sur le dessus de la Pi en prenant peu de place, et parce qu’il utilise l’interface I2C il laissé libre les broches GPIO, que j’avais besoin pour les voyants et bouton Alexa/Clap.
Comme prévu à souder le chapeau ensemble était vraiment simple, et je l’ai eu rapidement monté sur la PI et relié jusqu'à le deux oreille moteurs. J’avais prévu de lancer les moteurs d’une puissance d’usb bancaires afin que j’ai seulement besoin d’une seule puissance prise, mais cela s’est avéré pour ne pas avoir suffisamment grognement, il ne serait pas même la lumière vers le haut le « travail » mené sur le chapeau. J’ai plutôt décidé d’utiliser un adaptateur d’alimentation DC pour exécuter le chapeau et les oreilles, idéalement, j’ai eu un de ceux-là universel avec embouts interchangeables très pratiques. Ce que je n’avais pas était une prise pour connecter l’adaptateur au chapeau. J’étais sur le point de départ pour Norwich Maplin (encore) quand je me suis souvenu de la destruction que le câble d’alimentation original le Nabaztag était une fiche DC standard - donc je pourrais juste recâbler la prise de courant original au chapeau - soigné ! En fin de compte j’ai aussi ré-utilisé d’alimentation Nabaztag original, qu’elle a prévu juste la bonne quantité de puissance.
Avec tout câblé vers le haut et une tension sensible choisi, j’ai couru provisoirement l’exemple python inclus avec le chapeau de moteur DC, exemples de code qui constamment changé la vitesse et la direction du moteur afin d’illustrer les options de contrôle différent. J’étais tellement excitée quand cela a fonctionné, mon premier moteur contrôlé par Pi ! Mais ensuite, j’ai remarqué quelque chose - un gémissement aigu vraiment fort comme quelqu'un exécutant un doigt mouillé autour d’un verre de vin. Ce n’était pas bon du tout, je voulais avoir les oreilles se déplacent tandis que les notifications ont été lues et cependant ne pas assourdissant le gémissement est vraiment perceptible. J’ai essayé différentes tensions mais aucun changement. En ce qui concerne Google j’ai trouvé que cela peut se produire en raison de PWM (modulation de largeur d’impulsions) et qu’un recours peut être à souder des petits condensateurs aux bornes du moteur. En regardant les moteurs elles étaient déjà en place. J’ai aussi expérimenté avec changer la fréquence PWM mais toujours aucun changement. Après quelques expériences, j’ai réalisé que le gémissement n’est arrivé que lorsque la vitesse du moteur était modifiée par le code de faible à élevé - Soo lui affectant une grande vitesse constante éliminé les gémissements au total - ouf !
J’ai créé un couple de test python scripts basés sur les exemples Adafruit, un mouvement au cours des notifications et un autre pour faire les oreilles effectuer une pleine « circuit » au démarrage, visant à copier le code du travail de ces derniers dans les principaux scripts permettant de gérer les interactions Alexa et Gmail/Yvonne.