Stap 13: Programma de vonk
Als je dit ver, goed gedaan hebt :) Wij zijn slechts een stap verwijderd van onze Wall-e krijgen up and running. Het laatste wat dat we moeten doen is hem program.
Voor het grootste deel kunnen we gebruiken standaard functionaliteit ingebouwd in de kern, maar als het gaat om het ontvangen van OSC berichten, we gaan een beetje hulp nodig. Om te kunnen ontleden OSC berichten, zullen we gebruik van een bibliotheek die door een lid van de Gemeenschap Spark:
https://github.com/trublion/sparkcore_osc
Als je de readme lezen, ziet u er zijn een paar problemen met behulp van deze bibliotheek, maar ze vooral draaien rond het verzenden van berichten, maar zoals we alleen geïnteresseerd zijn in het ontvangen van berichten, deze bibliotheek eigenlijk werkt echt goed voor ons.
Om te beginnen, in de vonk bouwer, maak een nieuw project en voeg de bestanden van de OSC-bibliotheek die we nodig. We zijn alleen het ontvangen van berichten, zijn de enige klassen die we nodig hebben:
- OSCData.h/.cpp
- OSCMatch.h/.c
- OSCMessage.h/.cpp
Vervolgens kopieert u de code van het bijgevoegde bestand en de definities aan de top te bijwerken zodat ze naar de juiste pinnen volgens uw eigen bedrading verwijzen. Wanneer krijg je dingen waarop wordt uitgevoerd, moet u mogelijk ook de verschillende methodeaanroepen van de mapServo wijzigen, tweaken de laatste parameters die de servo min / max waarden.
Alles moet gewoon werken zoals het is, en hopelijk moet zichzelf. Om een overzicht van wat er gaande is in die code wel, hebben we.
- Als we niet hoeven te verbinden om de vonk van de wolk, we beginnen in semi-automatische stand en sluit op wifi. Als u wilt toestaan via de ether programmering nog steeds, we kijken naar de mode-knop en als ingedrukt, sluit om de vonk van de wolk.
- Onze hoofdlus houdt controleren op nieuwe OSC berichten en als ontvangen, roept de relevante handler.
- Alle servo handlers kaart de OSC-waarden van de min / max bereik naar de min / max bereik van de servo's.
- De resonantiebodem activeert een geluid trigger direct op het bord van de FX (effectief faken een echte tactiele knop)
- In de hoofdlus lopen we ook een knipoogje routine om wall-e om de 5 seconden knipperen.
- Voor de laatste knop in de zangbodem knoppen gebied maken wij het loskoppelen van alle servo's, zodat we onmiddellijk elke druk op een van de servo's kunt snijden.
Zodra u hebt bijgewerkt, zoals vereist, flash aan uw core vonk en deze aan op de achterkant van uw muur-e sluit.