ASCII-Keyboard mit 4Bit-LCD und Tiny2313

dino03

Aktives Mitglied
27. Okt. 2008
6.760
20
38
Sprachen
  1. BascomAVR
  2. Assembler
Hallo zusammen,

ich hab mal meine Gedanken schweifen lassen und folgendes als Schaltplan
zusammengestrickt ...

ASCII-Keyboard.gif

Wenn es jemand braucht dann hat er es jetzt :D ;)

Das ist ein ASCII-Keyboard was etwas vom ZX-Spectrum inspiriert wurde.
Deutsches Tastaturlayout und die Sonderzeichen möglichst an den Stellen
wo sie den originalen Plätzen nahe sitzen oder von der Bedeutung passen
könnten.

Ein 4-Bit-LCD hat auch noch gepaßt :rolleyes:

Die Datenübertragung erfolgt dann über die serielle Schnittstelle.

Bedienhinweis: Großschreiben über Caps-Shift (ganz links unten) und
Sonderzeichen über Symbol-Shift (ganz rechts unten). Die Umlaute sind
beim A, O, U oder S untergebracht. Ein ä also mit Symbol-A und ein
Ä mit Symbol-Caps-A :eek: Also ein wenig mit Affengriffen. Im Schaltplan
sind die Tasten-Codes angegeben.
1.Stelle - nur die Taste
2.Stelle - mit Caps-Shift
3.Stelle - mit Symbol-Shift
4.Stelle - mit Symbol- und Caps-Shift

Aber dafür ist das Keyboard mit kleinen Kurzhubtasten (Reichelt "TASTER 9303")
nur 100mm breit und ca 40-50mm tief. Die gesamte Elektronik paßt dann
unter die Tasten.

Anmerkung: Es existiert im Moment weder Hardware noch Software. Also NUR der
Schaltplan.

Gruß
Dino
 
Hallo Dino,

der Schaltplan sieht sehr gut aus. Das könnte doch etwas für das SÜPS-Gemeinschaftsprojekt sein. Wenn man alles modulartig aufbaut und den einzelnen Modulen serielle Schnittstellen verpasst (zum Beispiel SPI) und Steckverbindung und Protokoll festlegt, könnte man die Entwicklungsarbeit gut verteilen. So könnte das eine Mudul mit Bascom, das andere mit Assembler oder C realisiert werden.

Grüße,
Dirk
 
Ähm Dino?
Wofür gibt es denn noch PS2 Tastaturen? Die sind doch deppeneinfach auszuwerten. Du kommst also ein paar Jahre zu früh.;)
 
Hi Nomis,

ich weiß das man PS2-Tastaturen an nen Mega dransetzen kann ;)
Aber ich wollte ne Mini-Tastatur machen, die mir direkt die ASCII-Daten
liefert und wo ich nicht extra die Key-Codes in ASCII umsetzen muß. Also
etwas mit ein wenig "mehr Intelligenz drin" :D
Außerdem hab ich dann mit dem LCD da dran gleich sowas wie nen
ASCII-Terminal ;) Und das in halber Eurokarten-Größe und so um die
1..1,5cm dick :eek:

Hat also schon seinen Grund, warum ich keine PS2-Tastatur verwende ;)

Man kann es dann für Debug- oder Eingabe-Zwecke mal eben an nen
anderes Bastelprojekt dran setzen.

Wenn ich mal wieder Zeit habe, werde ich demnächst an dem I2C-Analyzer
weiterstricken :) dann gibts auch wieder was zu lernen :D Mal sehen ob ich
das Teil mit der Hardwareunterstützung auf 400kBit-Busgeschwindigkeit
bekomme ;) :rolleyes:

Gruß
Dino
 
Achso, ich dachte du hast nur mal aus Spaß einen Schaltplan ins Forum gestellt den du sowieso nicht verwenden wirst.
Ich wollte mit meinem Post nur darauf hinweisen dass, mir deine Schaltung wie das 26te Atmega Universalboard vorkahm und der Äther damit schon längst übersättigt ist.
Da ist mir wohl eine Sicherung durchgegangen.

Und ja! Ich weiß ich hab mit meinem XMega Testboard-Vorschlag das 25te Universalboard verschuldet.
 
Hi Nomis,

