-
        

Ergebnis 1 bis 2 von 2

Thema: Gestenerkennung

  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    24
    Beiträge
    1.544

    Gestenerkennung

    Anzeige

    Hallo Leute,

    habs jetzt geschafft, mir 4 leds als "sensor" aufzubauen und zu nutzen.
    Dazu gibts auch nen Bascom thread
    http://www.roboternetz.de/phpBB2/viewtopic.php?t=53590

    Jetzt möchte ich einen Schritt weitergehen und die Daten an den PC senden (kein Problem) und dort dann erkennen, ob ich eine bestimmte Geste ausgeführt habe.
    Am Anfang möchte ich nur folgendes erkennen:
    Wenn ich mit dem Finger von lednr. 2 auf lednr.3 "schweife", soll erkannt werden, dass ich von links nach rechts über die Leds gefahren (mit dem Finger xD) bin.

    Allerdings weiß ich nicht so recht, wie ich ansetzen soll... Programmieren tue ich in XProfan (Basic).
    Die Werte kommen folgendermaßen (zuerst nur lednr. 2 und lednr. 3) als String (ohne Anführungszeichen):
    Code:
    "###:xxx:yyy"
    Die ### Kennzeichnen den Beginn, die Doppelpunkte sind Trennzeichen. xxx ist der Wert von lednr. 2 und yyy von lednr. 3 (also Werte liegen so zwischen 50 (050) und 400. Eine Berührung drückt den Wert auf ca. unter 200. Je kleiner der Wert, desto genauer / direkter ist die Berührung.
    Die Werte stellen die Entladedauer in ms dar (mehr dazu: siehe Bascom-Thread).
    Hatte mir gedacht, ich benutze die aktuelle Systemzeit (also millisekunden), um zu vermerken, welcher Wert als erster da war. Somit könnte man die Richtungserkennung machen.

    Ich hoffe, irgendjemand hat sich schonmal damit befasst und kann mir helfen. Habe leider im I-net nichts wirklich brauchbares gefunden.
    Möchte hier jetzt auch keinen fertigen Code (wird eh nicht viele geben, die in XProfan proggen), sondern nur eine Beschreibung der Vorgehensweise.

    Danke
    Gruß
    Chris

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    22.10.2009
    Beiträge
    120
    Du kannst ja jeweils die letzten "Spitzenwerte" (niedrigster Wert) fuer jeden Sensor mit Wert und Timestamp speichern.
    Jeder Mal wenn ein Sensorwert von "Spitze" abfaellt kannst du eine Auswertung machen.

    Beispiel:
    1.
    Lednr. 2 faellt gerade vom Spitzenwert runter -> Vergleich ausgeloest.
    Kein signifikanten Spitzenwert bei Lednr. 3 registriert in den letzten 3s -> keine Aktion

    2.
    Es vergehen etwa 500ms, und Lednr. 3 faellt gerade vom Spitzenwert runter -> Vergleich ausgeloest.
    Lednr. 2 hatte vor 500ms einen Spitzenwert -> Bewegung von Links nach Rechts detektiert.

    Hoffe mein Vorschlag hilft dir weiter!

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •