Stap 10: Codefragmenten
De toepassing van de KinomaJS heeft twee hoofdtaken: monitoring van de versnellingsmeter en de sensormeting versnelling-gegevens vertalen in bijpassende opdrachten van de motor. Een basisconfiguratie en de lezing van de analoge versnellingsmeter-gegevens kunnen worden bereikt in een BLL als volgt:
Het zou echter beter, zijn een paar functies toevoegen aan onze versnellingsmeter BLL. De eerste is kalibratie: de optie om te vertellen de BLL wanneer het apparaat is niveau. De tweede is vloeiend: vermindering van de noisiness van de analoge ingang om te voorkomen bewegingsonscherpte van het labyrint. In de bron van het volledige project zijn er implementaties van deze twee functies. De demping is uitgevoerd met behulp van een eenvoudige low-pass filter.
Verzenden van opdrachten naar de motoren gebeurt in twee delen. De BLL kant luistert naar de opdrachten uit de app en omgezet in seriële berichten na het communicatieprotocol van de SSC32u (zoals beschreven in de Gebruikershandleiding). De BLL ziet er zo uit:
De app communiceert met de motor BLL telkens het krijgt gegevens terug van de versnellingsmeter BLL. Dit begint wanneer de 'data'-handler van de app wordt aangeroepen als het de versnellingsmeter terugbellen. Deze handler u de weergave bijwerken, berekent de juiste hoeken voor de twee servomotoren en roept vervolgens de functie doMotorControl. doMotorContorl roept de functie 'sendDualCommand' van de motor BLL:
Gefeliciteerd!
U hebt het gedaan! Of als u vast te samen met de manier zitten kwam, we zijn hier om te helpen, kom ons bezoeken op ons forum en laat ons weten hoe we kunnen helpen.