Achso, ich dachte du hast nur mal aus Spaß einen Schaltplan ins Forum gestellt den du sowieso nicht verwenden wirst.
naja, im Moment existiert daa auch nicht sehr viel mehr als der Schaltplan von :D
Die Tasten hab ich mal auf ne Lochraster gekloppt um zu sehen wie das ganze
dann optisch rüberkommt und wie groß es wird. Aber mehr ist da noch nicht.

Ist bei mir ein "Irgendwann-Mal-Projekt" ;)

Kann sich ja schon mal einer dran versuchen wenn er Lust hat und es ihm
bei mir zu lange dauert :rolleyes:

Der Schaltplan und der Text ging schneller als das jetzt zusammenzustricken.
Und wenn jemand sowas sucht kann er sich ja nen Beispiel an dem Schaltplan
nehmen.

Gruß
Dino
 
Hallo zusammen,

langsam entsteht ein wenig Hardware :) Ich konnte nicht anders ;)
Tasten sind auf ner Lochraster und die SMD-ICS (Tiny2313 + 2x 74595)
sind auf ner Lötstreifenraster die SMD-kompatibel gemacht wurde.
Aber die Verdrahtung braucht noch Zeit ... :D

Evtl kommen demnächst mal ein paar Fotos ...

Gruß
Dino
 
Ein paar Fotos

Hallo,

ich konnte den Lötkolben doch nicht in Ruhe lassen ;)
also hier ein paar Fotos der Lochraster-Version ...
P1020395.JPG
Die Tastaturplatine auf Lötpunkt-Raster von vorne

P1020396.JPG
Die Tastaturplatine von hinten

P1020400.JPG
hier die Prozessorplatine,auf die die Tastaturplatine von der anderen Seite
aufgesetzt ist. Die Verbindungen sieht man über den ICs und unten am Rand.
Wie man sieht kann man aus einem Lötstreifenraster wunderbar eine SMD-fähige
Platine herstellen wenn man mit einem Cutter die Streifen halbiert.

Gruß
Dino
 
Fädeldraht-Verhau

Hallo,

mal ein paar Bilder von meinen "Lötkünsten" ;)

P1020404.JPG
einmal von vorne mit draufgelegtem Display

P1020405.JPG
und einmal die untere Seite mit dem Drahtverhau.

Sieht schon nach was aus :)

Gruß
Dino
 
Hardware fertig und erster Test läuft auch

Hallo zusammen,

die Hardware ist fertiggestellt (es läßt einem ja doch keine Ruhe ;) ) und das
erste Testprogramm sagt auch das alles soweit OK ist :D

Die Forderseite ...
P1020406.JPG

Die Rückseite ...
P1020407.JPG

Hier das Testprogramm, das zu 98% aus Copy&Paste meines I2C-Analyzers
besteht :D Recycling macht Spaß :rolleyes: 1h um es anzupassen.
Anhang anzeigen ASCII-Keyboard.asm

Und das Ergebnis davon ...
P1020408.JPG

Kurz und gut ... Es läuft ! :D

Die Versorgung hat beim Test erst mal der Parallel-Prog-Adapter mit Pony
übernommen. Der ISP-Port ist wegen Platzmangel meine 6Pin-in-Reihe Version.

Das Testprogramm zeigt im Moment lediglich "ASCII" auf dem LCD an und läßt
die entsprechende LED für einen Tastendruck auf einer Tastenzeile leuchten.
Also nur ein Hardwaretest des LCDs, der Schieberegister und der Tastenmatrix.

- - - - EDIT - - - -
Das sich das Teil von einem Schaltungsbeispiel zum Mini-Projekt entwickelt
hat, habe ich das Thema mal von Schaltungsbereich in den Projekte-Bereich
verschoben. ;)

Gruß
Dino
 
Die Front-Beschriftung

Hallo,

damit man sieht wie die tasten belegt sind ist eine Beschriftung mit Sicherheit
von Vorteil ... ;)

Anhang anzeigen ASCII-Keyboard.pdf
Mal ein wenig mit OpenOffice Draw gebastelt ...

so kann man sich das Endergebnis schon etwas besser vorstellen.
Wenn ich es richtig gemacht habe, sollten sogar die Maße stimmen.

Gruß
Dino
 
Vielleicht kann ich das ja mal für meine Aquariumsteuerung brauchen.

Hi Thomas!

Oh jee.... da sagst du was.
Das Thema steht bei mir ja auch immer noch zur Debatte. :cool:

