- Labornetzteil AliExpress         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 13 von 13

Thema: Taster zum Stellen wie bei Digitaluhr u.a.

  1. #11
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.12.2004
    Alter
    71
    Beiträge
    277
    Anzeige

    Powerstation Test
    Versehentliche Doublette. Verzeihung.

  2. #12
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.12.2004
    Alter
    71
    Beiträge
    277
    Zitat Zitat von Millenniumpilot
    Hallo Andree,

    hat funktioniert
    Leider bin schon etwas älter, sprich langsamer, und musste daher die Verzögerung auf 120ms einstellen.
    Nochmals vielen Dank.

    Gruß Dirk
    Aaach so... Ich hatte befürchtet, daß Du einen meiner fast in jedem Programm vorhandenen Lösungsansatz von vorn herein ausschließt. Wenn Du Dich auf zwei oder drei Tasten einlassen kannst, dann könnte diese Funktion doch interessant sein:

    Code:
    Function Adjust_value(byval Up_down As Byte, byvalue schritt as byte)
    Cls
    
    Adj1:
    Locate 2 , 1
    Lcd Up_down ; "  "
    Taste = Analog_key()
    If Taste = 32 Then Up_down = Up_down + schritt
    If Taste = 33 Then Up_down = Up_down - schritt
    If Taste = 10 Then
       Adjust_value = Up_down
       Exit Sub
    End If
    
    Goto Adj1
    
    End Function
    Die dazugehörige Tastaturabfrage (hier die klassische Tastatur an einem Analogport) die lustigen Zuordnungen von 10 - 32 - 33 haben ihren Grund einfach darin, daß die von mir häfig eingesetzen IR-Fernbedienungen diesen Code -prgup - prgdwn - ok - liefern und ich nur die Funktion austauschen muss, um umzusteigen) könnte dann so aussehen:

    Code:
    'Diese Unterfunktion fragt die Tastatur am analogen Port ab
    Function Analog_key() As Byte
       Local Ws As Word
       Analog_key = 255
       Start Adc
       Ws = Getadc(1)
       If Ws < 900 Then
          Select Case Ws
             Case 0 To 100
                Analog_key = 32
             Case 400 To 600
                Analog_key = 33
             Case 650 To 750
                Analog_key = 10
          End Select
          Call Beep_confirm()
       End If
    Waitms 100
    End Function
    Die Adjust_value Routine ist flexibel ausgelegt und erlaubt die Angabe einer Schrittweit pro Tastendruck. Das kann ganz nützlich sein, z. B. bei der Einstellung von Variablen von D/A Wandlern, wo man oft in 10ner Schritten voranschreiten möchte.

    Eine Veränderung einer Variable via Tasten sähe als Aufruf dann so aus
    (am Beispiel der Systemvariablen _min):

    _min = adjust_value (_min, 1)

    Das Spielchen kann man noch durch Minimum- und Maximumwerte erweitern etc. (entsprechende If Abfrage zum Rücksetzten).

    Grüße
    Henrik

  3. #13
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    06.08.2005
    Ort
    Berlin
    Alter
    59
    Beiträge
    239
    Hallo Henrik,

    schaue ich mir auf alle Fälle heute Abend mal an. Ich wollte sowieso das Display von Pollin 4x27 einsetzen und die daneben befindlichen Tasten benutzen (ich löte dort einfach Kurzhubtaster 3301 auf). Durch die 27 Zeichen habe ich auch einer Seite noch Platz für eine einfache Menüführung. Da passt Dein Tip gerade Das mit der IR-Fernbedienung ist natürlich auch eine nette Idee. Auf alle Fälle packe ich den Codeschnippsel in meine Sammlung.

    Gruß Dirk

Seite 2 von 2 ErsteErste 12

Berechtigungen

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

Solar Speicher und Akkus Tests