PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tastatur an Microcontroller



Richi 007
28.08.2007, 19:18
Wie kann ich eine PC-Tastatur an einen Microcontroller anschließen?

Lunarman
28.08.2007, 19:22
weißt du, wie man google schreibt?
und was ne sufu ist?

1. www.google.de
2. eine sufu ist eine Suchfunktion, in diesem fall ist die Forensuche gemeint.

Jon
28.08.2007, 21:33
Lunarman,
du hast es wirklich drauf!
Schreibst du in der letzten Zeit eigentlich mal auch richtig sinnvolle Beiträge?? Du hättest wenigstens mal ein paar Stichwörter posten können, mit denen der Fragesteller suchen kann. Ich hätte mit 13 Jahren auch nie solche Infos im Netz gefunden. Da fragt man dann doch lieber nach.

Zum Thema,
wie wäre es hiermit: https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=23097&highlight=attastatur ?
Da habe ich einen Code reingestellt, der auch funktioniert, man muss nur eine passende Tastatur haben. Der Code ist zwar für BASCOM, aber man sieht daran, dass es möglich ist, wenn man eine kompatible Tastatur hat.

Wie du die Tastatur anschließt, kannst du diesem Wikipedia Artikel entnehmen: http://de.wikipedia.org/wiki/PS/2-Schnittstelle

jon

P.S.: Sorry, Lunarman, dass ich das jetzt mal sagen musste. :-#

Christopher1
28.08.2007, 22:01
Im Buch von Claus Kühnel wird das beschrieben.
Den Code gibts auf seiner Homeepage
http://www.ckuehnel.ch/Download/BCAVR%20Sources.zip
Und davon ATKBD.Bas vielleicht hilfts dir.
@Lunarman
Muss das sein ? Sinn des Forums ist es ja anderen zu helfen und äh das ist ja mit solchen Hinweisen nicht so richtig der Fall ;-)

Lunarman
29.08.2007, 14:33
Okay, ich glaub, ich sollte mich mal entschuldigen, war gestern nich so prima drauf...
also, sorry, hab nicht gesehen, dass du 13 bist... willkommen im Club ^^
ich fand das nur halt ein bisschen komisch, du schienst dich halt überhaupt nicht informiert haben.... egal ^^ also, Stichwort ist zum Beispiel schonmal PS/2. Allerdings, versuch nicht, das in die Forensuche einzugeben, da kriegste mehr als 4000 Ergebnisse, die meisten ham nix mit Tastaturen zu tun :/

der von Jon gezeigte Link ist gut. Mehr hab ich jetzt auf die schnelle hier im Forum auch nicht gefunden. Anschließen kannst dus direkt mit pullups. keine TreiberICs oder sowas notwendig. Nur mal so aus Interessa: wofür brauchst du das denn?

also, sorry nochmal...

@Jon: Ja, keine Sorge, ich schreibe natürlich noch vernünftige Beiträge. Kann mal sein, dass ich ein bisschen offtopic schreibe, aber eigentlich hab ich immer auch was sinnvolles im Post. Und kein Problem, ich weiß ja, dass es mist war, was ich gesagt habe... dachte halt, da sitzt irgendson fauler Sack vorm Rechner, der nur zu faul zum suchen ist... @richi: klick mal auf den Link in meiner sig, da werden Sie geholfen! hab ich mir auch durchgelesen und finde es sehr interessant (hat jetzt nix mit der Tastatur zu tun!). Und das ist auch nicht sarkastisch gemeint, sonern absolut ernst!

Richi 007
03.09.2007, 15:22
Ich hab mir überlegt einen Roboter zu bauen, dem man auch Befehle per Infrarot oder direkt mit einer Tastatur senden kann.

kingmassivid
03.09.2007, 18:11
ich hab jetzt ebenfalls eine ps2 Tastatur an einen AVR angeschlossen aber irgendwie ist das verhalten komisch!
Es werden zwar die Buchstaben angezeigt(englische tastatur)
aber davor steht noch eine 2-2stellige nummer wie z.B 65A,69E usw.
Ich habe clock und data direkt an den avr ohne wiederstände, könnt es daran liegen?

Lukas

p.s. Ich verwende den code von Claus Kühnel.

pongi
03.09.2007, 19:35
Was für ein Zufall: 65 entspricht dem Code von einem A im Dezimalsystem, 69 dem von einem E. Diese zweistellige Nummer ist also der ASCII-Code von dem jeweiligen Karakter dezimal dargestellt.
www.asciitable.com

