- Labornetzteil AliExpress         
Ergebnis 1 bis 2 von 2

Thema: Joystick Werte kalibrieren und richtig ausgeben

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    24.03.2013
    Beiträge
    15

    Joystick Werte kalibrieren und richtig ausgeben

    Anzeige

    Praxistest und DIY Projekte
    Abend,

    zur Zeit versuche ich die Werte von den Joysticks von einem PS2 Controller zu kalibrieren.
    Da die Werte bei meinem Joysticks nicht genau 511 bzw 512 sind habe ich ein Programm geschrieben, dass das behebt und es noch in ein anderes Programm eingefügt.
    Mein Problem ist, dass ein Wert richtig ausgegeben wird (511) und der andere (595). Beide Werte müssten 511 sein.

    Seht ihr vielleicht den Fehler oder was man besser machen könnte?

    Gruss


    Code:
    #include <VirtualWire.h>
    
    const int numberOfAnalogPins = 1; // how many analog pins to read
    
    int data[numberOfAnalogPins];  // the data buffer
    
    const int dataBytes = numberOfAnalogPins * sizeof(int); // the number of bytes
                                                            // in the data buffer
    int datahigh[numberOfAnalogPins];
    int datalow[numberOfAnalogPins];
    int datab[numberOfAnalogPins];
    
    void setup()
    {
        Serial.begin(9600);
        
        vw_setup(2000);           // Bits per sec
        
        datab[0] = analogRead(A0) - 511;
        datab[1] = analogRead(A1) - 511;
    }
    
    void loop(){
        
      int values = 0;
      for(int i=0; i <= numberOfAnalogPins; i++)
      {
        datahigh[i] = 1023 - datab[i];
        datalow[i] = 0 - datab[i];
        
        data[i] = analogRead(i) - datab[i]; // store the values into the data buffer
    
        if (data[i] >= 515)
      { data[i] = map(data[i], 515, datahigh[i], 515, 1023);
      }
      else if (data[i] <= 508)
      { data[i] = map(data[i], datalow[i], 508, 0, 508);
      }
      
        Serial.println(data[i]);
        delay(1000);
      
      }
      send((byte*)data, dataBytes);
      
    
    }
    
    
    void send (byte *data, int nbrOfBytes)
    {
      vw_send(data, nbrOfBytes);
      vw_wait_tx(); // Wait until the whole message is gone
    }

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    24.03.2013
    Beiträge
    15
    Ich habe jetzt alles ausführlich hingeschrieben ohne diese Schleife mit [i] (weiß nicht wie das heißt).

    Kann geschlossen werden.

Ähnliche Themen

  1. werte als spannung ausgeben
    Von sahra im Forum Assembler-Programmierung
    Antworten: 2
    Letzter Beitrag: 09.11.2010, 11:04
  2. Virtual Joystick Signal an RS232 ausgeben!
    Von dotcomer im Forum Software, Algorithmen und KI
    Antworten: 2
    Letzter Beitrag: 13.03.2009, 17:16
  3. Diagrammproblem LCD Werte richtig umrechnen und Dimensionier
    Von mirco99 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 11
    Letzter Beitrag: 02.11.2008, 12:40
  4. Joystick-werte in hyperterminal?????????
    Von Theux im Forum Software, Algorithmen und KI
    Antworten: 7
    Letzter Beitrag: 05.02.2008, 18:01
  5. A/D Werte ausgeben
    Von toraX im Forum C - Programmierung (GCC u.a.)
    Antworten: 13
    Letzter Beitrag: 17.02.2006, 02:20

Berechtigungen

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

LiFePO4 Speicher Test