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.
...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
>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.
@ 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.
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.
>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 ...)
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
>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.
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.
@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.
@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.
>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)
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.
Hannes schrieb:> B1,B0,D2,D3 beim Atmega168.
Nochmal die Frage: welche Bauform benutzt Du? Du weißt, dass Du bei
TQFP32 zwei zusätzliche Analogeingänge bekommst, die bei DIL28 und QFN28
nicht herausgeführt sind?
fchk