- LiFePO4 Speicher Test         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 18 von 18

Thema: SENDSCANKBD einfach ???

  1. #11
    Neuer Benutzer Öfters hier
    Registriert seit
    07.02.2006
    Ort
    Saarbruecken
    Alter
    62
    Beiträge
    22
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hi,

    ich habe nun mal den Schaltplan entworfen, so wie ich mir den Aufbau der Schaltung vorstelle. Die 5 Volt Spannungsversorgung kommt vom PC und wird über ein PS/2 Verbindungskabel mit der Platine hergestellt. Auf der Platine soll sich ebenfalls wie am PC eine PS/2 Buchse befinden.
    Über die 5 verschiedenen Taster soll jeweils der entsprechende Code an den PC gesendet werden. Da ich den ATMEGA 8 auf meiner Entwicklungsumgebung programmiere, habe ich bewußt eine Programmierschnittstelle weggelassen.

    Den Schaltplan habe ich angehängt.
    Am Code will ich noch etwas arbeiten.

    Gruß Michael
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken tastaturemulator.jpg  
    zugeschnitte Drähte sind immer zu kurz.
    Oszillatoren schwingen nie, Verstärker immer.

  2. #12
    Neuer Benutzer Öfters hier
    Registriert seit
    07.02.2006
    Ort
    Saarbruecken
    Alter
    62
    Beiträge
    22
    @ Fusebitversteller,

    ich hatte heute morgen doch mal wieder keine Ruhe und habe am Code weitergearbeitet. Mit Sicherheit sind noch Fehler drin aber der Code lässt sich mit Bascom compilieren. Das ist ja schon mal was. Jetzt muss ich mir nur noch eine PS/2 Buchse besorgen, dann kann ich den Versuchsaufbau starten.

    Hier schon mal mein Code. Sei doch bitte so nett und wirf einen Blick drüber. Wenn später alles korrekt läuft, werde ich alles als Komplettprojekt posten.

    Gruß Michael

    Code:
    ' Tastaturemulator
    ' mit ATMEGA 8
    '02-04-2009
    
    
    $regfile = "m8def.dat"
    $crystal = 3686400
    $baud = 9600
    
    $hwstack = 32                                               ' default use 32 for the hardware stack
    $swstack = 10                                               ' default use 10 for the SW stack
    $framesize = 40                                             ' default use 40 for the frame
    
    
    Config Portb = Output                                       ' PortB als Ausgang definiert und auf High gesetzt
    Portb = 255
    Config Portc = Input                                        ' PC.0 bis PC.4 / Tasteranschlüsse
    Portc = 255
    Config Pind.3 = Output                                      ' Data
    Config Pind.7 = Output                                      ' Clock
    
    
    Enable Interrupts                                           ' you need to turn on interrupts yourself since an INT is used
    Config Atemu = Int1 , Data = Pind.3 , Clock = Pind.7
    
    '                 ^------------------------ used interrupt
    
    '                              ^----------- pin connected to DATA
    
    '                                       ^-- pin connected to clock
    
    'Note that the DATA must be connected to the used interrupt pin
    
    
    Do
    
          Waitms 200
    
    
          If Pinc.0 = 0 Then
          Sendscankbd Pfeil_hoch
          Else
    
          If Pinc.1 = 0 Then
          Sendscankbd Pfeil_runter
          Else
    
          If Pinc.2 = 0 Then
          Sendscankbd Pfeil_rechts
          Else
    
          If Pinc.3 = 0 Then
          Sendscankbd Pfeil_links
          Else
    
          If Pinc.4 = 0 Then
          Sendscankbd Enter
          Else
    
       End If
       End If
       End If
       End If
       End If
    
          Loop
    
    Return
    
    Pfeil_hoch:
    Data 5 , &HE0 , &H75 , &HE0 , &HF0 , &H75
    
    Pfeil_runter:
    Data 5 , &HE0 , &H72 , &HE0 , &HF0 , &H72
    
    Pfeil_rechts:
    Data 5 , &HE0 , &H74 , &HE0 , &HF0 , &H74
    
    Pfeil_links:
    Data 5 , &HE0 , &H6B , &HE0 , &HF0 , &H6B
    
    Enter:
    Data 3 , &H5A , &HF0 , &H5A
    zugeschnitte Drähte sind immer zu kurz.
    Oszillatoren schwingen nie, Verstärker immer.

  3. #13
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.05.2007
    Beiträge
    594
    PS/2 Buchsen sind fast teurer als ein altes PS/2 Keyboard...
    Ich habe meiner Tastatur einfach ein 2. Anschlußkabel spendiert - mit Pinheader am Ende

  4. #14
    Neuer Benutzer Öfters hier
    Registriert seit
    02.10.2005
    Ort
    Zwischen Hannover und Celle
    Beiträge
    22
    @elektronix00: Der Code sieht soweit ganz gut aus (testen kann ich es momentan nicht, da mir die Zeit dazu fehlt).
    Ein kleiner Schönheitsfehler: Zwischen Deiner Loop-Schleife und der ersten Data-Sektion (Pfeil_hoch) steht ein "Return". Das kann eigentlich weg, da es sich da bestimmt ziemlich einsam fühlt
    Dein Schaltplan schaut auch ok aus.

    @stefan_Z: Also bei Reichelt kostet eine Printbuchse (EB-DIO M06) 0,36€ - dafür bekomme ich keine PS/2-Tastatur

  5. #15
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.05.2007
    Beiträge
    594
    Zitat Zitat von Fusebitversteller
    @stefan_Z: Also bei Reichelt kostet eine Printbuchse (EB-DIO M06) 0,36€ - dafür bekomme ich keine PS/2-Tastatur
    OK, hatte das so verstanden, dass du NUR die Buchse brauchst... dann wäre der Versand schon teurer als das Teil!

  6. #16
    Neuer Benutzer Öfters hier
    Registriert seit
    07.02.2006
    Ort
    Saarbruecken
    Alter
    62
    Beiträge
    22
    Hi @ all,

    zuerst mal vielen Dank für die Mühe und die Kontrolle meiner Schaltung / Code.
    Ja, genau diese Buchse habe ich bei Reichelt bestellt, ich mag einfach einen sauberen Aufbau. Da ich nebenbei eine kleine Firma betreibe und somit recht viele Bauteile und Platinenmaterial benötige, bestelle ich regelmäßig bei Reichelt. Conrad liegt zwar Luftlinie nur ca. 1 km von mir entfernt, aber dort zahlt man ja immer noch die Rezeptgebühr mit (weil Aphotekerpreise)

    Wenn ich den Testaufbau fertig habe, werde ich berichten.

    Gruß und schönes Wochenende

    Michael aus Saarbrooklyn
    zugeschnitte Drähte sind immer zu kurz.
    Oszillatoren schwingen nie, Verstärker immer.

  7. #17
    Neuer Benutzer Öfters hier
    Registriert seit
    07.02.2006
    Ort
    Saarbruecken
    Alter
    62
    Beiträge
    22
    Hi @ all,

    ich konnte die Tage meinen Tastaturemulator erfolgreich testen. Wie man im Code sieht ist das eigentliche Programm recht klein, nur die Datensätze für die Scancodes im unteren Teil füllen den Code aus. Ich habe mir die Arbeit gemacht und die gebräuchlichsten Scancodes eingegeben. Nach Bedarf kann man die Datensätze erweitern. So kann man schnell mal im Programm Tasten ändern oder hinzufügen. Den Quartz konnte ich sogar weglassen und den ATMEGA intern mit 8 MHz takten. Für alle hier noch den Code.

    Gruß Michael



    Code:
    ' Tastaturemulator
    ' mit ATMEGA 8
    '11-04-2009
    
    $regfile = "m8def.dat"
    $crystal = 8000000
    
    $hwstack = 32                                               ' default use 32 for the hardware stack
    $swstack = 10                                               ' default use 10 for the SW stack
    $framesize = 40                                             ' default use 40 for the frame
    
    $lib "at_emulator.lib"
    
    Config Portb = Output                                       ' PortB als Ausgang definiert und auf High gesetzt
    Portb = 255
    Config Portc = Input                                        ' PC.0 bis PC.4 / Tasteranschlüsse
    Portc = 255
    
    Enable Interrupts                                           ' you need to turn on interrupts yourself since an INT is used
    Config Atemu = Int1 , Data = Pind.3 , Clock = Pind.7
    
    '                 ^------------------------ used interrupt
    
    '                              ^----------- pin connected to DATA
    
    '                                       ^-- pin connected to clock
    
    'Note that the DATA must be connected to the used interrupt pin
    
    Do
    
    Waitms 150
    
          If Pinc.0 = 0 Then
          'Sendscankbd Pfeil_hoch
          Sendscankbd Taste_a
          Else
    
          If Pinc.1 = 0 Then
          'Sendscankbd Pfeil_runter
          Sendscankbd Taste_b
          Else
    
          If Pinc.2 = 0 Then
          'Sendscankbd Pfeil_rechts
          Sendscankbd Taste_c
          Else
    
          If Pinc.3 = 0 Then
          'Sendscankbd Pfeil_links
          Sendscankbd Taste_d
          Else
    
          If Pinc.4 = 0 Then
          Sendscankbd Enter
          Else
    
       End If
       End If
       End If
       End If
       End If
    
          Loop
    
    'einige Tastatur - Scancodes / wird noch ergänzt
    '------------------------------------------------
    
    Pfeil_hoch:
    Data 5 , &HE0 , &H75 , &HE0 , &HF0 , &H75
    
    Pfeil_runter:
    Data 5 , &HE0 , &H72 , &HE0 , &HF0 , &H72
    
    Pfeil_rechts:
    Data 5 , &HE0 , &H74 , &HE0 , &HF0 , &H74
    
    Pfeil_links:
    Data 5 , &HE0 , &H6B , &HE0 , &HF0 , &H6B
    
    Enter:
    Data 3 , &H5A , &HF0 , &H5A
    
    Taste_esc:
    Data 3 , &H76 , &HF0 , &H76
    
    Taste_space:
    Data 3 , &H29 , &HF0 , &H29
    
    '------------------------------------------------
    
    Taste_f1:
    Data 3 , &H05 , &HF0 , &H05
    
    Taste_f2:
    Data 3 , &H06 , &HF0 , &H06
    
    Taste_f3:
    Data 3 , &H04 , &HF0 , &H04
    
    Taste_f4:
    Data 3 , &H0C , &HF0 , &H0C
    
    Taste_f5:
    Data 3 , &H03 , &HF0 , &H03
    
    Taste_f6:
    Data 3 , &H0B , &HF0 , &H0B
    
    Taste_f7:
    Data 3 , &H83 , &HF0 , &H83
    
    Taste_f8:
    Data 3 , &H0A , &HF0 , &H0A
    
    Taste_f9:
    Data 3 , &H01 , &HF0 , &H01
    
    Taste_f10:
    Data 3 , &H09 , &HF0 , &H09
    
    Taste_f11:
    Data 3 , &H78 , &HF0 , &H78
    
    Taste_f12:
    Data 3 , &H07 , &HF0 , &H07
    
    '------------------------------------------
    
    Taste_a:
    Data 3 , &H1C , &HF0 , &H1C
    
    Taste_b:
    Data 3 , &H32 , &HF0 , &H32
    
    Taste_c:
    Data 3 , &H21 , &HF0 , &H21
    
    Taste_d:
    Data 3 , &H23 , &HF0 , &H23
    
    Taste_e:
    Data 3 , &H24 , &HF0 , &H24
    
    Taste_f:
    Data 3 , &H2B , &HF0 , &H2B
    
    Taste_g:
    Data 3 , &H34 , &HF0 , &H34
    
    Taste_h:
    Data 3 , &H33 , &HF0 , &H33
    
    Taste_i:
    Data 3 , &H43 , &HF0 , &H43
    
    Taste_j:
    Data 3 , &H3B , &HF0 , &H3B
    
    Taste_k:
    Data 3 , &H42 , &HF0 , &H42
    
    Taste_l:
    Data 3 , &H4B , &HF0 , &H4B
    
    Taste_m:
    Data 3 , &H3A , &HF0 , &H3A
    
    Taste_n:
    Data 3 , &H31 , &HF0 , &H31
    
    Taste_o:
    Data 3 , &H44 , &HF0 , &H44
    
    Taste_p:
    Data 3 , &H4D , &HF0 , &H4D
    
    Taste_q:
    Data 3 , &H15 , &HF0 , &H15
    
    Taste_r:
    Data 3 , &H2D , &HF0 , &H2D
    
    Taste_s:
    Data 3 , &H1B , &HF0 , &H1B
    
    Taste_t:
    Data 3 , &H2C , &HF0 , &H2C
    
    Taste_u:
    Data 3 , &H3C , &HF0 , &H3C
    
    Taste_v:
    Data 3 , &H2A , &HF0 , &H2A
    
    Taste_w:
    Data 3 , &H1D , &HF0 , &H1D
    
    Taste_x:
    Data 3 , &H22 , &HF0 , &H22
    
    Taste_y:
    Data 3 , &H35 , &HF0 , &H35
    
    Taste_z:
    Data 3 , &H1A , &HF0 , &H1A
    
    Taste_0:
    Data 3 , &H45 , &HF0 , &H45
    
    Taste_1:
    Data 3 , &H16 , &HF0 , &H16
    
    Taste_2:
    Data 3 , &H1E , &HF0 , &H1E
    
    Taste_3:
    Data 3 , &H26 , &HF0 , &H26
    
    Taste_4:
    Data 3 , &H25 , &HF0 , &H25
    
    Taste_5:
    Data 3 , &H2E , &HF0 , &H2E
    
    Taste_6:
    Data 3 , &H36 , &HF0 , &H36
    
    Taste_7:
    Data 3 , &H3D , &HF0 , &H3D
    
    Taste_8:
    Data 3 , &H3E , &HF0 , &H3E
    
    Taste_9:
    Data 3 , &H46 , &HF0 , &H46
    zugeschnitte Drähte sind immer zu kurz.
    Oszillatoren schwingen nie, Verstärker immer.

  8. #18
    Erfahrener Benutzer Fleißiges Mitglied Avatar von da_miez3
    Registriert seit
    24.02.2012
    Ort
    Ilmenau
    Alter
    36
    Beiträge
    198
    hm weiß jetzt nicht ob es sich lohnt die 15eu zu investieren, in der hobbykasse ist ebbe .
    meine frage wäre ob und wie ich tastenkombinationen senden kann. also meinetwegen alt+f4 oder strg+v aber nur einen taster auf meinem board drücken muss.

    danke schonmal

    grüße da_miez

Seite 2 von 2 ErsteErste 12

Berechtigungen

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

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad