-         

Ergebnis 1 bis 9 von 9

Thema: Nunchuk in X und Y

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    05.08.2010
    Beiträge
    21

    Nunchuk in X und Y

    Anzeige

    hallo zusammen,
    ich möchte mit einen Nunchuk einen kleinen Roboter mit zwei antrieben steuern (links und rechts) das Prinzipien sollte einer steuerung eines Panzerfahrzeuges entsprechen.

    ich habe mich auch am Code probiert finde Ihn aber nicht gut.



    Kennt einer von euch eine Bibliothek die dass kann die Nunchuk werte mittlere Stellung x 127 y 127 in links rechts -100...0...+100 übersetzt


    Mfg
    Alex

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    22.06.2009
    Beiträge
    1.269
    Wie wäre es du postest deine Code hier ? So schwer ist das nicht sowas umzusetzen wenn man bisschen drüber nachdenkt. Eine Lib ist mir dafür zumindest nicht bekannt.

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    13.01.2014
    Beiträge
    398
    Blog-Einträge
    3
    Hier findest du (unten auf der Seite) die passende C-Funktion. Es sei darauf hingewiesen, dass bei der Operation die Genauigkeit in den meisten Fällen abnimmt.

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    05.08.2010
    Beiträge
    21
    danke,
    das würde beim Rechteck funktionieren aber beim octagram geht das nicht.

  5. #5
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    13.01.2014
    Beiträge
    398
    Blog-Einträge
    3
    OP.find("octagramm") == null !

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    05.08.2010
    Beiträge
    21
    sorry koenntest du das etwas erläutern - OP.find kann ich leider nichts anfangen - wo hast du es gefunden?

  7. #7
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    13.01.2014
    Beiträge
    398
    Blog-Einträge
    3
    Sorry - koenntest du das etwas erläutern - mit octagram kann ich leider nichts anfangen - Kontext zur op?
    [original post, der erste Beitrag in einem Thread (Internet)]

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    05.08.2010
    Beiträge
    21
    hi, beim Bewegungsfeld des Kontrollers handelt es sich um ein Achteck https://de.wikipedia.org/wiki/Achteck dem entsprechend kann man es nicht einfach berechnen.

    meine versuche

    //prozentuale ansteuerung Roemisch I
    if (py>=0 && px>0){
    if (py-px >= 0) {
    linksP = px*w21+py;
    rechtsP = 100-px*w2;

    //Serial.print("Roemis I O-1");
    }

    if (py-px < 0) {
    if (py > 0){
    linksP = py*w21+px;
    rechtsP = -100+py*w2;

    }
    //Serial.print("Roemis I O-2");
    }

    }


    //prozentuale ansteuerung Roemisch II
    if (py<0 && px>=0){
    if (py+px >= 0) {

    linksP = 100+py*w2;
    rechtsP = py*w21-px;

    //Serial.print("Roemis II O-3");
    }

    if (py+px < 0) {

    linksP = -100+px*w2;
    rechtsP = -px*w21+py;
    //Serial.print("Roemis II O-4");
    }

    }

    //prozentuale ansteuerung Roemisch III
    if (py<=0 && px<0){
    if (py-px < 0) {

    linksP = +px*w21+py;
    rechtsP = -100-px*w2;
    //Serial.print("Roemis III O-5");
    }

    if (py-px >= 0) {

    linksP = +py*w21+px;
    rechtsP = 100+py*w2;
    //Serial.print("Roemis III O-6");
    }

    }

    //prozentuale ansteuerung Roemisch IV
    if (py>0 && px<=0){
    if (py+px < 0) {
    linksP = -100+py*w2;
    rechtsP = py*w21-px;
    //Serial.print("Roemis IV O-7");

    }

    if (py+px >= 0) {
    linksP = 100+px*w2;
    rechtsP = -px*w21+py;
    //Serial.print("Roemis IV O-8");
    }

    }

  9. #9
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    13.01.2014
    Beiträge
    398
    Blog-Einträge
    3
    Der Nintendo Nunchuck auf Anfrage liefert 6 Byte.
    Die ersten beiden Byte sind AnalogX und AnalogY, wobei die jeweilige Nullstellung dem Wert 127 entspricht.
    Abweichungen entsprechen der Auslenkung des Analogstick.
    Mathematisch handelt es sich also um ein um kartesisches Koordinatensystem.
    Eine Verschiebung auf den Nullpunkt mit anschließender Skalierung bedeutet mathematisch:
    x_proz = (x_analog - 127) *(100 / 127)

Ähnliche Themen

  1. Nunchuk + Bascom + Atmega8 . Brauche hilfe :-)
    Von MrTaco im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 82
    Letzter Beitrag: 24.10.2012, 05:50
  2. ATmega88 mit Nunchuk WII - Rückgabewert immer 0xFF
    Von Minkfeld im Forum C - Programmierung (GCC u.a.)
    Antworten: 6
    Letzter Beitrag: 07.04.2012, 19:18
  3. Wii MotionPlus & Nunchuk per Passthrough auslesen
    Von Jaecko im Forum Sensoren / Sensorik
    Antworten: 1
    Letzter Beitrag: 14.12.2011, 23:18
  4. Mein Hexabot, Update: "Ferngesteuert über Nunchuk"
    Von Bluesmash im Forum Vorstellungen+Bilder von fertigen Projekten/Bots
    Antworten: 71
    Letzter Beitrag: 08.12.2009, 20:54
  5. Nunchuk + Bascom + Atmega8 . Brauche hilfe :-)
    Von MrTaco im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 03.08.2008, 02:02

Berechtigungen

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