Projekt Tastatur in Morsecode umwandeln

Im Unterforum Projekte im Selbstbau - Beschreibung: Selbstbau von Elektronik und Elektro

Elektronik Forum Nicht eingeloggt       Einloggen       Registrieren




[Registrieren]      --     [FAQ]      --     [ Einen Link auf Ihrer Homepage zum Forum]      --     [ Themen kostenlos per RSS in ihre Homepage einbauen]      --     [Einloggen]

Suchen


Serverzeit: 13 5 2024  10:19:33      TV   VCR Aufnahme   TFT   CRT-Monitor   Netzteile   LED-FAQ   Osziloskop-Schirmbilder            


Elektronik- und Elektroforum Forum Index   >>   Projekte im Selbstbau        Projekte im Selbstbau : Selbstbau von Elektronik und Elektro

Gehe zu Seite ( 1 | 2 Nächste Seite )      


Autor
Projekt Tastatur in Morsecode umwandeln
Suche nach: tastatur (1867)

    







BID = 527603

Fuga

Gerade angekommen

Avatar auf
fremdem Server !
Hochladen oder
per Mail an Admin

Beiträge: 4
Wohnort: wesendorf
 

  


Hallo liebe Elektronik Freunde,

Ich habe mit einen Freund einen Projekt ausgedacht das wir in Informatikunterricht vorstellen wollen. Wir wollen eine Schaltung entwickeln, an die eine tastatur angeschlossen werden kann (PS2) und die am ende die gedrückten Buchstaben in Morsecode (Dit und Dah) als akustische sowie visuelle Signale ausgibt.

Der Ps2 Stecker hat 4 leitungen:
-Clock
-Data
-GND (-)
-VCC (+5v)

Wir haben angefangen und wollten wissen ob die Tastatur schon gleich funktioniert wenn sie Strom bekommt, also haben wir sie an einen Osziloskopen angeschlossen. Als Frequenz haben wir den von Tastatur selbst generierten clock genommen und die data Leitung untersucht.

Tatsächlich konnten wir eine Folge von 11 Bits festellen, die bei jeder taste anders war. (1 anfangs Bit, 1 Bestätigungs Bit, 8 Bit für den echten zeichen und 1 Paritätsbit)

Jetzt wissen wir das die Tastatur diese Bitfolge aussendet, aber auser einen PS2 stecker für die Tastatur ist noch garnichts fertig.

Für diesen Projekt habe ich noch 3 Wochen zeit, aber ich brauche dringend eure Hilfe.



Meine Überlegungen:

* Mit einen Schieberegister die 11 bit Paralel schalten.

* Von diesen 11 Bit die 8 Informations bits herauslesen

* Die 8 Bit in einen Rom (eeprom oder sowas) weiterleiten

* In den Rom speicherbausten befindet sich die Tabelle die für jede mögliche Eingabe den Morsecode gespeichert hat und ausgibt

* Der Code wird seriel herausgegeben und mit LED oder Lautsprächer angegeben


Mein problem ist das ich weder mit schieberegistern, noch mit speicher überhaupt auskenne und nur ein kleines bischen was davon in der Theorie verstehe. Ich soll am Ende eine Konkrete Schaltung herstellen...

Ich bräucte vorschläge, anregungen und Hilfe - welche Teile ich benötige und wo man sie bekommt.

Vielen dank

_________________
"The secret of pudding is in the eating"

BID = 527604

DonComi

Inventar



Beiträge: 8605
Wohnort: Amerika

 

  

Es ließe sich diskret machen, aber sehr umständlich. Wenn ihr aber programmierbares (ROM) nutzen dürft, warum dann nicht auch einen µC?

Da es Informatik ist, sollte man ja programmieren dürfen .
Wenn möglich, wäre es noch einfacher, einfach die Tastatur am Rechner zu lassen, und ein entsprechendes Programm zu schreiben.

_________________

