Forum: Mikrocontroller und Digitale Elektronik "Menü" mit Taster, LED und Poti am ADC


von David (Gast)


Lesenswert?

Hallo,

ich habe ein Programm, wo ich mehrere Sachen einstellbar machen will.
Vorhanden sind:
- 1 Taster
- 1 LED
- ein Poti, welches am ADC hängt

Nun dachte ich an so eine Art Menü:
- Taster lange drücken (z.B. 5s, also ein Wert, der für den normalen 
Programmablauf unüblich ist)--> Menü1 wird aufgerufen, nicht das normale 
Programm
- LED kann durch Blinken anzeigen, aha, wir sind im Menü1
- Taster kurz drücken --> Menü wird durchgeblättert (Menü 1 - 1x 
drücken, LED blinkt 1x; Menü2 - noch 1x drücken, LED blintk 2x; Menü 3 - 
noch 1x drücken, LED blinkt 3x; usw.).
- Das richtige Menü gewählt, durch Poti am ADC die gewünschte 
Einstellung ändern und danach mit Taster lang drücken bestätigen --> 
Werte im EEPROM speichern, sodass sie beim nächsten Start daraus gelesen 
werden können

Gibt es andere Ideen, Lösungen oder Hinweise?

Ich habe noch nie ein "Menü" programmiert…

Danke.

von Borsty B. (mantabernd)


Lesenswert?

So etwas Ähnliches nur etwas umfangreicher hab ich die letzten Tage auch 
zusammengezimmert, du brauchst Grundlegend drei Dinge:

1. Etwas Erfahrung im Umgang mit µC
2. Eine Routine zur Tastenentprellung
3. Einen Plan wie du dir das Menü vorstellst (ein Zettel und ein Stift 
sind hier gefordert)

Welche Programmiersprache verwendest du denn und welche Architektur? 
Atmel?

Punkt 2: http://www.mikrocontroller.net/articles/Entprellung, verwende 
am Besten die Komfortroutine (die macht genau das was du willst).

Bezüglich der Umsetzung deines Menüs kannst du dir mal diesen Artikel 
durchlesen: Beitrag "LCD Menü"

Wenn du das verstanden hast solltest du es hinbekommen :)

Wieso willst du die Daten eigentlich mit einem Poti eingeben? Ein 
Inkrementalgeber wäre da sicher einfacher...
Aber ja, mit einem Poti und ADC ist es natürlich auch möglich. Hast du 
schon mal einen ADC verwendet?

Gruß

von Wolfgang H. (frickelkram)


Lesenswert?

Hi,

Borsty Bürste schrieb:
> So etwas Ähnliches nur etwas umfangreicher hab ich die letzten Tage auch
...
> Wieso willst du die Daten eigentlich mit einem Poti eingeben? Ein
> Inkrementalgeber wäre da sicher einfacher...
> Aber ja, mit einem Poti und ADC ist es natürlich auch möglich. Hast du
> schon mal einen ADC verwendet?

mit Poti geht das aber erst mal nur für Absolutwerte. Und selbst dann 
kommt es noch darauf an in welcher Stellung das Poti gerade steht. Wenn 
das Poti z.B. gerade auf 10% steht und Du einen Wert einstellen möchtest 
der aktuell auf 80% steht. Wird der Wert erst mal auf 10% "springen". 
Dann kannst Du ihn erst z.B. auf 85% stellen.

Besser geht das inkrementell. Entweder mit zwei Tasten oder eben mit 
Inkrementalgeber. Ich mache so etwas sehr gerne mit Inkrementalgeber. Da 
hat man dann auch üblicherweise gleich die Taste mit drin und muss mit 
der Hand nicht zwischen zwei Kontrollknöpfen hin und her "springen" ...

von Wolfgang H. (frickelkram)


Lesenswert?

Beispielvideo hier http://youtu.be/b0xpp5pa_18 .
Halte Dir am besten die Ohren zu. Das ist ein Test für die 
Sound-Ansteuerung eines Atari TIA-Chips. Das Teil macht zum Teil einen 
erheblichen Lärm ;-)

