Styra Arduino bil via hoppa rörelse (4 / 5 steg)
Steg 4: Specifikation för att styra bilen via hoppa rörelse
Du kan hämta ursprungskoder för detta projekt på GitHub.
Leap Motion biblioteket informerar hand för 200 - 300 gånger på en sekund. Det är för mycket för detta projekt. Så använde jag informationen varje 5 gånger.
Enheten har en 3D-koordinatsystem som visas ovan (bilden är tagen från den officiella hemsidan).
I det aktuella projektet designade jag följande specifikationer för att kontrollera Arduino bilen.
Dessa två regler är högsta prioritet.
- Om enheten upptäcker inget händer att det sluta.
- Om enheten identifierar ett antal fingrar mindre än två det kommer att sluta.
Placering av händerna avgör bilens rörelse.
- Om x-axeln absolutvärdet är mindre än 10 cm och z-axeln absolutvärdet är mindre än 5 cm, kommer att det sluta.
- En check på x-axeln och z-axeln absolutvärdet jämförelsen är att utföras. Beroende på vilken axel har större värde kommer att användas i sådana fall. Bilen kan flytta bara i en riktning (vänster rotation, rätt rotation, framåt eller bakåt/bakåt) i taget.
- Om z-axeln är negativt värde, flyttas bilen bakåt/bakåt. Om z-axeln är positivt värde, kommer att bilen gå framåt.
- Om x-axeln är negativt värde, kommer att bilen flytta till vänster. Om x-axeln är positiv värde, bilen kommer att flytta höger.
- Värdet på y-axeln avgör kraften i motorn. Ett högre värde kommer att leda till mer makt.
Faktiska riktigheten av enheten förlitar sig på avståndet mellan enheten och hand position. Av säkerhetsskäl programmerar jag bilen för att stoppa när enheten hittar ingen hand eller otillräckliga data.
Riktning utifrån denna regler kommer att översändas samtidigt till Arduino bilen via XBee och webben via Socket.IO. Jag kan lista ut vilken typ av riktning överförs till bilen genom att kontrollera webbläsare.
Det tog lite tid att justera specifikationen. Förstå hoppa rörelse bibliotek och tune-up för att bestämma specifikationen är den viktigaste delen av detta projekt.