Forum: Mikrocontroller und Digitale Elektronik Texteingabe über 4-5 Tasten ?!


von Alexander Grah (Gast)


Lesenswert?

hallo forianer,

ich muss in einer schaltung die möglichkeit haben, namen für bestimmte
datensätze einzugeben. nun stehen mir max. 5 tasten für die eingabe zur
verfügung (und natürlich ein lcd). vom ablauf her würde man das ja
vermutlich mit "durchklickern" eines strings machen (a-z und 0-9) und
dann mit links/rechts im lcd den corsor bewegen. so zumindest meine
vorstellung. hat da jemand schonmal ähnliches gemacht oder tips dazu ?

von Jürgen Berger (Gast)


Lesenswert?

nimm doch einen Drehencoder: durch Drehen
wählst du das Zeichen aus, durch Drücken wird
das Zeichen übernommen und der Cursor springt
zur nächsten Stelle.

Jürgen

von Alexander Grah (Gast)


Lesenswert?

das es tasten sind, steht bereits fest (kundenwunsch) :)

von Läubi (Gast)


Lesenswert?

Ich würde ine +/- für die Zeichne machen (2 tasten) eine zum bestätigen
(1 Taste) eine zum löschen (1 Taste) dann hättest noch eine Frei für
irgenwas ;)

von Peter Dannegger (Gast)


Lesenswert?

2 Tasten: hoch- runterzählen
1 Taste: groß, klein, Ziffern, Sonderzeichen, Umlaute
1 Taste: bestätigen und weiter auf nächste Stelle
= 4


Peter

von Alexander Grah (Gast)


Lesenswert?

jo, so oder ähnlich hatte ich das gedacht:
+/- für zeichen
-> zeichen bestätigen
<- zeichen löschen
[enter] eingabe fertig

ergo 5 tasten.

softwaretechnisch habe ich das noch nicht gemacht. ich würde mal
tippen, man macht eine feste variable als string*36
"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" in welcher ich dann mit +/-
hin- und herbewege. das aktuelle zeichen übernehme ich dann in eine
weitere stringvariable als nächstes zeichen, diese variable ist dann
dem datensatz zugeordnet. korrekt ?

von Alexander Grah (Gast)


Lesenswert?

@peter: hatte ich falsch formuliert, 5 tasten sind auf dem interface
vorhanden, mit denen muss ich mir etwas ausdenken. vom prinzip her ist
das so wie ihr schon geschrieben habt, nun fehlt mir nur der richtige
ansatz, das in bascom zu machen.

nochmal zur aufgabe: ich muss ein array aus verschiedenen variablen
erstellen, welche zusammengehören:

[array #] [name] [byte1] [byte2] [bit1] [bit2] [word] [byte]

dieser datensatz wird programmiert. dann kann der benutzer sozusagen
die "arraynummer" wählen und die software setzt entsprechend die
betriebswerte. der name muss 10 Zeichen haben.

von Rahul D. (rahul)


Lesenswert?

sowas nennt man unter C struct.
Da werden dann alle Variablen mit nur einem Hautp-Namen ausgestattet.

von Alexander Grah (Gast)


Lesenswert?

jo, struct kenne ich auch noch. bei bascom gibt es das imho nicht, was
aber nicht schlimm ist: ich erstelle einfach jede variable als array
und greife dann mit der "spaltennummer" auf den zusammenhängenden
datensatz zu.

aber wer gibt mir nen tip, ob die o.a. idee mit den string etc zur
textauswahl ok ist oder nicht ?

von Rick Dangerus (Gast)


Lesenswert?

Ist wahrscheinlich schon ok.

Die Alternative wäre, die Grenzen mit if-Abfragen zu definieren z.B.:
[C]
if (plus) auswahl++;
if (minus) auswahl--;

if (plus & (auswahl=='Z')) auswahl = '0';
if (minus & (auswahl=='0')) auswahl ='Z';
[\C]

Rick

von Alexander Grah (Gast)


Lesenswert?

auch eine möglichkeit. ich fange einfach mal an und probiere rum :)

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.