von Stefan (Gast)


Lesenswert?

Ich hasse es, wenn eine Taste mehrfach belegt wird. Der MP3 Player 
meines Sohne macht mich wegen sowas total kirre.

Noch schlimmer finde ich allerdings, wenn der aktuelle Zustand nicht 
klar auf einem Display oder einfach belegten LED's angezeigt wird.

Die Kombination aus mehrfach belegtem taster und mehrfach belegter LED 
finde ich extrem fragwürdig. Mich kannst Du damit nicht begeistern.

Wenn es geht, würde ich ein LC-Display zur Anzeige verwenden. Darunter 
Tasten für "Menü" "Enter" "+" und "-" oder stattdessen ein Dreh-Encoder.

Wenn ein Display nicht in Frage kommt, dann verwende ganz viele 
ordentlich beschriftete LED's, wobei jede LED nur eine Bedeutung hat.

von David (Gast)


Lesenswert?

Es geht konkret um einen AVR Atmega8.
Tasten einlesen, ADC-Werte verarbeiten, alles kein Problem. Wird in C 
programmiert.

Ich stimme allen beteiligten zu in:
- Inkrementalgeber besser als "Absolutwertgeber-Poti)
- mehrere LEDs oder Display ebenfalls besser

Die Randbedingungen sind aber so gegeben, da dieses Menü mehr als 
"Gimmik" für Experten ist, also mehr überflüssig, als notwendig. Aber 
Software kostet nichts, nur ein bisschen Grips und Zeit.

Daher würde ich das gerne mit den vorhanden "Mitteln" realisieren und 
mir Ideen holen, bezüglich Anzeige und Einstellung mit diesen Mitteln, 
ob es noch ein paar weitere/bessere Ideen als meine obige grob 
skizzierte gibt.

von ich_eben (Gast)


Lesenswert?

Hallo,
Wie wäre es, den UART herauszuführen

von Wolfgang H. (frickelkram)


Lesenswert?

Hi Stefan,

Stefan schrieb:
> Ich hasse es, wenn eine Taste mehrfach belegt wird. Der MP3 Player
> meines Sohne macht mich wegen sowas total kirre.

es gibt leider sehr viele  Geräte bei denen die Menüs grausam aufgebaut 
sind, da stimme ich die uneingeschränkt zu. Gerade MP3-Player, aber auch 
Auto-Radios, sind oft ein Horror.

> Noch schlimmer finde ich allerdings, wenn der aktuelle Zustand nicht
> klar auf einem Display oder einfach belegten LED's angezeigt wird.

In meinem Beispielvideo siehst Du es. Der Cursor ändert sich von "_" auf 
Block, wenn die Eingabe umgeschaltet wird.

> Die Kombination aus mehrfach belegtem taster und mehrfach belegter LED
> finde ich extrem fragwürdig. Mich kannst Du damit nicht begeistern.

ok, Ansichtssache. Ich finde es so super.

> Wenn es geht, würde ich ein LC-Display zur Anzeige verwenden. Darunter
> Tasten für "Menü" "Enter" "+" und "-" oder stattdessen ein Dreh-Encoder.
>
> Wenn ein Display nicht in Frage kommt, dann verwende ganz viele
> ordentlich beschriftete LED's, wobei jede LED nur eine Bedeutung hat.

Kann man machen, aber man kann auch zu viel beleuchten.

von Wolfgang H. (frickelkram)


Lesenswert?

David,

die Inkrementalfunktion könntest Du in gewissen Grenzen emulieren in dem 
Du die Potiänderungen aus wertest und dann rauf oder runter zählst. Es 
gibt aber immernoch das Problem das Du nichts Ändern kannst wenn das 
Poti zufällig an einem Anschlag hängt. Auch das könnte man ausgleichen, 
aber irgendwann versteht niemand mehr wie das Menü bedient werden muss 
...

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.