Ich habe ja schon mal eine Steuerung fertig programmiert... aber ich möchte auch gern eine neue Steuerung mit Grafikdisplay entwerfen. :)

Nun ja..... wie gut, dass uns die Ideen nicht so schnell ausgehen werden. :D


Gruß,
Cassio


@Dino:
Deine kleine Einheit mit Tastatur erinnert mich irgendwie an meinen Zaurus. ;)
Vielleicht kann man ja die Tastatur dafür gebrauchen bzw. zweckentfremden? :hmmmm:
Das Dumme ist nur, dass er noch funktionstüchtig ist....

Ich habe aber noch ein paar kleine Tastaturen vom PSION 5mx bzw. MC218. Die haben zwar alle so eine dusselige Folienplatine aber......
Das wäre doch dann auch optisch eine saubere Sache.

Gruß,
Cassio
 
Hallo,

nun ja, im nächsten Jahr steht eine 1000-Liter Wohnzimmerpfütze an :eek: Nadem nun meine lieben Eltern nicht mehr unter uns sind, habe ich mein Haus nun fast für mich alleine ;) Statik habe ich berechnen lassen, bis 1,5 Tonnen kein Problem. Das Ding soll fast 2,5m lang werden :)

OK, ist Off-Topic, also zurück zum Thema : Folientastaturen sehen zwar recht schön und "sauber" aus, aber der Preis ist auch SAUBÄR ! Wollte das mal für meine Timer machen lassen. 5 Tasten mit Displayfenster. Hätte mich bei einer Abnahme von 50 Stuck ca. 100 Euro gekostet. Nicht für alle, für EINE :eek:

Thomas
 
Hallo zusammen,

im Moment stricke ich an der Scan-Routine für die Erkennung von gedrückten
Tasten. Dabei ist mir bei der Anzeige von Debug-Werten auf dem LCD-Display
aufgefallen, das es wohl nicht so initialisiert wird wie es sein sollte. Ich habe
die Routinen 1:1 vom I2C-TWI-Analyzer übernommen. Das Display ist auch
ein PC1602 und es ist auch mit 4Bit angeschlossen. Ich habe lediglich die
Routinen vom unteren Nibble auf das obere des Datenports umgestellt. Aber
irgendwie läuft das Display beim Keyboard nur mit einer Zeile obwohl es beim
Analyzer ohne Probleme mit 2 Zeilen und Cursorpositionierung läuft. Mal sehen
was sich da verdreht hat. Die gesamten Datenausgaben auf dem LCD sind
aber absolut fehlerfrei. Es muß also irgendwo an der Initialisierung oder am
Timing in der Initialisierungsphase liegen.

Sonst sieht es aber schon ganz gut aus ... ;)

Gruß
Dino
 
Minitastatur

Hallo,

ich wollte mal fragen, ob jemand weiß, wo man solche Minitastaturen wie es sie zum Beispiel bei Smartphones gibt, bekommt. Also ich meine so was:

google-smartphone.jpg


Gruß, Christian
 
Hi Christian,

ich wollte mal fragen, ob jemand weiß, wo man solche Minitastaturen wie es sie zum Beispiel bei Smartphones gibt, bekommt. Also ich meine so was:
es gibt Folientastaturen als Zahlenblock (wie beim Telefon) mit selbstklebender
Rückseite zu kaufen. Oder mit 6 Tasten oder mit 4 oder so - zB für Fernbedienungen.
Leider hab ich bis jetzt nix in der Art wie bei den Smartphones gesehen. Da mußt
du wohl eins recyclen. Das sind eigentlich meißt Kunststoff-Folien mit Knackfröschen
drunter und die sind dann auf ner Platine aufgeklebt wo vergoldete Kontakt-Pads
angelegt sind. So etwas wird von den Firmen die das brauchen direkt für die
Produkte designed und von anderen Firmen die sowas herstellen an die geliefert.
Ich glaube nicht, das du so etwas irgendwo als Einzelstücke kaufen kannst.

Aus dem Grund ist meine Tastatur auch mit Kurzhubtasten aufgebaut. Leider
hab ich keine gefunden, bei denen die Bedienknöpfe so groß wie die Gehäuse
der Tasten sind, so daß man eine geschlossene Bedienoberfläche bekommt.
Wäre dann aber wohl auch bei den kleinen Tasten schlecht zu betätigen
(obwohl es dann besser aussieht -aber Design ist nicht alles).