Lunarman
03.09.2007, 19:45
das bedeutet einfach nur, dass der Code so gemacht ist, dass er beides ausgibt. Hab mir schon gedacht dass das die Ascii Codes sind... wusste es nur nicht so genau. Kannst du uns allgemein dann vielleicht erklären wie du das gemacht hast? @kingmassivid ist das gemeint loggischerweise

kingmassivid
04.09.2007, 15:30
Wie ich das gemacht habe?
Ganz einfach. Ich hatte noch eine Tastatur ohne Stecker rumfliegen von der hab ich die Anschlussbelegung rausgesucht (stand auf der Platine) und dann Vcc and +5v und GNG an GND .
Data hab ich an Pinc.1 und clock an Pinc.2
dirket ohne Wiederstände (brauch man da welche?!)
Dazu verwende ich volgenden Code:


$regfile = "m16def.dat"
$crystal = 16000000
$baud = 9600
$hwstack = 32
$swstack = 10
$framesize = 40
Config Keyboard = Pinc.1 , Data = Pinc.0 , Keydata = Keydata

Dim B As Byte

Print "Eingabetest von PC-AT-Tastatur"
Portd.7 = 1
Do
B = Getatkbd() ' Abfrage der Tastatur
If B > 0 Then
Print Chr(b)
End If

Loop
End


Keydata:
' Shift-Taste nicht gedrückt
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , &H5E , 0
Data 0 , 0 , 0 , 0 , 0 , 113 , 49 , 0 , 0 , 0 , 122 , 115 , 97 , 119 , 50 , 0
Data 0 , 99 , 120 , 100 , 101 , 52 , 51 , 0 , 0 , 32 , 118 , 102 , 116 , 114 , 53 , 0
Data 0 , 110 , 98 , 104 , 103 , 121 , 54 , 7 , 8 , 44 , 109 , 106 , 117 , 55 , 56 , 0
Data 0 , 44 , 107 , 105 , 111 , 48 , 57 , 0 , 0 , 46 , 45 , 108 , 48 , 112 , 43 , 0
Data 0 , 0 , 0 , 0 , 0 , 92 , 0 , 0 , 0 , 0 , 13 , 0 , 0 , 92 , 0 , 0
Data 0 , 60 , 0 , 0 , 0 , 0 , 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0
Data 48 , 44 , 50 , 53 , 54 , 56 , 0 , 0 , 0 , 43 , 51 , 45 , 42 , 57 , 0 , 0

' Shift-Taste gedrückt
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 81 , 33 , 0 , 0 , 0 , 90 , 83 , 65 , 87 , 34 , 0
Data 0 , 67 , 88 , 68 , 69 , 0 , 35 , 0 , 0 , 32 , 86 , 70 , 84 , 82 , 37 , 0
Data 0 , 78 , 66 , 72 , 71 , 89 , 38 , 0 , 0 , 76 , 77 , 74 , 85 , 47 , 40 , 0
Data 0 , 59 , 75 , 73 , 79 , 61 , 41 , 0 , 0 , 58 , 95 , 76 , 48 , 80 , 63 , 0
Data 0 , 0 , 0 , 0 , 0 , 96 , 0 , 0 , 0 , 0 , 13 , 94 , 0 , 42 , 0 , 0
Data 0 , 62 , 0 , 0 , 0 , 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0 , 0
Data 48 , 44 , 50 , 53 , 54 , 56 , 0 , 0 , 0 , 43 , 51 , 45 , 42 , 57 , 0 , 0

Jetzt wüsste ich noch gerne wie ich funktionstasten abfragen kann?
Ich hab es einfach mal mit:
If B = 27 Then.. (27 ist esc) probiert aber da tut sich nichts!
Weiß jemand wie man die LED's an der Tastatur steuern kann?

Lukas

p.s. es lag wirklich am code !

Lunarman
04.09.2007, 19:50
naja, guck mal in wikipedia (nicht das wiki hier) nach, da steht ganz unten wenigstens der Befehl für die Numtaste. Rest weiß ich nicht, aber ist ja schonmal etwas.

kingmassivid
04.09.2007, 20:05
Ich habe schon einige Befehle gefunden aber weiß nicht wie ich die an die Tastatur senden soll! Mip print denk ich nicht das das geht.

Lukas

Lunarman
04.09.2007, 20:26
äääh... die ganze Verbindung ist BIDIREKTIONAL ^^ das heißt stell dir einfach vor du wärst die tastatur, dann musst du deine Sachen so abschicken und gut is.