Forum: Mikrocontroller und Digitale Elektronik Mikrocontroller-Schulprojekt: Tastaturbau mit 80c515


von Elias Z. (Firma: zimi) (carpenter007)


Lesenswert?

Hallo,

für ein Schulprojekt will ich eine mini-Tastatur bauen, die über einen 
Mikrocontroller über USB oder PS2 mit dem PC verbunden ist.
Das fertige Projekt sollte einfach angesteckt werden können und gleich 
Betriebsbereit sein.
Ich wär bei der Tastatur erstmal mit einer sog. Anykey (vllt 
Leertaste/Enter)zufrieden.

Zur Verfügung steht der80c515 Mikrocontroller
Dieser besitzt einen (oder 2) COM- Port.
(http://www.goblack.de/desy/mc8051chip/index.html)


Fragen:
USB oder PS2? Was ist leichter, was gibt es jeweils zu beachten? Kann 
ich einfach mit einem USB Adapter zum COM-Port die Verbindung vom PC zum 
MC herstellen? Ich les hin und wieder was von Treibern. Ist sowas nötig?

Was muss ich sonst noch beachten? Ich sollte ab nächster Woche gut über 
das Thema informiert sein, und möglichst viel Vorbereitungen getroffen 
haben. Die verfügbare Zeit ist ziemlich knapp.


Um nicht dafür ein extra Thread zu öffnen: Wie übersetz ich die 
Mikrocontroller Signale zur Tastatursprache? Wo bekomm ich mehr über die 
Tastatursprache raus?


Vielen Dank für jede Antwort

von Ulrich (Gast)


Lesenswert?

also die Signale vom MC und vom PC sind beide elektrisch. Deshalb muss 
man nix übersetzen ;-)

Und wenn du nicht extra Threads aufmachen willst, dann verstehe ich 
nicht weshalb du uns zuspamst? Ich habe nur einmal gegoogelt und 
Fragmente deines 1. Satzes eingegeben:
Tastatur bauen Mikrocontroller PS2 PC

Und der 1. Treffer ist der hier:
Beitrag "PC-Tastatur mit AVR ersetzen"

Und das hier findet bereits auch jeder Grundschüler dem man die Aufgabe 
stellt:
http://de.wikipedia.org/wiki/PS/2-Schnittstelle

mehr möchte ich dazu nicht sagen. Obwohl ich jetzt noch gerne mit der 
Frage anfangen will wer mal meine Rente zahlen soll

von Stefan M. (Gast)


Lesenswert?

PS/2 ist auf jeden Fall leichter zu implementieren. USB ist eine Sache 
für sich. Wenn Du gerne USB machen möchtest, dann würde ich Dir einen 
PS/2-USB-Umsetzer empfehlen. Den findest Du im gut sortierten 
Computerladen.

Fang mal hier an zu lesen:

http://de.wikipedia.org/wiki/PS/2-Schnittstelle

mfg, Stefan.

von helmi (Gast)


Lesenswert?

Ich würde dir empfehlen eine PS2 komatible Tastatur aufzubauen.
USB ist bedeutetn aufwendiger den der 80c515 hat keinen USB Controller.

Schau mal hier vielleicht hilft dir das.

http://www.marjorie.de/ps2/start.htm

Gruss Helmi

von Stefan M. (Gast)


Lesenswert?

@ulrich: Ich bin froh mal einen Schüler hier im Forum zu haben, der 
nicht als Projektarbeit einen eierlegende Wollmilchsau entwickelt 
möchte.

von Ulrich (Gast)


Lesenswert?

@stefan:
Ich habe halt dass Gefühl das er eher durch extrinsische Motivationen 
sich mit dem Thema beschäftigt.
Sonst hätte er mehr Zeit! Ich war selber Schüler und mehr wie eine Woche 
hatten wir für alles!

Wenn das intrinsische Motivation wäre, dann würde er erst gar nicht so 
eine Frage stellen und hätte gar keinen Zeitdruck.
Und so Leute die es nicht interessiert die können einfach nicht erwarten 
das sie von mir nett behandelt werden.

PS: Dich finde ich dang doll und verwende auch den einen oder anderen 
Softwareteil von dir.

von Michael (Gast)


Lesenswert?

Hallo Elias!

Wie Du selbst schon gemerkt hast, kannst Du so etwas sowohl per USB als 
auch per PS2 lösen. Die seriellen Schnittstellen haben da erst mal gar 
keinen Sinn, es sei den Du schreibst für den PC einen entsprechenden 
Treiber.
Bei USB sollte das ganze nach dem HDI, dem Human Device 
Interface-Standard funktionieren (schau mal bei http://www.usb.org), 
damit jeder PC das ohne Treiber erkennt. Allerdings ist 
USB-Programmierung ein relativ anspruchsvolles Feld. Es gibt aber schon 
einige Projekte im Netz, wo man mal schauen könnte.

Ich denke als Anfänger solltest Du es mit dem PS2-Protokoll versuchen. 
Das benutzt nur 4 Leitungen (+5V, GND, Data, Clock) und kann relativ 
einfach mit einem µC "nachgebaut" werden. (such mal nach DIY-Keyloggern 
:-) Im Prinzip wird per "Clock" wird ein Takt generiert, und dann bei 
jedem "high" ein Bit der Information übertragen. Welche Information dann 
genau notwendig sind findest Du in den unten angeführten Informationen. 
Allerdings ist PS2 nicht "hotplug"-fähig, d.h. du kannst dann nicht !im 
laufenden Betrieb! mal eben Deine Tastatur anstecken sondern musst das 
vor dem Booten machen. Hier ist auch noch ein mögliches Problem, denn 
der bootende PC fragt die Schnittstellen ab und vesucht, die Tastatur 
(bzw. den Tastatur-Controller) zu initialisieren. Wenn das nicht klappt 
gibt es eine entsprechende Fehlermeldung und die Schnittstelle 
funktioniert eventuell nicht. Aber das steht auch in den Texten.

Hier kannst Du Dich weiter einlesen :

http://www.marjorie.de/ps2/start.htm
http://de.wikipedia.org/wiki/PS/2-Schnittstelle
http://www.uni-koblenz.de/~physik/informatik/ECC/ps2.pdf
Forumssuche "Scancodes" "PC Tastatur" etc

Wenn Du Fragen hast poste ruhig weiter! Am besten mit konkreten Fragen 
(wie Du es schon machst). Viel Spaß beim basteln!

P.S. eventuell kannst Du auch eine Standard-Tastatur "schlachten" und 
den Controller von dort nutzen. Hat bei USB den Vorteil, dass Du Dich 
nur darum kümmern mußt, wie die Taste abgefragt werden!

von Elias Z. (Firma: zimi) (carpenter007)


Lesenswert?

@alle: danke für die nützlichen Tipps! Vorallem der marjoie Link hilft 
mir sehr.

@ulrich:
'Tschuldigung, ich hab meine Situation missverständlich geschildert.
Die Projektzeit hat erst gerade begonnen und dauert einige Wochen an. Um 
die 90 Minuten, die wir wöchentlich in der Schule zu Verfügung haben, 
gut nutzen zu können, will ich die Planung weitgehend zuhause machen.
Mit "knapp" waren die 90 Minuten gemeint, da der Mikrocontroller z.B. 
nur in der Zeit zur Verfügung steht.

Klar, ich hätte mich trotzdem vorher ausgiebiger mit den Grundlagen 
beschäftigen sollen.


Denoch vielen Dank!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.