-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: Joystick Probleme

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    23.01.2009
    Beiträge
    16

    Joystick Probleme

    Anzeige

    Hey Leute erstma mein werkzeug ^^ also die Grundschaltung des atmega32 mit ISP programmer. Einen Handelsüblichen analogen joystick. Joah das wars ^^ So mein Problem is jezt das ich zwar weis welche pins vom Joystick ich ablesen muss, mit dem Digitalmultimeter kann ich bei vollem anschlag zur einen und zur anderen Seite zwar einen Unterschied von ca. 0.06 v erkennen weis aber nicht wie ich das mit dem Atmega 32 wahrnehemn soll.... meine Programmiersprache is Bascom...
    Bisher habe ich es versucht mit
    Code:
    dim x as word 
    x = getadc(0) 
    if x > 5.10 then...
    jezt hab ich aba das problem das der mir sagt das der nen single erwartet ich x aber nicht als single definieren darf...
    ich bin ratlos deswegen bitte ihc um hilfe ..
    danke schonmal im vorraus

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Andree-HB
    Registriert seit
    10.12.2004
    Ort
    Bremen
    Alter
    47
    Beiträge
    2.556
    Du solltest Dir in der Hilfe die Grundlagen der verschiedenen Variablentypen durchlesen. Per "Word" kann man nur ganzzahlige Zahlen verarbeiten.

    Und da der ADC ein 10-Bit Wandler ist, reicht seine "Zahlenwelt" von 0-1024 (entspricht einer Spannung am Eingang von 0-5V, bzw. eingestellter Referenzspannung).

    Ergo : Word ist korrekt, eine Spannung von z.B. 2,5V am ADC(0) bei eingestellter 5V-Referenz ergibt für x etwa den Wert 512 :

    Code:
    dim x as word 
    x = getadc(0) 
    if x > 512 then...
    Ausserdem - wie beschaltest/misst Du denn Dein (Joystick)Poti ?
    Danke an Alle, die uns bei der erfolgreichen 1.000€-Aktion der IngDiba unterstützt haben! | https://www.hackerspace-bremen.de | http://www.pixelklecks.de |

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    23.01.2009
    Beiträge
    16
    Ah oke shconmal danke das Word nich funktioniert wusste ich wohl. Aber das das system der Adc wandler so ist wusste ich nich. also im mom jag ich einfach 5 v in den Joystick rein und mess dann am ausgang die spannung allerdings habe ich das Gefühl ich sollte einen vorwiderstand einbauen um die werte zu Fächern? Ist das Sinnvoll?
    Schonmal danke für weitere Hilfe

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von Andree-HB
    Registriert seit
    10.12.2004
    Ort
    Bremen
    Alter
    47
    Beiträge
    2.556
    Word MUSST Du nehmen, ein anderer Variablentyp geht nicht, bzw. ist nicht sinnvoll (z.B. Byte) .

    An einem Joystick brauchst Du keinen Vorwiderstand anlöten, der bildet bauertbedingt mit den Potis einen (zwei) optimalen Spannungsteiler.

    Mein Tipp -> elektrische und programmtechnische Grundlagen aneignen !
    Danke an Alle, die uns bei der erfolgreichen 1.000€-Aktion der IngDiba unterstützt haben! | https://www.hackerspace-bremen.de | http://www.pixelklecks.de |

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    23.01.2009
    Beiträge
    16
    Code:
    Dim Upx As Word
    Dim Y As Word
    Dim X As Word
    Config Portd.7 = Output
    Config Portc.0 = Output
    Config Portc.1 = Output
    Config Portd.6 = Output
    Led1 Alias Portd.7
    Led2 Alias Portc.0
    Led3 Alias Portc.1
    Led4 Alias Portd.6
    'ADC Starten für AD-Wandler
    Config Adc = Single , Prescaler = Auto
    Start Adc
    Led1 = 1
    Led2 = 1
    Led3 = 1
    Led4 = 1
    'sezt die nullstellung des Joysticks
    Upx = Getadc(0)
    Do
    X = Getadc(0)
    Y = Getadc(1)
    If X > Upx Then
    Led1 = 0
    Waitms 100
    End If
    Led1 = 1
    Led2 = 1
    Led3 = 1
    Led4 = 1
    Loop
    So hab ich das bis jezt aber es funzt net wirklich. Und es wäre nett wenn ihr nicht an meinen kleinen Programmier fähigkeiten mausert. Sondern mir beim lernen helft?

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von Andree-HB
    Registriert seit
    10.12.2004
    Ort
    Bremen
    Alter
    47
    Beiträge
    2.556
    ...Du bildest Upx aus dem Wert vom ADC(0), vergleichst dann mit X, welches ebenfalls aus dem gleichen Wert von ADC(0) gebildet wird...was soll da nun auch passieren ?

    X wird nie grösser sein als Upx, weil es immer gleich sein wird !
    Danke an Alle, die uns bei der erfolgreichen 1.000€-Aktion der IngDiba unterstützt haben! | https://www.hackerspace-bremen.de | http://www.pixelklecks.de |

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    23.01.2009
    Beiträge
    16
    Schau nochmal genau hin-.- upx wird zu anfang nur EINMAL definiert wo hingegen x = adc(0) in der loop schleife steht und immer wieer neu genommen wird-.-

  8. #8
    Erfahrener Benutzer Roboter Genie Avatar von BurningBen
    Registriert seit
    02.09.2008
    Ort
    Darmstadt
    Alter
    26
    Beiträge
    842
    Du hast aber schon nen Spannungsteiler aufgebaut mit deinem Joystick, nicht einfach nur 5V angeschlossen. (Sprich GND auf den andren Anschluss des Potis, und den Schleifer an den ADC gehängt).

    Ist der Joystick evtl. gar nicht mit Potis, sondern hat nur taster?

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    23.01.2009
    Beiträge
    16
    Ne es is genau wie du beschrieben hast Potis sind drin mit dem Digi multimeter kann ich wie schon geschrieben auch eine differenz von 0,06 v wahrnehemn aber iwie funzt das nicht mit dem prog.. also ein pin am joystick is masse einer 5v+ und der andere is poti

  10. #10
    Erfahrener Benutzer Roboter Genie Avatar von Willa
    Registriert seit
    26.10.2006
    Ort
    Bremen
    Alter
    37
    Beiträge
    1.269
    0.06V kommt mir sehr wenig vor.... und deine Software könnte eigentlich funktionieren. RS232-Anschluss hast du nicht? Dann könntest du gleich sehen was der µC misst. Hast du mal die Widerstände zwischen den drei Poti-Beinen gemessen?
    Viele Grüße, William
    -> http://william.thielicke.org/

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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