BID = 527606

Fuga

Gerade angekommen

Avatar auf
fremdem Server !
Hochladen oder
per Mail an Admin

Beiträge: 4
Wohnort: wesendorf

Ein Programm zu schreiben ist wirklich ein Klacks... ...das Ganze soll aber ohne einen Rechner funktionieren.

Ich kenn mich mit Microcontroller aber absolut garnicht aus... Es wäre nett, wenn du erklären könntest, wo dann der Vorteil liegen würde.

Funktioniert es Anzantzweiße wie ich es mir dort ausgedacht habe ?

_________________
"The secret of pudding is in the eating"

BID = 527607

DonComi

Inventar



Beiträge: 8605
Wohnort: Amerika

"µC" ist die Abkürzung für Mikro (µ) und Controller (C).
Das sind ICs, die einen kompletten, kleineren Computer auf einem Chip vereinen. Die sind programmierbar, z.B. mit C oder Basic (oder direkt in Maschienensprache, Assemblersprache genannt).

Wenn also für dich Programmieren ein Klackst ist, dann nimm sowas. Du hast dann im Endeffekt eine Platine, einen schwarzen Käfer und die Ausgabe per LED / Summer etc.

Rein diskret ist etwas blöd, da der Empfänger (Schieberegister) ja synchronisiert werden muss. Das könnte man mit einem Timer machen (NE555). Aber die Auswertung der Tastenkodes stellt sich als recht unangenehm da, vor allem, wenn verschieden lange Impulse (Morsekode) generiert werden müssen. Dazu werden weitere Schieberegister, ein ROM, mehrere Taktquellen und Teiler nötig sein. Und das in drei Wochen...

_________________

BID = 527608

perl

Ehrenmitglied



Beiträge: 11110,1
Wohnort: Rheinbach


Zitat :
Tatsächlich konnten wir eine Folge von 11 Bits festellen, die bei jeder taste anders war. (1 anfangs Bit, 1 Bestätigungs Bit, 8 Bit für den echten zeichen und 1 Paritätsbit)
Das entspricht völlig dem, was man mit der RS-232 Schnittstelle empfangen kann. Allerdings sind dort noch invertierende Treiber- und Empfängerchips im Spiel, die die 0/+5V Signale des UART auf die +12V/-12V der COM-Schnittstelle umsetzen.

Nur ein Teil der Tasten schickt übrigens nur ein Byte, oft sind es zwei, drei oder sogar vier, aber alle melden sowohl das Drücken wie auch das Loslassen durch unterschiedliche Codierung.
Das ist nötig, damit man z.B. zwischen a und A unterscheiden kann. Ausserdem kann sich die Codierung ändern, wenn die Num-Lock LED brennt.
Das ist aber alles gut dokumentiert, ihr braucht da keine grossartige Forschungsarbeit zu leisten.


Zitat :
* Mit einen Schieberegister die 11 bit Paralel schalten.

* Von diesen 11 Bit die 8 Informations bits herauslesen

* Die 8 Bit in einen Rom (eeprom oder sowas) weiterleiten
Da du wegen der Komplexizität der Keyboard-Codes sowieso einen Prozessor brauchst, solltest du das softwaremäßig machen. Soetwas haben die Hersteller meist schon in der Beispielsammlung sodass du es nur abzuschreiben brauchst.
Eine Hardwarelösung ist nicht ohne Tücken und keineswegs so einfach wie du annimmst. Deswegen macht das auch niemand mehr auf diese Art sondern verwendet einen speziellen Chip, eben den schon erwähnten UART.
Für niedrige Baudraten, etwa die 1200 Bd der Tastatur, kann man das aber auch ganz gut in Software erledigen.





_________________
Haftungsausschluß:



Bei obigem Beitrag handelt es sich um meine private Meinung.



Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.



Besonders VDE0100; VDE0550/0551; VDE0700; VDE0711; VDE0860 beachten !

