mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LED- Schaltung


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Dirk B. (bau3r)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey Leute,

Ich würde gerne bei meiner Schaltung 40 LED´s wie bei einem "Roulett" 
ansteuern. Dabei sollte die zutreffende LED beim nächsten versuch 
ausscheiden, bis es nur noch eine gibt. Hardware mäßig hätte ich gerne 
ein Start/ Stop und Reset. Beim bestätigen der Stop Taste sollte die 
Auswahl der LED immer langsamer werden bis es zu einem Ergebnis kommt.
Die wechselgeschwindigkeit der LED´s könnte man dann im Programm ändern?

Gestaltet sich der Plan als zu schwer zwecks der Menge der zu 
ansteuernden LED`s? Ich habe schon ein Paar Videos mit Lauflichtern 
gesehen bei denen dann z.b. 10 angesteuert werden, aber noch keins mit 
mehr.

Da ich mich elektrotechnisch eigentlich gut aus kenne, bin ich mir bei 
der Frage des passendes IC´s und dem Programm nicht sicher wie ich da 
dran geh.
Zwecks wie ich den Richtigen IC etc finde.

Daher fände ich es echt toll, wenn mir jemand bzgl der Hardware und 
eventuell dem Programm helfen könnte.

In C habe ich leider noch nie etwas in die Richtung Programmiert.

Beitrag #5680227 wurde von einem Moderator gelöscht.
Autor: Stabiler Alkoholiker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nimm einen Arduino Mega und lerne das Programmieren in C. So schwer ist 
das nicht, das kann jeder. Sogar ich habe das verstanden ;)

Mehr Hardware als den Mega, die (low current!) LEDs und je 1 
Vorwiderstand braucht es nicht.

Beitrag #5680231 wurde von einem Moderator gelöscht.
Beitrag #5680232 wurde von einem Moderator gelöscht.
Beitrag #5680233 wurde von einem Moderator gelöscht.
Beitrag #5680237 wurde von einem Moderator gelöscht.
Autor: Wegstaben V. (wegstabenverbuchsler)
Datum:

Bewertung
3 lesenswert
nicht lesenswert
Dirk B. schrieb:
> Ich würde gerne bei meiner Schaltung 40 LED´s wie bei einem "Roulett"
> ansteuern.

Hallo Dirk,

du könntest dich an diesen Bausatz bzw. dem zugehörigen Schaltplan 
orientieren. Studiere es, baue es nach, oder kaufe dir den Bausatz, um 
mit der Materie vertraut zu werden. Wenn du bezüglich dem LED-Verhalten 
"Sonderwünsche" hast, passt du halt einfach das Programm an.

https://www.pollin.de/p/bausatz-roulette-810163

übrigens: Das "übliche" Roulette hat 37 (36 plus die 0) Zahlen. Mit 40 
LED bist du 3 über - hat das einen Grund?

: Bearbeitet durch User
Autor: Stabiler Alkoholiker (Gast)
Datum:

Bewertung
-2 lesenswert
nicht lesenswert
Mani W. schrieb im Beitrag #5680237:
> Keine Ahnung, wovon Du sprichst und weitere Diskussionen mit Dir
> erscheinen mir nicht zielführend, also hilf doch dem TE mit einer
> Gesamtschaltung, dem Layout und dem Programm...

Wert ist den hier der Alkoholiker, du oder ich?

Das ist ein Programmrumpf, in ein paar Minuten geschrieben.
LEDs mit R an die Pins 0-40, die Taster an die folgenden 3 Pins.
Die Start- und Stoptaster noch wie gewünscht anschließen, fertig.
Aber erst mal meckern und den armen Fragesteller lächerlich machen.
Lächerlich bist hier nur du.
#define TasterStart 41
#define TasterStop 42
#define TasterReset 43


byte led[40];
byte ledCount;



// Alle LEDs einschalten und Zähler löschen
void resetLED() {
  ledCount = 40;
  for (byte n=0; n<ledCount; n++) {
    pinMode(n, OUTPUT);
    digitalWrite(n, HIGH);
    led[n] = 1;
  }
}

// Per Zufall eine LED ausschalten
// Wenn keine mehr da ist, wird 1 zurückgeliefert
// ansonsten wird 0 zurückgeliefert
byte nextLED() {
  if (ledCount == 0)
     {return 1;}
  else {
     byte n;
     do {
       n = random(0, 40);  
     } while(led[n] == 0);
     digitalWrite(n, LOW);
     led[n] = 0;
     ledCount--;
     return 0;
  }
}


void setup() {
  Serial.begin(9600);
  resetLED();
  pinMode(TasterStart, INPUT);
  pinMode(TasterStop, INPUT);
  pinMode(TasterReset, INPUT);
}

void loop() {
  if (digitalRead(TasterReset)) {
     while(digitalRead(TasterReset));
     resetLED();
  }

  if (digitalRead(TasterStart)) {
     while(digitalRead(TasterStart));
     // Starten ...
  }

  if (digitalRead(TasterStop)) {
     while(digitalRead(TasterStop));
     // Stoppen ...
  }
}





PS: Hoffentlich merkt keiner, dass du stocknüchtern bist

Autor: Dirk B. (bau3r)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Danke Wegstaben V.

Ich möchte auch kein Roulett, sondern "wie ein Roulett", dass eine LED 
nach einander angeht wie ein art Lauflicht.

Der Vorgeschlagene Bausatz hatte ich auch schon gesehen, nur war ich mir 
nicht sicher ob es mit dem IC wie ich es mir vorstelle auch 
Funktioniert, bzw wie die LED´s angesteuert werden, da ja nicht jede LED 
ein eigenes Output Signal des IC haben kann bezogen auf die Anzahl der 
Pin´s /Füße?



Und ENTSCHULDIGUNG wenn ich mit IC´s noch nichts gemacht habe bzw was 
ich brauche!!!

Autor: Udo (Gast)
Datum:

Bewertung
7 lesenswert
nicht lesenswert
Sieh dir mal die WS2812 LEDs an, da gibt es auch fertige Ringe mit 
diesen LEDs zu kaufen.
Es reicht dir dann auch ein kleines Arduino Board und es gibt kaum 
Verdrahtungsaufwand!
Beispielcodes für Arduino gibt es da auch genug, der Rest ist lernen und 
ausprobieren ;)

Autor: Dirk B. (bau3r)
Datum:

Bewertung
-3 lesenswert
nicht lesenswert
Das Board ist eine Clon nur mit schlechterer Qualität wahrscheinlich 
oder?

Geekcreit® Mega 2560 R3 ATmega2560-16AU Steuerplatine

Autor: Thomas (Gast)
Datum:
Angehängte Dateien:

Bewertung
-3 lesenswert
nicht lesenswert
Naja, so einfach ist es nun auch wieder nicht. Dirk will 40 (vierzig) 
LED's ansteuern. Das muss man mit Latche (z.B.74HCT373) machen. Das 
heißt man benötigt 5 stk 74HCT373 (oder CMos Derivate). Diese 5 stk auf 
der Eingangsseite paralell, und auf der Ausgangsseite die 40 LED's mit 
Vorwiederstände.

Muss weg. hab mal einen Teil dargestellt.

Autor: Joachim B. (jar)
Datum:

Bewertung
5 lesenswert
nicht lesenswert
Udo schrieb:
> Sieh dir mal die WS2812 LEDs an

da wären 40 LEDs auch am Arduino Nano kein Problem brauchen 1 Port sowie 
120 Byte RAM und wären in 3,6ms rausgeschrieben, das reicht für 
schnelles Rausschieben.

Die WS2812B gibt es als Stripes oder Einzel LEDs für jede Art von 
Aufbau.

Kein Schiebe Register IC, kein Vorwiderstand für die LEDs, der Rest ist 
Software soagar für alle Farben und Helligkeiten je LED, bei 40 LEDs x 
0,06A maximal 2,4A bei alle an mit Spitzenweiss da reicht sogar ein 5V 
Steckerschaltnetzteil.

Beitrag #5680286 wurde von einem Moderator gelöscht.
Beitrag #5680291 wurde von einem Moderator gelöscht.
Beitrag #5680292 wurde von einem Moderator gelöscht.
Autor: Sebastian R. (lange_leitung)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Hallo Dirk.

Also ich finde Deine Idee super, und ich glaube auch, dass das ein gutes 
Projekt ist, um sich in die Thematik einzuarbeiten. Die "Du hast doch 
keine Ahnung" und "das kannst Du eh nicht" - Quatschköpfe vergisst Du 
einfach mal. Die gehören hier im Forum zum "guten Ton" ;)

Der Bausatz funktioniert so, dass - wie Du schon bemerkt hast - nicht 
jede LED EINEN Pin bekommt. Hier werden mehrere Pins und LEDs geschickt 
verschaltet, dass es funktioniert. Genutzt wird dabei, dass LEDs nur in 
eine Richung funktionieren. Das geht schon in die Richtung Multiplexen. 
Im Prinzip ist das nicht schwer, macht es aber etwas komplexer.

Wenn Du den Arduino nimmst, kannst Du jede LED an EINEN Pin hängen. Das 
macht es übersichtlicher. Dafür musst Du Dich etwas mehr mit der 
Hardware beschäftigen, weil Du die ja selbst aussuchen musst.

Das musst Du entscheiden, welchen Weg Du gehen willst. Überlegs Dir, ich 
bin sicher Du bekommst für jeden Unterstützung!

Gruß
Sebastian

Beitrag #5680295 wurde von einem Moderator gelöscht.
Beitrag #5680302 wurde von einem Moderator gelöscht.
Autor: Mitlesa (Gast)
Datum:

Bewertung
-3 lesenswert
nicht lesenswert
Joachim B. schrieb:
> Kein Schiebe Register IC, kein Vorwiderstand für die LEDs, der Rest ist
> Software soagar für alle Farben und Helligkeiten je LED, bei 40 LEDs x
> 0,06A maximal 2,4A bei alle an mit Spitzenweiss da reicht sogar ein 5V
> Steckerschaltnetzteil.

Käse.

Da kann das Netzteil noch so viel Strom liefern, ein Arduino Board
schafft solche Strombelastungen nicht.

Das klappt vielleicht wenn man die LEDs mit 2...5mA bestromt.

Aber selbst dann wird der Arduino Spannungsregler zu kämpfen haben.

Beitrag #5680322 wurde von einem Moderator gelöscht.
Autor: Joachim B. (jar)
Datum:

Bewertung
-3 lesenswert
nicht lesenswert
Fragender schrieb im Beitrag #5680302:
> kein Theead mehr ohne gepöbel..

nunn ja das liegt am Eingangsposting, da kann man sich veräppelt fühlen.

Dirk B. schrieb:
> Ich habe schon ein Paar Videos mit Lauflichtern
> gesehen bei denen dann z.b. 10 angesteuert werden, aber noch keins mit
> mehr.

es bedarf nur weniger "Klicks" um sowas zu finden
Youtube-Video "LED Lauflicht - www.LEDkauf24.de"
Youtube-Video "5M 10M Magie LED Lauflicht Stripe Streifen RGB & 21 Key Fernbedienung & Trafo (Es laufen kann.)"
Youtube-Video "Lauflicht,RGB LED Strip"
Youtube-Video "LED Lauflicht 24X6 Arduino" (wobei einfacher ist es mit 
APA oder WS Stripes)

Autor: Stefanus F. (Firma: der mit dem Helfersyndrom) (stefanus)
Datum:

Bewertung
2 lesenswert
nicht lesenswert
Stabiler Alkoholiker schrieb:
> Mehr Hardware als den Mega, die (low current!) LEDs und je 1
> Vorwiderstand braucht es nicht.

Mit Charlieplexing (https://en.wikipedia.org/wiki/Charlieplexing) muss 
es nicht einmal der große Arduino Mega sein, denn es genügen 7 I/O Pins 
und 7 Widerstände.

> Das Board ist eine Clon nur mit schlechterer Qualität
> wahrscheinlich oder?

Meine haben bisher alle funktioniert. Mängel dich ich bisher öfters 
hatte:
- Scharfe Kanten
- Spitze Ecken
- Schief eingelötete Stiftleisten
- Bootloader war nicht installiert

kaufe am besten Boards, wo man die Stiftleisten selber einlöten muss. 
Wenn du einen ISP Programmieradapter hast, kannst du den Bootloader 
leicht selbst installieren.

Eine kleinere Varinate vom Charlieplexing kannst du hier finden - zum 
abgucken: http://stefanfrings.de/knightrider/index.html

Autor: Stabiler Alkoholiker (Gast)
Datum:

Bewertung
-3 lesenswert
nicht lesenswert
Mitlesa schrieb:
> Käse.
>
> Da kann das Netzteil noch so viel Strom liefern, ein Arduino Board
> schafft solche Strombelastungen nicht.

Zwei können sich nicht benehmen, andere können nicht lesen. Warum soll 
man in diesem Forum überhaupt noch schreiben

Stabiler Alkoholiker schrieb:
> Mehr Hardware als den Mega, die (low current!) LEDs und je 1
> Vorwiderstand braucht es nicht.

low current LEDs brauchen 2 mA
x40 = 80mA

Arduino wird vorgeschlagen, Programme gäbe es genug, und oben steht 
eins. Nee Leute, ihr habt mich abgehängt. Vielleicht habe ich 
tatsächlich das falsche Schwein geschlachtet. Aus diesem Forum werde ich 
nicht mehr schlau. Ich bin weg

Autor: Schlumpf (Gast)
Datum:

Bewertung
4 lesenswert
nicht lesenswert
Stefanus F. schrieb:
> Mit Charlieplexing (https://en.wikipedia.org/wiki/Charlieplexing) muss
> es nicht einmal der große Arduino Mega sein, denn es genügen 7 I/O Pins
> und 7 Widerstände.

So sieht´s aus!

Stabiler Alkoholiker schrieb:
> low current LEDs brauchen 2 mA
> x40 = 80mA

Stimmt.. aber in seinem Fall leuchtet immer nur eine LED.
Daher 2mA x 1 = 2mA

Ich denke, das ist ein nettes Projekt, um den Einstieg in die uC Welt zu 
bekommen. Am Einfachsten natürlich über Arduino.

Autor: Uwe K. (ukhl)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Als Controller kannst Du ein ATtiny 44A/84A nehmen. Oder ein Arduino, 
wenn das einfacher für dich ist.

Dann noch 7 Vorwiderstände und die 40 LED*s. Das Zauberwort heißt 
"Charliplexing". Dann kommst Du mit 7 Leitungen für die LED*s aus.

Das ist nicht so einfach zu programmieren, aber durchaus machbar.

Etwas einfacher ist Multiplexing. Dann benötigst Du aber 13 Leitungen 
und 6 Widerstände. Dann muss es mindestens ein ATtiny 2313A/4313 werden 
oder ein Arduino.

Berechne die Vorwiederstände so, dass nicht mehr als 3mA pro LED fließt.

Sowohl beim Charliplexing als auch beim Multiplexing kannst Du bis zu 6 
LED's gleichzeitig ansteuern (aber nur bestimmte LED*s einer Gruppe). So 
kommst Du auf einen Plex von 7.

Wenn Du es fertig hast, hast Du viel gelernt.

Autor: MaWin (Gast)
Datum:

Bewertung
2 lesenswert
nicht lesenswert
Schlumpf schrieb:
> Stimmt.. aber in seinem Fall leuchtet immer nur eine LED.
> Daher 2mA x 1 = 2mA

Tja, das ist ein bischen unklar, er möchte das "würfeln" wohl so lange 
wiederholen bis keine LED mehr übrig ist. Bloss woher weiss das der 
Anwender ? Wohl in dem die zuletzt ausgewürfelte LED leuchten bleibt.
Es leuchten dann immer mehr bis zum Schluss alle 40 an sind.

Hier muss Dirk sich noch mal klarer werden was er EIGENTLICH will, und 
nicht verstecken um was es geht.

Jedenfalls mit einem uC wie Arduino auch mit weniger als 40 Anschlüssen 
(Charlyplexing, Multiplexing) machbar,

eine Realisierung nur mit Logic-ICs wie 74xx/40xx möglich ohne 
Programmieren aber anspuchsvoll und eine Platine voller Bauteile.

Autor: Schlumpf (Gast)
Datum:

Bewertung
3 lesenswert
nicht lesenswert
MaWin schrieb:
> Tja, das ist ein bischen unklar, er möchte das "würfeln" wohl so lange
> wiederholen bis keine LED mehr übrig ist.

Ich hab das so verstanden:
Alle LEDs werden schnell hintereinander angesteuert (aber es leuchtet 
immer nur eine).
Die Wechselgeschwindigkeit wird reduziert bis zum Stillstand.
Diese LED wird in der nächsten Runde nicht mehr angesteuert.
Das Ganze so lange, bis eben keine LED mehr übrig ist.

Autor: Torsten C. (torsten_c) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dirk B. schrieb:
> … bin ich mir bei der Frage des passendes IC´s und dem Programm nicht
> sicher wie ich da dran geh. Zwecks wie ich den Richtigen IC etc finde.

Hallo Dirk,
im Datenblatt vom ATmega328P/ATmega2560 (von den meisten hier unter dem 
Stichwort Arduino empfohlen) steht unter  Absolute Maximum Ratings:

> DC Current VCC and GND Pins: 200.0mA
> Exposure to absolute maximum rating conditions for extended periods
> may affect device reliability.

Also nehmen wir mal 160mA als Grenze. Wenn alle 40 LEDs an sind, wären 
das 4mA pro LED. Es gibt low-current-LEDs, die damit noch hell genug 
sind.

Der ATmega2560 (Arduino Mega 2560) hätte genügend freie Pins (für jede 
LED einen Pin).

> In C habe ich leider noch nie etwas in die Richtung Programmiert.

Dann fange doch erstmal mit einer blinkenden LED an und arbeite dich 
weiter hoch, wie hier auch schon gesagt wurde.

> Daher fände ich es echt toll, wenn mir jemand bzgl der Hardware und
> eventuell dem Programm helfen könnte.

Alternativ könntest Du z.B. auch Konstantstrom-Schieberegister wie z.B. 
TLC5926 nehmen oder WS2812-LEDs, wie schon gesagt wurde. Dann reicht 
z.B. auch der kleinere ATmega328P oder andere kleinere Controller und Du 
hättest nicht die Grenze mit diesen "absolute maximum rating" (s.o.).

Als Einsteiger möchtest Du vielleicht lieber erstmal die Variante mit 
den einzeln angesteuerten LEDs umsetzen, wenn Dir die 4mA pro LED 
reichen.

Bei konkteten Fragen "Ist das so richtig, warum geht das nicht" ist es 
dann einfacher zu helfen.

Natürlich wirst Du immer wieder Post finden, die Dir sagen: "Du machst 
das falsch, mach es anders." Am ende ist es Dein Projekt. Lass dich 
nicht beirren.

: Bearbeitet durch User
Autor: Michael B. (hardwarepunktbas)
Datum:

Bewertung
2 lesenswert
nicht lesenswert
Hallo,
ich denke das geschiderte Projekt wird viel
zu kompliziert gesehen, als es ist.
Um einerseits zu hohen Programmieraufwand zu
vermeiden, andererseits auf SMD-Bauteile
verzichten zu können, schlage ich den Einsatz
eines AVRs mit nachgeschaltet SIPOs vor, also
einer 40-fachen Schiebekette vor.
Beispiel: 1 AVR und 5 mal 8-Bit-SIPO, sind
nur 6 DIL-Schaltkreise.
Der Rest lösst sich leicht in BASCOM (oder
einem anderen Tool) programmieren
VG Micha

Beitrag #5680461 wurde von einem Moderator gelöscht.
Autor: Torsten C. (torsten_c) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Michael B. schrieb:
> schlage ich den Einsatz eines AVRs mit nachgeschaltet SIPOs vor

Dann sag' mal welchen. Den TLC5926^^ habe ich bei Reichelt z.B. nicht 
gefunden und SMD soll es ja wohl auch nicht sein. Vielleicht gibt es aus 
China auch Breakout-Boards mit soclhen Konstantstrom-Schieberegistern?

Autor: Dirk B. (bau3r)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So wie es "Schlumpf" nochmal erklärt, hab ich es in meinem Post auch 
gemeint.

Danke schon mal für die INFORMATIVEN Kommentare und möglichen Systeme.
An das "Bus" System der LED´s hatte ich noch nicht gedacht.

Autor: Stefanus F. (Firma: der mit dem Helfersyndrom) (stefanus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Michael B. schrieb:
>> schlage ich den Einsatz eines AVRs mit nachgeschaltet SIPOs vor

Torsten C. schrieb:
> Dann sag' mal welchen.

74HC595

Beitrag #5680484 wurde von einem Moderator gelöscht.
Autor: Schlumpf (Gast)
Datum:

Bewertung
4 lesenswert
nicht lesenswert
Dirk B. schrieb im Beitrag #5680484:
> Nur weil ich nicht in C
> ein Programm schreiben kann und mir nicht sicher bin welche Hardware ich
> brauch hat man NULL Kenntnis von Elektrotechnik?

Jetzt reg dich mal ab!

Wenn du selbst behauptest, dass du dich elektrotechnisch ganz gut 
auskennst, aber dann einräumst, dass du nicht programmieren kannst und 
noch nie was mit ICs gemacht hast, dann muss es schon erlaubt sein zu 
sagen, dass du vermutlich nahezu kein Wissen hast, was für dieses 
Projekt vonnöten wäre.

Vielleicht hast du elektrotechnisches Wissen, aber dann eben in ganz 
anderen Disziplinen. Aber nicht in der digitalen Elektronik.

Das ist wie wenn jemand sagt, dass er gute mechanische Kenntnisse hat 
und jetzt am Auto was reparieren will, aber bisher an Fahrrädern 
geschraubt hat.

Das ist ja auch grundsätzlich kein Problem und es wirft dir auch niemand 
vor, dass du Wissenslücken hast. Aber es muss dann erlaubt sein zu 
sagen, dass es viele Lösungen gibt, aber jede dieser Lösungen für 
jemanden mit deinem Kenntnisstand eine Herausforderung sein wird, 
während sie für jemanden mit besserem Kenntnisstand allesamt eher 
einfach sind.

Daher gibt es nicht DIE ideale Lösung für dein Problem. Es gibt vielmehr 
viele Lösungen. Aber jede wird dich mit deinem Kenntnisstand ganz schön 
fordern.

Autor: Michael B. (hardwarepunktbas)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Ich mach jetzt keine Vorschläge, aber
SIPOs gibts doch, wie Sand am Meer, zur
Not gehen auch 10 Stück klassische 4-Bit
zB 74xx95.
Kompliziert sehe ichs trotzdem nicht, denn
jeder hat mit Elektronik mal angefangen
VG Micha

Autor: Torsten C. (torsten_c) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Dirk B. schrieb:
> So wie es "Schlumpf" nochmal erklärt, hab ich es in meinem Post auch
> gemeint.

Oh, also immer nur eine ELD an. Sorry wegen der "maximum rating" oben.

> An das "Bus" System der LED´s hatte ich noch nicht gedacht.

Willst Du denn einen Bus oder direkt ansteuern?

Die Arduinos haben zum direkt ansteuern quasi einen Ausgangswiderstand 
von 35 Ohm (siebe Bild: 0,7 / 0,02 = 35). Da müsste wohl noch vor jede 
LED ein einzelner Widerstand, es sei denn die LED-Durchbruch-Spannungen 
passen zufällig zur Betriebsspannung und streuen nicht zu sehr.

Das ist viel Löterei.

Beim 74HC595^^ gilt im Prinzip das gleiche.

Bei Konstantstrom-Schieberegistern oder WS2812 könntest Du auf 40 
Widerstände verzichten.

: Bearbeitet durch User
Autor: Harry L. (mysth)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
3 x PCA9685

Autor: Dirk B. (bau3r)
Datum:

Bewertung
-2 lesenswert
nicht lesenswert
Deshalb stelle ich ja auch Fragen weil mir das Wissen fehlt?
Das es dadurch schwieriger sein kann ist mir schon bewusst, deswegen 
möchte ich eben wissen was für Möglichkeiten es gibt um mich weiter zu 
informieren.

Nur wie sich manche ausdrücken geht meiner Meinung gar nicht und sollte 
man sich doch einfach sparen.

Autor: Torsten C. (torsten_c) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Harry L. schrieb:
> 3 x PCA9685

Hallo Dirk, darf es SMD sein, oder soll es ein DIL-Gehäise sein?

Auch den PCA9685 gibt es nicht bei Reichelt und er ist in SMD.

Alternative zu Reichelt: 
https://www.mikrocontroller.net/articles/Sammelbestellungen(Mouser)

: Bearbeitet durch User
Autor: Dirk B. (bau3r)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Das sind die Vorschläge von euch^^, ob ich es über ein Bus mache oder 
direkt weis ich mit den mehreren Möglichkeiten jetzt noch nicht .

Autor: Harry L. (mysth)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Torsten C. schrieb:
> Harry L. schrieb:
>> 3 x PCA9685
>
> Hallo Dirk, darf es SMD sein, oder soll es ein DIL-Gehäise sein?
>
> Auch den PCA9685 gibt es nicht bei Reichelt und er ist in SMD.
>
> Alternative zu Reichelt:
> https://www.mikrocontroller.net/articles/Sammelbestellungen(Mouser)

Den gibts auch nicht in DIL, aber es gibt haufenweise günstige 
Breakout-Boards.
https://www.amazon.de/s/ref=nb_sb_noss_1?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&url=search-alias%3Daps&field-keywords=pca9685

Autor: Karl B. (gustav)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aufgabenstellung No.1:
Dirk B. schrieb:
> Dabei sollte die zutreffende LED beim nächsten Versuch
> ausscheiden, bis es nur noch eine gibt.

Aufgabenstellung No.2:
Dirk B. schrieb:
> bis es nur noch eine gibt

Aufgabenstellung No.3:
Dirk B. schrieb:
> Hardware mäßig hätte ich gerne
> ein Start/ Stop und Reset.

Aufgabenstellung No.4:
Dirk B. schrieb:
> Beim bestätigen der Stop Taste sollte die
> Auswahl der LED immer langsamer werden bis es zu einem Ergebnis kommt.

Aufgabenstellung No.5:
Dirk B. schrieb:
> Die Wechselgeschwindigkeit der LED´s könnte man dann im Programm ändern.

Hi, wenn ich das richtig sehe, ist das eine einem echten Roulette 
nachempfundene Schaltung, wobei die Kugel durch eine LED dargestellt 
wird.

Würde dem Vorposter da zunächst einmal zustimmen:
Wegstaben V. schrieb:
> du könntest dich an diesen Bausatz bzw. dem zugehörigen Schaltplan
> orientieren. Wenn du bezüglich dem LED-Verhalten "Sonderwünsche" hast,
> passt du halt einfach das Programm an.
> https://www.pollin.de/p/bausatz-roulette-810163

Die ganze Sache geht mit ATMEL AVRs ganz prima.
Bei meinem Programm arbeite ich mit .db Tabellen, wo die einzelnen 
LED-Zustände abgelegt sind. Dann noch diverse Timerinterrupts, die die 
Beschleunigung bzw. Verlangsamung als Variation reinbringen.

Das geht standardmäßig nur mit acht LEDs, weil ich nur acht Bit zur 
Verfügung habe. Wenn ich mehr haben will, wird es schon etwas 
umfangreicher.

Nur so eine Idee...

Viel Spaß noch.

ciao
gustav

Beitrag #5680529 wurde von einem Moderator gelöscht.
Autor: Torsten C. (torsten_c) Benutzerseite
Datum:

Bewertung
3 lesenswert
nicht lesenswert
Das beste Rezept, um on-topic zu bleiben, ist:

Auf off-topic nicht antworten.

Autor: Roland F. (rhf)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Stefanus F. schrieb:
> Michael B. schrieb:
>>> schlage ich den Einsatz eines AVRs mit nachgeschaltet SIPOs vor
>
> Torsten C. schrieb:
>> Dann sag' mal welchen.
>
> 74HC595

MAX7219, benötigt 3-Portpins (SPI), kann 64 einzelne LEDs ansteuern

rhf

Autor: Torsten C. (torsten_c) Benutzerseite
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Roland F. schrieb:
> MAX7219, benötigt 3-Portpins (SPI), kann 64 einzelne LEDs ansteuern
… und es gibt ihn als DIL bei Reichelt: 
https://www.reichelt.de/display-treiber-dil-24s-max-7219cng-p217144.html

Bei diesen Multiplex-Lösungen leuchten die LEDs allerdings oft nicht so 
hell:
10% Einschaltzeit mit 200mA ist oft dunkler als 100% mit 20mA.

Allerdings hängt das wohl vom LED-Typ ab.
Es gab da schon viele Beispiele und Gegenbeispiele hier im Forum.

Ich würde den MAX7219 durchaus nehmen, denn der ist handlicher als diese 
Breakout-Boards und auch preiswerter.

: Bearbeitet durch User
Autor: Michael B. (laberkopp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dirk B. schrieb:
> Das sind die Vorschläge von euch^^, ob ich es über ein Bus mache oder
> direkt weis ich mit den mehreren Möglichkeiten jetzt noch nicht .

Nach deiner Beschreibung (immer nur 1 LED zu einer Zeit an) reicht ein 
uC wie Arduino mit 7 Ausgangspins, die 1 LED von 40 per Charlyplexing 
direkt mit bis zu 20mA zu versorgen.

http://ww1.microchip.com/downloads/en/AppNotes/91029a.pdf

Autor: Torsten C. (torsten_c) Benutzerseite
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Charlyplexing ist zwar etwas Programmiererei aber wohl die einfachste 
und preiswerteste Lösung auf HW-Seite.

Haben alle LEDs die gleiche Farbe?

Zwei LEDs mit einer kleineren Durchbruchspannung könnten dunkel 
leuchten, wenn sie parallel zu einer anderen mit großer 
Durchbruchspannung liegen.

Also ggf. einmal mit Original-LEDs prüfen um sicher zu gehen, und dann 
wäre das eine schöne Programmieraufgabe.

Autor: Schlumpf (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Torsten C. schrieb:
> Charlyplexing ist zwar etwas Programmiererei aber wohl die einfachste
> und preiswerteste Lösung auf HW-Seite.

Ich würde einfach die 40 Zustände als Look-Up-Table in ein Array legen.

Autor: Dirk B. (bau3r)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Haben alle LEDs die gleiche Farbe?

ein Farbwechsel brauche ich nicht, daher JA. Würde Rote LED´s kaufen

: Bearbeitet durch User
Beitrag #5680680 wurde vom Autor gelöscht.
Autor: Torsten C. (torsten_c) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann ist das doch die perfekte Lösung. :)

Charlyplexing mit Lookup-Tabelle und Arduino
oder z.B. einem STM8S103F3P6 Board.

Nicht um die alte Debatte zu erneuern, sondern nur um generell 
aufzuzeigen, dass es grundsätzlich auch für 5V Alternativen gibt, die 
Source-Level-Debugging können und hier incl. ST-Link-Clone preiswerter 
sind als ein Arduino.
Der hier erwähnte STM8S103 sollte laut Datenblatt (maximum rating 
conditions) allerdings nicht dauerhaft mit 20mA belastet werden. Aber 
die LEDs wechseln ja oder man kommt mit z.B. 15mA aus. Immernoch hell 
genug.

Autor: Wegstaben V. (wegstabenverbuchsler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Torsten C. schrieb:
> Dann ist das doch die perfekte Lösung. :)
>
> Charlyplexing mit Lookup-Tabelle und Arduino
> oder z.B. einem STM8S103F3P6 Board.

hm.... und wie wäre es mit
"Charlieplexing mit dem Pollin Roulette-Spiel"?
Beitrag "Re: LED- Schaltung"

Die Grundplatine ist vorhanden, und alles wäre direkt bereit.

nur ein Taster auf der Pollin-Platine? praktischerweise hängt der Taster 
auf AIN1, da kann man mit einem R2R Widerstands-Netzwerk mindestens 4 
Taster auf den Analog-Komperator "bedienen".

nur 37 LED? Keine Sorge, mit 7 PIN schafft man 42 lED mit 
Charlieplexing, z.B. 
http://www.gunook.com/adafruit-huzzah-42-charlieplex-led-gitter/
Das Pollin design nutzt gar 13 Pin, das macht dann 156 ansteuerbare LED. 
mit 13 PIN liesse sich sogar ein (nicht benötigtes) RGB-Roulette (oder 
Lauflicht) ansteuern

: Bearbeitet durch User
Autor: Torsten C. (torsten_c) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wegstaben V. schrieb:
> nur 37 LED? Keine Sorge, …

Dann soll das ganze Platinen-Layout in die Tonne und eine ganz neue 
Platine mit 40 LEDs soll her? Wo wäre denn da der Vorteil vom Bausatz.

Die LEDs sind auch nicht einheitlich rot.

Ansonsten: Auf den ATTiny2313 kann man wohl irgendwie eigene SW drauf 
spielen falls die LOCKBIT-Fuse nicht aktiviert ist. Vielleicht gleich 
einen jungräulichen ATTiny2313 und einen Programmer in Reserve 
bestellen?

: Bearbeitet durch User
Autor: Dirk B. (bau3r)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Wenn ich das Charlieplexing verfahren nehme, würde ein Arduino Micro mit 
20 I/O Pins vollkommen reichen?
Bräuchte ja dann nur 7.

Bei der Verdrahtung wirds zwar generell lustig mit 40 leds aber das 
sollte kein Problem sein.

Wird die Programmierung für mich als neuling damm extrem schwer oder 
müsste man das nach den ersten paar Lernstunden schon hin bekommen?
Bzw ist es für ein Profi ein aufwand von n paar Minuten?

Autor: Michael B. (hardwarepunktbas)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Multiplexing wäre eine Alternative, bedeutet jedoch
höheren Verdrahtungsaufwand, da 6-Bit vom AVR auf zB
3 mal 4 to 16 Multiplexer verteilt werden müssen.
Würde unter Hinzuziehung der diversen SS-Anschlüssen
funktionieren, die Shift-Register-Variante erachte ich
jedoch als eleganter. Dazu reicht sogar ein 8-poliger
ATTiny vollkommen aus. Nur Clock und Data braucht man,
hochwissenschaftliche Abhandlungen, oder hochkomplizierte
Programmiervorschläge brauchen nicht abschreckend zu wirken,
da beide absolut ummötig sind.
Schreib als Autor dieses Threeds einfach, ob Du bereit bist,
für die komplette elektronische Hardware (LEDs, AVR, Shift-
register, Lochrasterplatte, Platinenstecker, Netzteil) bereit
bist, maximal 35 EURO für den Einkauf bei gängigen Elektronik-
händlern zu zahlen. Desweiteren brauchst Du einen Rechner
mit LPT-Schnittstelle und BASCOM-AVR. Billiger und leicht
verständlicher wird es nicht werden! Meine Hilfe ist Dir gewiss.
VG Micha

Autor: Torsten C. (torsten_c) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Michael B. schrieb:
> Multiplexing wäre eine Alternative

Es soll immer nur genau eine LED leuchten.

Dirk B. schrieb:
> ist es für ein Profi ein aufwand von n paar Minuten?

Für den ersten Ansatz benötigt ein Profi ca. 2..4 Stunden für die SW, 
wenn die HW bereit steht.

Für Verschönerungen fällt einem immer wieder was Neues ein:
Bessere Tastenentprellung, Timing über Interrupts, Lookups über PROGMEM, 
…

> Wenn ich das Charlieplexing verfahren nehme, würde ein Arduino Micro mit
> 20 I/O Pins vollkommen reichen?

Ja.

> Bräuchte ja dann nur 7.

Plus die drei für die Taster (im einfachsten Fall, ein Pin pro Taster).

> Wird die Programmierung für mich als Neuling dann extrem schwer oder
> müsste man das nach den ersten paar Lernstunden schon hin bekommen?

Viele Einsteiger machen das mit Arduino und dann wirst auch Du das in 
ein paar Lernstunden hin bekommen.

Was mich betrifft: An Debugging über Serial.Print konnte ich mich nie 
gewöhnen; ich schwöre auf C-Code Source-Level-Debugging und wäre eine 
schlechte Hilfe.

: Bearbeitet durch User
Autor: Dirk B. (bau3r)
Datum:

Bewertung
-2 lesenswert
nicht lesenswert
Wie gesagt, für nur eine LED muss es kein multiplexing sein, aber danke

Doch so "lange" wenn man sich sehr gut auskennt?
Hätte ich jetzt doch nicht gedacht.

Vielen dank schonmal

Autor: Torsten C. (torsten_c) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dirk B. schrieb:
> Doch so "lange" wenn man sich sehr gut auskennt?
> Hätte ich jetzt doch nicht gedacht.

Es gibt bestimmt auch Leute, die behaupten, mit weniger Stunden 
auszukommen.

* Die Lookup-Tabellen erstellen,
* die richtigen Ports richtig initialisieren,
* den Zustandsautomaten erstellen und überlegen, ob er wirklich passt,
* die LEDs mit konstanter Geschwindigkeit ansteuern und
* sich um die langsam werdende Kugel kümmern.

Wenn man pro Schritt im Mittel 30 Minuten rechnet, sind das schon 2,5 
Stunden. Und vorher muss die Hardware fertig sein.

Autor: Michael B. (hardwarepunktbas)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Diskussion im Forum geht schon STUNDEN,
vielleicht ist der Zeitrahmen für DIESES Projekt
ja auch egal. Es geht um ERFAHRUNGEN sammeln mit
PRAKTISCHER ELEKTRONIK, also nicht den Mut verlieren
VG Micha

Autor: H.Joachim S. (crazyhorse)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dirk B. schrieb:
> Wie gesagt, für nur eine LED muss es kein multiplexing sein, aber danke

Ist die Frage, was du unter Multiplexing verstehst. Bei immer nur einer 
LED ist das sogar der Idealzustand. Wenig Pins, wenig Widerstände, keine 
Treiber erforderlich und dennoch volle Helligkeit (wenn gewünscht). Bei 
Charlieplexing nochmal weniger Pins.

Autor: Torsten C. (torsten_c) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
H.Joachim S. schrieb:
> Bei Charlieplexing nochmal weniger Pins.
Ich dachte, Charlieplexing wäre inzwischen Konsens.

Autor: Michael B. (hardwarepunktbas)
Datum:

Bewertung
-2 lesenswert
nicht lesenswert
Ich selber hatte natürlich mit Multiplexing nur
das Aufdröseln von parallelen Bits zu den einzelnen
Ausgängen gemeint, was natürlich keine Multiplexanzeige
darstellt. Eine reine Multiplexanzeige hat logischerweise
weniger Lötarbeit zur Folge, bedarf jedoch höheren
Programmieraufwand und es besteht die Gefahr der
Überlastung einzelner LEDs bei Programmierfehlern
VG Micha

Autor: Cyblord -. (cyblord)
Datum:

Bewertung
3 lesenswert
nicht lesenswert
Dirk B. schrieb:
> Wie gesagt, für nur eine LED muss es kein multiplexing sein, aber danke
>
> Doch so "lange" wenn man sich sehr gut auskennt?
> Hätte ich jetzt doch nicht gedacht.

Was hättest du denn gedacht? 15 Minuten? Wie weltfremd kann man sein?

Aber ich warte immer noch auf einen kurzen Abriss deiner 
"elektrotechnischen Kentnisse". Was hast du denn schon an Projekten 
gemacht?
Dann kann man solche Erwartungshaltungen eventuell auch besser 
einschätzen und man könnte eine Lösung anbieten mit Mitteln die du 
vielleicht schon kennst.

Denn sind wir ehrlich, du wirst keine der hier vorgeschlagenen Lösungen 
selber umsetzen.

Hast du überhaupt schon mal einen Controller in Betrieb genommen, eine 
LED angeschlossen und ein Programm dafür erstellt diese blinken zu 
lassen?
Also mal eine Basis für alles weitere geschaffen?

Wenn nein, warum fängst du damit nicht erst mal an sondern diskutierst 
hier ersthaft welchen Multiplex-Modus man jetzt nehmen sollte.

Vielleicht bekommst du dann auch mal ein Gefühl für Entwicklungszeiten.

: Bearbeitet durch User
Autor: Cyblord -. (cyblord)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum wurde dieser Beitrag bitte gelöscht?

> Nein wird es nicht. Mit Null Kenntnissen ist JEDES Projekt schwierig.
> Mit Erfahrung und sicherer Handhabung der Bauteile und Tools gibt es
> natürlich zig Wege es zu lösen.

> Natürlich stellt es an sich kein Problem dar. Aber kannst du nix dann
> kannst du nix.

Das war eine völlig allgemeine Erkentnis. Nicht mal auf den TE bezogen. 
Auf niemanden direkt bezogen. Was soll das? Langsam wird es lächerlich.

Autor: Karl B. (gustav)
Datum:
Angehängte Dateien:

Bewertung
-2 lesenswert
nicht lesenswert
Michael B. schrieb:
> Ich selber hatte natürlich mit Multiplexing nur
> das Aufdröseln von parallelen Bits zu den einzelnen
> Ausgängen gemeint...

Hi,
meine Idee wäre auch, über den noch zur Verfügung stehenden (restlichen) 
Port noch eine 1 aus 10 Demultiplexer-Logik 7490 und 74141 BCD-codemäßig 
anzusteuern, womit man die Anzahl der LEDs auf 80 hinbekäme. Der eine 
Port beim ATtiny hat ja statt 8 Bit nur 7 Bit. BCD braucht nur vier.
8 Bit für die "Daten", die 4 Bit für das "Demultiplexen".
Das Prog. im Anhang ist 8-bittig noch.
Wie gesagt, das Prinzip "Lauflicht" mit verschiedenen Mustern.

ciao
gustav

: Bearbeitet durch User
Autor: c-hater (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MaWin schrieb:

> Tja, das ist ein bischen unklar, er möchte das "würfeln" wohl so lange
> wiederholen bis keine LED mehr übrig ist. Bloss woher weiss das der
> Anwender ? Wohl in dem die zuletzt ausgewürfelte LED leuchten bleibt.

Das wäre möglich, aber nicht sehr sinnvoll. Sinnvoll wäre hingegen: sie 
bleibt einfach aus, insbesondere auch beim "Wählvorgang".

Wenn man das so (also sinnvoll!) designed, kommt sogar Batteriebetrieb 
ernsthaft in Frage, denn es leuchtet zu jeder Zeit immer nur maximal 
eine einzige LED...

Autor: Crazy H. (crazy_h)
Datum:

Bewertung
-2 lesenswert
nicht lesenswert
Ich werf dann mal 3x PCA9532 in den Raum.

Autor: Michael B. (hardwarepunktbas)
Datum:

Bewertung
-2 lesenswert
nicht lesenswert
Hallo,
ich denke, die Schieberegistermethode, wäre die
beste, generell und auch für Elektronikanfänger.
Mit ASM-Kauderwelsch schreckt man nur ab!
Ein Tiny, programmiert mit einfachst und effektivem
BASCOM-Code (meine persönliche Meinung) erschlägt
das Problem, deswegen steht mein Angebot, den Code
unter den entsprechenden Vorraussetzungen zu liefern
VG Micha

Autor: Wegstaben V. (wegstabenverbuchsler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Michael B. schrieb:
> die Schieberegistermethode, wäre die
> beste, generell und auch für Elektronikanfänger.

und was genau findest du an Charlieplexing kompliziert?

Es sind sicherlich zusätzliche Schieberegister etc. deines Vorschlags 
nicht nur hardwaretechnisch aufwändiger.

Michael B. schrieb:
> Mit ASM-Kauderwelsch schreckt man nur ab!

Stimmt. Egal, welche Hardware-Lösung man da nutzt. Hier mal etwas code 
in C:

http://stefanfrings.de/knightrider/index.html

eine Lookup-Tabelle für 40 LED ist jetzt nicht sehr aufwändig, und muss 
nur 1 mal erstellt werden ...

: Bearbeitet durch User
Beitrag #5682977 wurde von einem Moderator gelöscht.
Autor: Michael B. (hardwarepunktbas)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Roland F. schrieb:
> MAX7219, benötigt 3-Portpins (SPI), kann 64 einzelne LEDs ansteuern

Wäre doch ne Superidee, wenn mans so am einfachsten lösen kann,
man kann ja als Einzelner nicht alle IC-Typen kennen
VG Micha

Autor: Stefanus F. (Firma: der mit dem Helfersyndrom) (stefanus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine Matrix-Schaltung mit Ringförmiger Anordnung ist für mich keineswegs 
weniger Aufwändig, als der Verdrahtungsaufwand für Charlieplexing.

Autor: Michael B. (hardwarepunktbas)
Datum:

Bewertung
-2 lesenswert
nicht lesenswert
PS:
Der MAX7219 ist doch ideal (ich kannte den bisher noch nicht)
Da Dieser das Zeitmultiplexing selber, also ohne
Programm im AVR, managt, hätte ich jetzt auch keine
Vorbehalte gegen multiplexte Ansteuerung, die Gefahr
von LED-Überlastung wäre dann vom Tisch
VG Micha

Autor: Dergute W. (derguteweka)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

Michael B. schrieb:
> bedarf jedoch höheren
> Programmieraufwand und es besteht die Gefahr der
> Überlastung einzelner LEDs bei Programmierfehlern


Michael B. schrieb:
> hätte ich jetzt auch keine
> Vorbehalte gegen multiplexte Ansteuerung, die Gefahr
> von LED-Überlastung wäre dann vom Tisch

Was haste denn hier immer fuer ne Panik mit deinen ueberlasteten LEDs 
und "Programmieraufwand"? Nachdem ja eh' immer nur 1 LED leuchten soll, 
kann man doch die Vorwiderstaende so dimensionieren, dass da nix 
ueberlastet wird.
der Charlieplex ist auch recht simpel zu programmieren; da machste 2 
Arrays mit je 40 byte Groesse; in's eine Array kommen die Daten fuer's 
Ausgangsregister, also ob 0 oder 1 ausgegeben wird und ins andere Array 
kommen die Daten fuer's Tristate-Register; also welche der Ausgaenge 
dann tatsaechlich 0 oder 1 treibt.
Dann wird die anzuzeigende Zahl "ausgewuerfelt"; diese Zahl als Index 
auf die beiden Array hergenommen, der jeweilige Wert genau 1x aus den 
Arrays ausgelesen und in sein entprechendes IO-Register geschrieben. 
Schon leuchtet die eine LED und nix kann ueberlastet werden...
'ne simplere HW wirds nicht geben und ne simplere SW auch kaum.

Gruss
WK

Autor: Karl B. (gustav)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Dergute W. schrieb:
> Charlieplex

Hi,
zwei LEDs antiparallel, eine Diode in Sperrichtung, die andere in 
Durchlass. Soweit ich das sehe, muss die Sperrspannung der Dioden 
beachtet werden.
Das ist aber bei den 5V (und Vorwiderständen) kein Problem.

Gegenbeispiel:Bei dem UAA170 Laufpunkt-Digital-Thermometer kommt es zum 
schwachen Leuchten von nicht angesteuerten Dioden. Das lässt sich bei 
der Art von Matrizierung nicht vermeiden.

ciao
gustav

: Bearbeitet durch User
Autor: Lothar M. (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schlumpf schrieb:
> Ich hab das so verstanden:
> Alle LEDs werden schnell hintereinander angesteuert (aber es leuchtet
> immer nur eine).
> Die Wechselgeschwindigkeit wird reduziert bis zum Stillstand.
> Diese LED wird in der nächsten Runde nicht mehr angesteuert.
> Das Ganze so lange, bis eben keine LED mehr übrig ist.
Ich vermute sehr, dass darin viel mehr Arbeit steckt als in der 
Beschaltung mit 40 LEDs.

Dergute W. schrieb:
> ins andere Array kommen die Daten fuer's Tristate-Register
Und ins dritte Array kommt die Info, ob diese Zahl schon mal "gezogen" 
wurde.

Karl B. schrieb:
> Das lässt sich bei der Art von Matrizierung nicht vermeiden.
Doch, durch geeignetes zeitlich Ansteuern der Matrix.

Aber ich würde wegen der einfachen Verdrahtung (eine gemeinsame 
Masse-Ring-Leitung) auch die Schieberegister-Variante nehmen...

: Bearbeitet durch Moderator
Autor: Dergute W. (derguteweka)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

Karl B. schrieb:
> Hi,
> zwei LEDs antiparallel, eine Diode in Sperrichtung, die andere in
> Durchlass. Soweit ich das sehe, muss die Sperrspannung der Dioden
> beachtet werden.
Ja - wenn die max. zulaessige Sperrspannung der einen LED kleiner ist 
als die Durchlassspannung der antiparallel geschalteten LED, dann schon. 
Das muessen dann aber ganz schoen eigenartige LEDs sein.

> Das ist aber bei den 5V (und Vorwiderständen) kein Problem.
Das kommt noch erleichternd dazu.

>
> Gegenbeispiel:Bei dem UAA170 Laufpunkt-Digital-Thermometer kommt es zum
> schwachen Leuchten von nicht angesteuerten Dioden. Das lässt sich bei
> der Art von Matrizierung nicht vermeiden.
Ich hab' keine Ahnung, wie der UAA170 genau intern aufgebaut ist und die 
LEDs ansteuert - werd's auch mangels Interesse kaum rausfinden.
Aber natuerlich kann man Charlieplexing so betreiben, dass keine LEDs 
vor sich hinfunzeln, wenn sie's nicht sollen.
Ausnahme: Die Kennlinien der LEDs sind so kacke, dass die Spannung, die 
an einer richtig leuchtenden LED abfaellt, schon reicht, um 2 LEDs in 
Reihe zum Funzeln zu bringen.
Bei meinem ollen VU-Meter hab' ich echt die gammeligsten, aeltesten LEDs 
genommen, die bei mir so rumflogen - und da leuchtet nix, wenn's nicht 
soll (Und nachdem da auch mehrere LEDs "gleichzeitig" leuchten sollen, 
ist's da tatsaechlich etwas aufwendiger mit dem Timing der Ansteuerung, 
etc. Das braucht's aber hier alles nicht, denn es soll ja immer nur eine 
LED leuchten).

Gruss
WK

Autor: Michael B. (hardwarepunktbas)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nochmal zur angeblichen Panik bei zeitmultipexer
Ansteuerung von LEDs bzw Siebensegmentanzeigen.
Wir wollen eine deutliche, damit helle Anzeige,
definiert im Datenblatt sind maximale Dauerströme,
welche den Betrieb im Simultanbetrieb maximal definieren.
Der Vorwiderstand wird entsprechend berechnet.
Alles bisher geschnallt? Üblich ist heutzutage die
zeitmultiplexe Ansteuerung, meisstens wird dann
die (Einzel)LED nur noch mit 1/8 oder weniger gebulst.
Dadurch ist der Helligkeitseindruck entsprechend geringer,
ist auch das klar? Der Hersteller gestattet jedoch einen
wesentlich höheren Peakstrom für wenige Microsecunden,
jedoch nur bei längeren Pausen. Dadurch kann man mit einem
wesentlich kleineren Rv arbeiten, wegen des um ein
mehrfach höheren Stromes, welcher jedoch im Dauerbetrieb
die LED zerschiessen würde. Habe ich einen Anzeigechip,
wekcher HARDWAREMAESSIG diese zeitmultiplexe Anzeige
übernimmt, ist man auf der sicheren Seite. Möchte man das
softwaremässig mittels programmierter Bit- und Digitpins
lösen MUSS dieser entsprechende Softwarebaustein bereits
fertig sein und darf durch weitere Softwareexperimente
nicht mehr beeinflussbar sein. Ansonsten dürfen die
überlasteten LED(-Bausteine) wieder ausgelötet werden.
Die Problematik ist unter Elektronikpraktiker seit langem
bekannt, musste hier jedoch den Vorwurf der Panikmache
loswerden. VG Micha

Autor: Dergute W. (derguteweka)
Datum:

Bewertung
2 lesenswert
nicht lesenswert
Moin,

tl,dr.

Es geht hier um eine Schaltung, bei der genau 1 (von 40) LED(s) leuchten 
soll - nicht mehrere LEDs "visuell gleichzeitig".

Gruss
WK

Autor: Stefanus F. (Firma: der mit dem Helfersyndrom) (stefanus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Dirk hat sich längst für Charlieplexing entschieden. Ich halte das 
für eine gute Wahl.

Andere Methoden haben auch ihre Existenzberechtigung, brauchen nun aber 
nicht weiter diskutiert zu werden. Der Dirk wird nun sicher Teile kaufen 
und es ausprobieren. Vielleicht meldet er sich bald mit weiterführenden 
Fragen, bei denen wir ihm helfen können.

Jedenfalls sind Diskussionen um alternative Methoden für den Dirk jetzt 
nicht mehr hilfreich.

Autor: Michael B. (hardwarepunktbas)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist doch super, wir sind bei der Simaltanansteuerung gelandet

Autor: Andreas V. (Firma: IGL) (andreas_va)
Datum:

Bewertung
-3 lesenswert
nicht lesenswert
Reise nach Jerusalem auf elektronisch:
Warum machst Du nicht ein Array aus 40 Elementen mit initlalsierung 
aller Elemente auf 0. Wenn ein Element 1 gesetzt ist ist es 
ausgeschieden.

Dann nimmst Du drei bis vier I2C nach Parallel Decoder z.b. von 
MCP(Microchip). Sagen wir mal ein Decoder hat 10 Ausgänge. Die I2C 
Adresse ist einstellbar. Wobei 0x30 erst mal fiktiv ist.

Dann schickst Du über I2C die Bitfolge der ersten 10 Array Elemente an 
Adresse 0x30.

Dann schickst Du über I2C die Bitfolge der zweiten 10 Array Elemente an 
Adresse 0x31.

Dann schickst Du über I2C die Bitfolge der dritten 10 Array Elemente an 
Adresse 0x32.

Dann schickst Du über I2C die Bitfolge der vierten 10 Array Elemente an 
Adresse 0x33.

Gruß

Andreas

Autor: Dergute W. (derguteweka)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Moin,

Andreas V. schrieb:
> Dann nimmst Du drei bis vier I2C nach Parallel Decoder z.b. von
> MCP(Microchip).
> ....

Na, das ist doch viel zu simpel. Wie waers gleich mit einem 48 Port 
GBit-Ethernetswitch und 40 BeagleBones oder Raspies - an jedem haengt 
eine LED und alle sind per Ethernet am Switch verbunden. Dann noch eine 
Datenbank mit KI-Javabackend auf einem Server in der Cloud. Per 
Blockchain wird man dann festhalten koennen, welche LEDs schon mal an 
waren.
Obwohl: Der Raspi hat kein GBitEthernet, da wirds dann langam 
wahrscheinlich eng mit der Echtzeitfaehigkeit bei IPv6. Beim Beagle 
weissichs nicht auswendig.
Hmmm, das wird schwierig....
Aber vielleicht gibts EU- oder Landes-Foerdermittel;-)

SCNR,
WK

: Bearbeitet durch User
Autor: Andreas V. (Firma: IGL) (andreas_va)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.