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.
Du bekommst den ganzen kram noch auf die Platine? Dann nimm doch irgend einen kleinen µC...
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.