BID = 527620

Midnight

Stammposter



Beiträge: 256

Ich würd vorschlagen einen kleinen Atmel Controller zu nehmen, und das ganze in Bascom (Demo sollte reichen) zu programmieren. Bascom hat zufälligerweise schon die Routinen drin um eine Tastatur einzulesen, und ne Quäke zu bedienen.

Gruß

Simon

BID = 527690

Fuga

Gerade angekommen

Avatar auf
fremdem Server !
Hochladen oder
per Mail an Admin

Beiträge: 4
Wohnort: wesendorf

VIELEN DANK FÜR DIE HILFE !

Ok ich verstehe... ihr habt natürlich recht ! Ein µC macht die sache wirklich einfacher. Ich werde also ein ATMEL µC nehmen, nur leider weiß ich noch nichts darüber.

Ich hab mir gerade ein Steckboard besorgt, um Experimente machen zu können, nur weiß ich noch nicht, wie ich anfangen soll...

Den Microcontroller kann man ja über z.b seriellport programieren. Gibt es irgentwo eine schaltung und eine Teilliste, die benötigt wird ? Ich kann mir vorstellen das es relativ einfach sein kann und das man Keine spezielle Brenner braucht, die Hunderte von euros kosten.Irre ich mich ?

Dann müste ich mich für einen Controller entscheiden. In internet hab ich ATmega8 gefunden und denke das er mir passen könnte.

Auf einer seite hab ich dan links zur folgenden software gefunden:
WinAVR und Ponyprog. Anscheinend brauch ich die beide um mit meinem Project weiter zu kommen.
Bascom ist wie ich verstanden habe eine BASIC Alternative zu WinAVR die mit C funktioniert. Was von den beiden ist den einfacher ? Bisher hab ich nur mit Pascal, Delphi und DHTML gearbeitet.



_________________
"The secret of pudding is in the eating"

BID = 527694

BlackLight

Inventar

Beiträge: 5229


Zitat : Fuga hat am 13 Jun 2008 17:17 geschrieben :
Den Microcontroller kann man ja über z.b seriellport programieren. Gibt es irgentwo eine schaltung und eine Teilliste, die benötigt wird ? Ich kann mir vorstellen das es relativ einfach sein kann und das man Keine spezielle Brenner braucht, die Hunderte von euros kosten.Irre ich mich ?
Es gibt viele Lösungen für einen Programmer, hier stehen einige: http://www.mikrocontroller.net/articles/AVR_In_System_Programmer

Wenn du noch einen Parallelport frei hast, wäre Ponyprog und diese Schaltung mit einem 244 eine Eine Low-Cost-Lösung. Nutze ich auch, da mein Lieblingsversender den "AVR ISP MKII" (momentan) nicht hat.
(Dass die verlinkte Schaltung neben dem IC quasi keine zusätzlichen Schutzeinrichtungen besitzt, weiss ich.)




Zitat :
Auf einer seite hab ich dan links zur folgenden software gefunden:
WinAVR und Ponyprog. Anscheinend brauch ich die beide um mit meinem Project weiter zu kommen.

Ich hab nach WinAVR noch das AVR-Studio installiert - so muss ich nur Fx drücken, in PonyProg die *.hex laden und brennen.




Zitat :
Bascom ist wie ich verstanden habe eine BASIC Alternative zu WinAVR die mit C funktioniert. Was von den beiden ist den einfacher ? Bisher hab ich nur mit Pascal, Delphi und DHTML gearbeitet.
Beide sind imho gleich einfach, wenn man mal drin ist.
Ob nun C oder Basic ist eine Glaubensfrage, das hier hab ich gerade zu "BASCOM vs. C" gefunden: http://www.mikrocontroller.net/topic/37811

BID = 527695

DonComi

Inventar



Beiträge: 8605
Wohnort: Amerika

