- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 9 von 9

Thema: Konfiguration eines Keyboards???

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    16.06.2005
    Ort
    Göppingen
    Beiträge
    360

    Konfiguration eines Keyboards???

    Anzeige

    Praxistest und DIY Projekte
    Ich find im ganzen Web keine Beschreibung zu der Konfiguration eines Keyboard. Kann mir da bitte jemand helfen?

    Ich habe ein Keyboard 4x4 Matrix an Portb.

    Danke schon mal im Vorraus!

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Andree-HB
    Registriert seit
    10.12.2004
    Ort
    Bremen
    Alter
    54
    Beiträge
    2.807
    ...guck einfach in die Hilfe von Bascom und Suche nach "Matrix", da steht alles weitere...

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    16.06.2005
    Ort
    Göppingen
    Beiträge
    360
    Gibts die Hilfe au in deutsch???

    Ich versteh die Zahlen nicht 16 bei nichts und 19... Keine Ahnung!

    Mein Programm sicht z.Zt so aus:

    Code:
    '####################ALARMANLAGEV1.0####################'
    'Copyright: Tobias Hocke || 05.07.2005 - 06.07.2005     '
    '#######################################################'
    
    $regfile = "m8def.dat"                                      'ATmega8
    $crystal = 10000000                                         '10 MHz
    
    Config Portb = Input                                        'Keyboard
    Config Portd = Input                                        'Sensoren bei Alarm Aktoren
    
    Config Lcdpin = Pin , E = Portc.0 , E2 = Portc.1 , Rs = Portc.2 , Db4 = Portc.3 , Db5 = Portc.4 , Db6 = Portc.5 , Db7 = Portc.6
    Config Lcd = 16 * 2
    
    Config Kbd = Portb
    
    Declare Sub Pause(byval D As Word)
    Declare Sub Tastatur()
    Declare Sub Funktion_taste()
    
    Dim Akttaste As Word
    Dim ___lcdno As Bit
    
    Dim B As Byte
    
    Deflcdchar 0 , 4 , 14 , 14 , 14 , 14 , 14 , 31 , 4
    Deflcdchar 1 , 32 , 32 , 1 , 2 , 20 , 8 , 32 , 32
    Deflcdchar 2 , 32 , 17 , 27 , 14 , 14 , 27 , 17 , 32
    Deflcdchar 3 , 4 , 14 , 31 , 14 , 4 , 12 , 4 , 28
    
    'Hauptprogramm
    Do
     B = Getkbd()
     Print B
     Call Tastatur()
     Call Funktion_taste()
     Lcd Akttaste
     Lcd 0
     Lcd 1
     Lcd 2
     Lcd 3
     Lcd B
     Lcd "geht"
     Call Pause(10)
    Loop
    
    'Prozeduren
    Sub Pause(byval D As Word)
    Dim I As Word
     For I = 0 To D
      nop
     Next I
    End Sub

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    03.11.2004
    Beiträge
    370
    Hallo, Ich hatte mal in Bascom eine 3x4 matrix ansteuerung selbst geschrieben, ich kann mal schauen, wo ich den code hin habe aber im prinzip ging es so:

    x1-4 ->Portb (output)

    y1-4 ->portd (input)
    (du kannst die ports natürlich auch anders belegen zb portb0-3 in und portb4-7 output - whatever)

    die input ports ziehst du mit 10k gegen masse
    dann setzt du alle ausgänge auf high und fragst die eingangsports regelmäßig auf high status ab. ist einer der vier eingänge high dann springst du in eine keyboard-sub wo du folgendes machst:

    x1 high x2,x3,x4 auf low

    wenn y1=1 dann button=1
    wenn y1=2 dann button=4
    wenn y1=3 dann button=7
    wenn y1=4 dann button=*

    danach X2 high alle andern low
    wenn y1=1 dann button=2
    wenn y1=2 dann button=5
    wenn y1=3 dann button=8
    wenn y1=4 dann button=0

    und so weiter.
    am ende wartest du noch bis die taste losgelassen wird, so daß du nicht immer fortlaufend die zahlen bekommst...

    Falls Bascom sowas schon haben sollte, dann kannst du das natürlich vergessen!

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    16.06.2005
    Ort
    Göppingen
    Beiträge
    360
    ja sowas hab ich auch geschrieben if.....

    aber das geht mit Bascom auch ohne soo verschachtlungen...

    aber wie man dann den Satus ausliest keine Ahnung!

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    03.11.2004
    Beiträge
    370
    vorher alias festlegen
    y1 alias pind.0

    und dann if y1=1 or y2=1 or y3=1 or y4=1 then gosub keyboardread

  7. #7
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    16.06.2005
    Ort
    Göppingen
    Beiträge
    360
    und ich bin leider [nicht sehr erfahrenb und progremmiere erst seit einer Woche BASCOM]

    Wo legt man diesen Alias fest?

  8. #8
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    03.11.2004
    Beiträge
    370
    MMHH. also im deklarationsteil, wo du auch deine variablen festlegst...
    der genaue syntax ist auch in der hilfe von Bascom nochmal näher erläutert

  9. #9
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    16.06.2005
    Ort
    Göppingen
    Beiträge
    360
    leider nur in englisch. gibts des net au in deutsch???

Berechtigungen

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

LiFePO4 Speicher Test