Pins optimal nutzen

Gast #2206448
Hi,

ich habe noch 4 Pins am Controller frei und möchte 6 Taster und 2 duo 
LED mit möglich wenig zusätzlichen Bauteilaufwand betreiben. Habe keinen 
Platz mehr für ein Schieberegister, ich könnte noch ein paar Dioden und 
Widerstände unterbringen dann wäre Platztechnisch aber wirklich nichts 
mehr zu machen....

Habe leider keinen Analogpin zur Verfügung, habt Ihr eine Idee?

Gruß,
H.
Gast
...hmmm,

kenne ja jetzt nicht genau deinen restlichen Platz, aber vlt könntest du 
einen 8 pin ATtiny (ohne Quarz) noch unterbringen:

- 1 Pin für die Kommunikation mit deinem Hauptcontroller
- 4 Pins für die Duos
- 1 Pin ADC -> Taster
- 2 Pins  Versorgungsspannung

Viel Erfolg,
bronko
Gast
>noch 4 Pins am Controller frei und möchte 6 Taster und 2 duo
>LED mit möglich wenig zusätzlichen Bauteilaufwand betreiben.

Du hast das Farb-GLCD vergessen.
Gast
@ Bronko,

hey das ist eine gute idee, und soetwas wäre im Notfall sogar denkbar... 
Ich werde mal über soetwas weiter nachdenken...

@Falk,

danke für den Link, kannte ich schon. Diese Schaltung nutzt einen 
internen Komperator wenn ich das noch recht weis, den habe ich leider 
nicht zur Verfügung...

Ich knobel gerade an dieser Lösung rum (siehe Bild) aber ich bin mir 
nicht sicher ob ich mit dem SPannungsteiler für die Schalter hinkomme 
ohne die LEDs zu beeinflussen...

Wenn das so gehen könnte, dann fehlen mir nur noch 2 Tasten...

Gruß,
H.
Angehängte Dateien:
Gast
6 Tasten an einer 3x3-Matrix mit 3 Entkoppelungsdioden an 3 Pins geht 
auf jeden Fall.

Die Duo-LEDs könntest du zwischen den Tastenabfragen an den selben Pins 
multiplexen. Denn die Tastaturabfragen an sich benötigen ja nur sehr 
sehr wenig Zeit, höchstens ein paar Maschinenzyklen.
Gast
>ich habe noch 4 Pins am Controller frei ...Habe keinen Platz mehr
vielleicht passen noch LittleLogic (bsp von TI) drauf, dass man sich 
damit was kleines Digitales zusammen friemelt. (bsp MUX , FF, Shift ...)
Gast
Hi,

@Wilhelm
? He ? mit den duo LEDs verbinde ich mir doch alle Pins, da muss man 
sich erstmal etwas einfallen lassen um das zu vermeiden...


B1,B0,D2,D3 beim Atmega168.

Die Rot eingekreisten Teile sind doch bereits auf der Platine...Es 
kommen sechs Widerstände und 2 Dioden dazu, ich kann überall noch hier 
und da ein Teil dazwischenpuzzeln, aber größere Flächen sind schlecht...

Hannes
Angehängte Dateien:
Gast
>Ich knobel gerade an dieser Lösung rum (siehe Bild) aber ich bin mir
>nicht sicher ob ich mit dem SPannungsteiler für die Schalter hinkomme
>ohne die LEDs zu beeinflussen...
Geht so nicht. Denn der R muss min so klein sein, dass der U-Unterschied 
zw den 2 Pins detekt. werden kann. Also U-Hub min ca 2,5..3V. Bei diese 
dann bei gedrückten Taster verbleibende U reicht nicht mehr für die LED.
Gast
Hannes schrieb:

> @Wilhelm
> ? He ? mit den duo LEDs verbinde ich mir doch alle Pins, da muss man
> sich erstmal etwas einfallen lassen um das zu vermeiden...

Entschuldige. Hast sicher Recht. Ich muß mir mal Duo-LED genauer 
anschauen. Ich denke mal weiter nach.
Gast
@Hannes:

Hast du noch Platz (und Software) für ein Multivibrator-Interface? Dabei 
werden den Tasten Widerstände zugeordnet, die an einem einzelnen 
Schmitt-Trigger-CMOS-Inverter mit einem festen C zusammen eine jeweils 
eigene Frequenz erzeugen. Das ist dann auch über einen einzigen Pin 
einlesbar.

Oder ADC-Pin, mit verschiedenen Widerständen an den Tastern.
Gast
@Wilhelm, auch keine schlechte Idee, nur wenn ich dann 2 Tasten 
gleichzeitig drücke?

Wie groß darf denn ein Pulldown maximal werden an einem Pin der als 
Input geschaltet ist und dessen int. Pullup ausgeschaltet is damit der 
Pin noch ein LOW einliest?

H.
Gast
>damit der Pin noch ein LOW einliest?
...siehe U-Pegel der Pins im Datenblatt. max 0,8V bei std-TTL or HCT.
aber bei Low kannste die LED nicht mehr an schalten, da ein swing von 
0,4V viel zu klein ist.
Auf High gesehen könnte bei gedr. Taster ca 2,4V gemacht werden. Mit 
Pin-ein wärens (für LED) dann viell. 3,5..4,5V. Mit dieser U-Diff könnte 
man die LED an schalten. (ZD oder paar Dioden in Reihe mit LED)
Gast
Hannes schrieb:

> @Wilhelm, auch keine schlechte Idee, nur wenn ich dann 2 Tasten
> gleichzeitig drücke?

Dann bekommst du beim Multivibrator auch eine Zwischenfrequenz. Es ist 
natürlich die Frage, wie man das dann sinnvoll entprellt. Denn die 
Einlesung der Frequenz ist ja irgendwie Laufzeit des µC. Ich fand es 
aber als Möglichkeit in einem alten Buch. Unter Umständen kann man das 
aber sicher gestalten wie eine sonstige Tastenabfrage auch. Man muß eben 
nur die Frequenz messen, und daraus gedrückte Tasten zuordnen. Ist unter 
Umständen erheblicher Softwareaufwand.

Zum ADC an einem Pin mit mehreren Tastern, gab es hier heute noch einen 
Thread:

Beitrag "Taktile Sensoren / Taster"

Aber klar: Sowas wie Two-Key-Rollover hätte man am Ende bei den Tasten 
ja gerne.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 15 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.