Auf der Ponyprog-Seite (lancos.com) findet sich ein einfacher Schaltplan für einen Programmer.
Kost nicht die Welt und funktioniert.


DHTML kannst du vergessen, das ist keine Programmiersprache, die anderen beiden sind gut, aber ich kenne keinen Compiler für AVRs.

Bleiben Basic und C, Assembler in der kurzen Zeit -> relativ übertrieben.
C ist tausendmal besser, aber nicht, wenn man es erst lernen muss. Bleibt Basic .

Wie bereits angedeutet von Mitternacht, hat Bascom Basic sogar fertige Routinen zum Benutzen einer PS2-Tastatur.


_________________

BID = 527733

Fuga

Gerade angekommen

Avatar auf
fremdem Server !
Hochladen oder
per Mail an Admin

Beiträge: 4
Wohnort: wesendorf

Soo... nach pausenlosen Googeln bin ich auf dieser Seite gestoßen:
Seriell + paralell ISP
Es gibt viele verschiedene Versionen und ich hab mich für die serielle, vereinfachte version von pony prog entschieden. Da ich ein neuling auf dem Gebiet bin, will ich auf Nummer sicher gehen und keine ungesicherte paralelle Lösung benutzen.

Was die Sprache betrifft tendiere ich wohl zu Bascom, da die Tastatur-bibliothek vorhanden sein soll... ...ich wette, das auch für c änliche Projekte exsistieren und vieleicht auch eine ähnliche Bibliothek... Weiß einer mehr ?

Ich werde heute Abend wahrscheinlich ein paar Teile zum basteln bestellen:
- Einen µC ATMega (was ist preis/leistungs-mäsig am besten ?)
- Die Teile, nötig für einen Seriellen Programmer
- Rasterlochplatten, Kabel, usw.



Was ich bereits habe:

- Viele LEDs + 470 Ohm Widerstände
- Pc Lautschprecher (kleiner PC Piepser)
- Steckboard
- Multimeter + Löteinrichtung

Solte ich noch was bestellen damit ich loslegen kann ? Etwas was man immer braucht ? Vieleicht ein paar sachen mit dem man experimentieren könnte ?

_________________
"The secret of pudding is in the eating"

BID = 527761

perl

Ehrenmitglied



Beiträge: 11110,1
Wohnort: Rheinbach

Du wirst eine 5V Spannungsversorgung brauchen, denn sowohl der µC wie auch die Tastatur wollen ja irgendwie versorgt werden.

Ein Computernetzteil ist preiswert und dafür ok, aber es kann soviel Strom liefern, das bei einem Schaltfehler von deinem Aufbau nur ein Häuflein Asche bleibt. Schlimmstenfalls fängt sogar etwas an zu brennen.

Handlicher ist ein Steckernetzteil, welches stabilisierte 5V Gleichspannung liefert. 300mA sollten ausreichen.
Wenn du Basteln willst, kannst du auch ein unstabilisiertes Steckernetzteil mit etwa 8..15V verwenden und dort einen 7805 Festspannungsregler IC dranbauen.

Vorsichtshalber solltest dir auch noch ein paar 100nF Scheibenkondensatoren und einige kleinere Elkos zulegen.

Ein Steckbrett ist nicht optimal, aber für den Anfang mag es gehen.
Dann empfiehlt es sich aber einen fertigen Quarzoszillator mit der gewünschten Taktfrequenz einzusetzen. Ein Schwingquarz allein macht auf dem Steckbrett evtl. Probleme.

Die Tastatur an eine passende Buchse anzuschliessen macht sich vielleicht auch ganz gut.


Nicht unbedingt erforderlich, aber ganz beruhigend ist es einen kleinen Vorrat von verschiedenen Widerständen zu haben. Fürs erste reicht es aus, den Bereich von 47 Ohm ... 1M Ohm mit einer Stufung von 20% oder noch gröber zu kaufen. Die am häufigsten gebrauchten Werte liegen erfahrungsgemäß etwa zwischen 1kOhm und 100kOhm.
Zwei oder drei Potis mit 1k...20kOhm sind auch ganz nützlich. Passende Drehknöpfe nicht vergessen!