Ich mach mir mit nem Farblaser dann noch ne Front, die ich einschweiße und
die Löcher für die Betätigungs-Gnubbel ausstanze. So wie in der PDF. Dann
sieht das eher nach was aus.

Gruß
Dino
 
LCD-Display läuft jetzt mit 2 Zeilen !

Hallo zusammen,

Dabei ist mir bei der Anzeige von Debug-Werten auf dem LCD-Display
aufgefallen, das es wohl nicht so initialisiert wird wie es sein sollte. Ich habe
die Routinen 1:1 vom I2C-TWI-Analyzer übernommen. Das Display ist auch
ein PC1602 und es ist auch mit 4Bit angeschlossen. Ich habe lediglich die
Routinen vom unteren Nibble auf das obere des Datenports umgestellt. Aber
irgendwie läuft das Display beim Keyboard nur mit einer Zeile obwohl es beim
Analyzer ohne Probleme mit 2 Zeilen und Cursorpositionierung läuft. Mal sehen
was sich da verdreht hat. Die gesamten Datenausgaben auf dem LCD sind
aber absolut fehlerfrei. Es muß also irgendwo an der Initialisierung oder am
Timing in der Initialisierungsphase liegen.
und es lag wohl auch irgendwie an der Initialisierung. Aber nicht an meinen
Assembler-Routinen sondern wohl am ISP-Progger. :p

Ich habe meinen alten Parallelport-Progger mit PonyProg verwendet, da der
die Schaltung auch über den USB-Port des PCs mit 5V versorgen kann.
Beim Bootvorgang des AVRs hat der Progger wohl irgendwie (trotz
Tri-State-Treibern) die Datenleitungen des LCDs beeinflußt, die gleichzeitig
am ISP hängen. Dadurch ist dann wohl der Initialisierungs-Prozess des LCDs
nicht so abgelaufen wie er laufen sollte. Heute hat das Display auf jeden
Fall ohne Änderungen am Code ohne Probleme mit 2 Zeilen gearbeitet.

Man sollte solche Fehler also nicht unbedingt im Programmcode suchen :D

Der Fehler ist weg und nun geht es weiter ... :cool:

Als nächstes werde ich die Schaltung wohl erst mal mit ner anderen Spannungsquelle
versorgen und dann den AVRIPSmkII zum proggen verwenden. :p

Gruß
Dino
 
Hallo,

mal nen kleiner Zwischenbericht ...

Die Scan-Routine für die Tastaturmatrix läuft schon ganz gut (zu 95%). :)
Im LCD kann man bei nem Tastendruck den Scancode der Taste sehen.
Allerdings klappt das im Moment nur dann Fehlerfrei wenn man nicht gleichzeitig
Caps UND Symbol drückt. 3 der 4 Code-Tabellen könnten also schon benutzt
werden. Irgendwo ist also noch ein kleiner Bock drin. Ich hab auch gemerkt,
das ich mal wieder ein paar Timing-Probleme in der Tastatur-Matrix habe.
Ich mußte ein paar NOPs zur Signalberuhigung einfügen und ein paar Befehle
in eine andere Reihenfolge bringen um die Zugriffszeiten anders anzuordnen.

Aber im Großen und Ganzen bin ich mit dem derzeitigen Stand schon recht
zufrieden :D

Gruß
Dino
 
Hallo,

Allerdings klappt das im Moment nur dann Fehlerfrei wenn man nicht gleichzeitig
Caps UND Symbol drückt.
sieht jetzt echt gut aus. Ich würde mal sagen ... fehler gefunden und
Scan-Routine läuft :D

Jetzt hab ich aber den Fehler festgestellt das ich Phantom-Tasten erkenne
wenn ich 3 Tasten gleichzeitig drücke (z.B. bei Caps und Symbol und A für ein
großes "Ä") Das hängt aber mit der Matrix-Hardware zusammen. Da werde
ich wohl entweder noch ein paar Dioden verteilen müssen oder mir ne ganz
dolle Routine ausdenken, die das erkennt und richtig stellt :eek: :rolleyes:

Aber es sieht schon recht gut aus :D

Hier mal der aktuelle Code ... Anhang anzeigen ASCII-Keyboard.asm

Gruß
Dino
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)