Stap 4: Ontwikkeling van de software voor uw slingshot!
USB-muis
=========
De eerste vraag betreft de USBMouse. De opties zijn een absolute of relatieve muis. Het antwoord is heel simpel, omdat de mbed niet de absolute positie van de vogel op het scherm, weet zodat de natuurlijke oplossing een relatieve muis (zoals een normale muis is) - plaatst u de cursor over de muis, dan is de katapult overneemt en beweegt ten opzichte van het beginpunt op basis van de interpretatie van de manipulaties van de katapult.
Katapult hoek
=============
De hoek van de katapult is het belangrijkste: we moeten voor de berekening van de richting van de vector toe te passen op de muispositie.
We gewoon gebruik van het feit dat we weten dat zwaartekracht veroorzaakt een 1G-force op de versnellingsmeter, en gebruik dat voor de berekening van de hoek van de katapult met sommige eenvoudige trigonometrie.
Bewegingen van de muis
================
De muispositie wordt dan berekend op basis van de verschuiving van de vector berekend aan de hand van de hoek van de katapult en de stretch sensorgegevens.
Omdat we sturen de relatieve bewegingen, we eigenlijk de gewenste positie te berekenen, dan uit het verschil van waar we weten dat we zijn en stuur dat te werken.
Algoritme
========
Het algemene idee voor hoe het werkt voor een volledige afvuren komt in een paar stappen:
WACHTEN:
-We beginnen door te wachten, met de cursor over de vogel - ongeacht hoe we de katapult kantelen, gebeurt er niets
-Wanneer we een sterk genoeg stuk zien, wij vinden dat het begin van strevend, en klik en houd de linkermuisknop ingedrukt
DOEL:
-Wij berekenen dan continu een vector gebaseerd op de hoek van de katapult, en het stuk van de strop of
-Dit is vertaald naar relatieve muisbewegingen met sommige meer trigonometrie en de muis wordt verplaatst in voorkomend geval
-Wij plaatsen op basis van een vector maar verzenden relatieve muis posities, we houden een nota van de geaccumuleerde bewegingen zodat we het verschil telkens kunt sturen
BAKKEN:
-Wij gaan AFVUREN wanneer we een snelle vermindering van de sling-stretch zien
-Op dit punt we de muisknop loslaat, dan de muis keren terug naar de uitgangspositie, klaar voor de volgende worp!
Muis instellen:
===========
Hier vindt u het vorige algoritme geïmplementeerd in dit programma. Maar je moet wel beseffen dat dit afhankelijk van verschillende dingen:
-de positie van de versnellingsmeter
-de verbinding en de lengte van de stretch sensor
De eerste keer dat ik mijn katapult probeerde, was de cursor op het scherm niet terugkomen, precies op de zelfde aanvangspositie na een shoot. Het oplossen van dit probleem, ik heb dit gewijzigd op Windows:
-Ga naar het Configuratiescherm
- Hardware en geluiden
- Muis in de sectie apparaten en printers
-Schakel in het tabblad Opties voor de aanwijzer precisie van de aanwijzer verbeteren
-U kunt ook het verminderen van de cursor snelheid
Wat pret met de mbed USB slingshot:
=================================
Blijkt dat het werkt! Hier is het in actie!
Zie ook:
========
- mbed website
-katapult artikel op de website van mbed
- mbed USB bibliotheek