Wenn man höhere Spannungen schalten will als die 5V mit denen der µC läuft, braucht man zusätzliche Transistoren. Entweder in Form von z.B. BC337 oder, schon mit Widerständen versehen und als IC verpackt, als ULN2803.

_________________
Haftungsausschluß:



Bei obigem Beitrag handelt es sich um meine private Meinung.



Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.



Besonders VDE0100; VDE0550/0551; VDE0700; VDE0711; VDE0860 beachten !




[ Diese Nachricht wurde geändert von: perl am 14 Jun 2008  1:32 ]

BID = 527768

Kleinspannung

Urgestein



Beiträge: 13342
Wohnort: Tal der Ahnungslosen


Zitat :
perl hat am 14 Jun 2008 00:31 geschrieben :

Dann empfiehlt es sich aber einen fertigen Quarzoszillator mit der gewünschten Taktfrequenz einzusetzen.

Wieso?
Ich benutze(und kenne) zwar nur den Atmega8,aber der läuft auch Prima mit dem internen Oszillator.Zumindest bei meinen "Anwendungen"

Zitat :

Nicht unbedingt erforderlich, aber ganz beruhigend ist es einen kleinen Vorrat von verschiedenen Widerständen zu haben. Fürs erste reicht es aus, den Bereich von 47 Ohm ... 1M Ohm mit einer Stufung von 20% oder noch gröber zu kaufen.

Und das muß nicht mal teuer sein.
Bei Pollin gibts den 100er Pack Kohleschicht für 1,10€...

_________________
Manche Männer bemühen sich lebenslang, das Wesen einer Frau zu verstehen. Andere befassen sich mit weniger schwierigen Dingen z.B. der Relativitätstheorie.
(Albert Einstein)

BID = 528637

kurtzschluss

Gesprächig



Beiträge: 146
Wohnort: 33184

Möchte auch mal meinen Senf dazugeben

Schau mal HIER

Another Site is HERE (English required)

Hab zwar nicht alles dort durchgelesen, klingt aber gut

[ Diese Nachricht wurde geändert von: kurtzschluss am 17 Jun 2008 21:27 ]

BID = 528735

cholertinu

Inventar



Beiträge: 3755
Wohnort: CH


Zitat :
Kleinspannung hat am 14 Jun 2008 02:26 geschrieben :

Zumindest bei meinen "Anwendungen"

Bei denen wird demnach die Taktgenauigkeit keine grosse Rolle spielen.
Für serielle Kommunikation ist ein genauer Systemtakt sehr hilfreich.
Klar, bei 1200Baud sind da keine Probleme zu erwarten.

BID = 528778

DonComi

Inventar



Beiträge: 8605
Wohnort: Amerika

Da es bei 1.2kBaud gemütlich zugeht, würde ich nicht unbedingt die Fuses auf externe Taktquellen umprogrammieren. Das sind alles nur potentielle Fehlerquellen bis zur (vermeintlichen) Zerstörung der Prozessoren.

_________________


      Nächste Seite
Gehe zu Seite ( 1 | 2 Nächste Seite )
Zurück zur Seite 0 im Unterforum          Vorheriges Thema Nächstes Thema 


Zum Ersatzteileshop


Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum       Datenschutz       Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland       

gerechnet auf die letzten 30 Tage haben wir 18 Beiträge im Durchschnitt pro Tag       heute wurden bisher 3 Beiträge verfasst
© x sparkkelsputz        Besucher : 181264209   Heute : 8057    Gestern : 21513    Online : 549        13.5.2024    10:19
12 Besucher in den letzten 60 Sekunden        alle 5.00 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
xcvb ycvb
0.0442810058594