Stap 7: Een hoed voor het RabbitPi
Een van de meest iconische dingen over de Nabaztag was de manier waarop die haar oren verhuizen te wanneer een melding kwam. Ze kunnen worden ingesteld om een bepaalde geaardheid handmatig door ze te verplaatsen of door het instellen van een positie met behulp van de software van de controle - mijn doel was net te laten verplaatsen.
Ik niet motoren gebruikt met de Raspberry Pi voordat dus dit een ander nieuw onderzoeksonderwerp voor mij was-eerst ik nodig had om uit te vinden wat voor soort motoren was ik omgaan met, alles wat ik wist was werden er 2 motoren, elk met 2 draden. Voorlezing opwaarts online ik gesloten moeten deze eenvoudige DC-motoren in plaats van stappenmotoren, dat nog eens bevestigd door dit fantastisch handig instructable "Hack de Nabaztag" door Liana_B, die ik wou dat ik had gelezen over een maand eerder.
Wederom dankzij de Pi's flexibiliteit zijn er veel verschillende manieren die de motoren kon worden gecontroleerd, maar ik besliste te gebruiken een board Adafruit DC & Stepper Motor hoed . Ik heb het gebruikt van Adafruit schermen & snuisterijen vóór en ik hou van de gedetailleerde instructies en voorbeelden die komen als standaard.
Met behulp van een bord met de hoed (Hardware aangesloten op de Top) standaard bedoeld de motorcontroller schikt zou passen op de top van de Pi die minimale ruimte inneemt, en omdat het gebruikt de I2C-interface liet gratis de GPIO pinnen die ik nodig had voor de Alexa/Clap-knop en de LEDs.
Zoals verwacht solderen de hoed samen was echt eenvoudig en ik hadden al snel het gemonteerd op de PI en verbonden tot de twee oor motoren. Ik had gepland om uit te voeren de motoren van een usb power bank zodat ik zou alleen nodig een enkele mogendheid plug, maar dit bleek niet te hebben genoeg grunt, het zou niet zelfs licht omhoog de "werking" geleid op de hoed. Ik besloot in plaats daarvan te gebruiken van een DC-stroomadapter voor het uitvoeren van de hoed en de oren, ik had een van die universele degenen met verwisselbare tips handig gunstig. Wat ik niet heb was een DC-aansluiting Sluit de adapter aan op de hoed. Ik was op het punt van vertrek naar Norwich Maplin (opnieuw) toen herinnerde ik me van de teardown dat de Nabaztag's oorspronkelijke netsnoer een standaard DC plug was - dus ik kon gewoon opnieuw draad het oorspronkelijke stopcontact tot en met de hoed - netjes! Op het einde gebruikte ik opnieuw ook de oorspronkelijke voeding van de Nabaztag, volgens het precies de juiste hoeveelheid van de macht.
Met alles bekabeld en een verstandige spanning geselecteerd liep ik voorlopig de python voorbeeld opgenomen met de DC Motor hoed, voorbeeldcode die voortdurend veranderd de snelheid en richting van de motor om te illustreren de verschillende controle-opties. Ik was zo opgewonden toen het werkte, mijn eerste Pi gestuurde motor! Maar dan merkte ik iets - een werkelijk luid high-pitched janken als iemand met een natte vinger over een glas wijn. Dit was helemaal niet goed, ik wilde de oren verplaatsen terwijl meldingen waren wordt gelezen en hoewel niet oorverdovend het gejank echt merkbaar was. Ik heb geprobeerd verschillende spanningen maar geen verandering. Wat betreft de Google vond ik dat dit als gevolg van PWM (puls breedte modulatie gebeuren kan) en dat een vorm van genoegdoening zijn kan om te kleine condensatoren solderen in de motor terminals. Kijken naar de motoren waren al op zijn plaats. Ik experimenteerde ook met het veranderen van de frequentie PWM maar nog steeds geen verandering. Na wat experimenteren realiseerde ik me dat het gejank alleen gebeurde toen de snelheid van de motor werd wordt veranderd door de code van laag naar hoog - dus stellen op een constante hoge snelheid geëlimineerd het jammeren helemaal - Oef!
Ik heb een paar test python scripts op basis van de voorbeelden van Adafruit, één voor verkeer tijdens kennisgevingen en andere om de oren een volledige "circuit" uitvoeren bij het opstarten, gericht op de werkende code kopiëren door deze in de belangrijkste scripts gebruikt voor het verwerken van de Alexa en Gmail/Ivona interacties.