8 X 8 LED Matrix mit 74hc595 brauche einfachen sketch zum einfachen erweitern

Hallo liebe Leute vom Ardu-Forum!

Das ich neu hier und in der Materie bin is glaube am Thema kaum zu übersehen.
Erstmal vielen dank an alle die ihr Wissen mit uns Unwissenden so rege teilen. In kürzester Zeit konnte ich so einiges mit Hilfe des Forums schon bewerkstelligen.
Leider ist es bei einigen Sachen ohne Vorkenntnisse nicht leicht möglich selbst Lösungen zu finden. Die Geduld spielt da sicher auch eine wesentliche Rolle.
Ich hoffe ihr werdet mir bei meinem jetzigen Problem mit Rat und Tat zur Seite stehen und nicht übermäßig genervt sein, weil es hierzu schon einiges im Netz zu finden gibt.
Keine der gefundenen Lösungen waren für mich zufrieden stellend. Entweder unvollständig, fehlerhaft, oder die Materie war noch zu hoch für mich. Die meisten Sketches haben nicht funktioniert.

Und nun zu meinem Problem:
Ich hab mir mal in den letzten zwei Tagen eine 8 X 8 LED Matrix
zusammengelötet. Die Zeilen und Spalten werden über 16 NPN Transistoren und zwei 74HC595 geschalten. Als Board benutze ich ein Arduino Leonardo. Mein TestSketch ist "Hello World" aus dem Shift Out Tutorial. Matrix funktioniert soweit. An dieser Stelle fehlt mir nun der Faden, wie gehts weiter?
Für Multiplexing ist das Tutorial für den MAX2019-21, somit auch die Biblioteken. Mit dem 74HC595 gehts hier nicht weiter.
Mein anliegen wäre an dieser Stelle einen Sketch in dem ich jede LED einzeln ansteuern kann. Damit möchte ich verstehen lernen welcher Befehl, welche Variable, welche sonstige Eingabe was auch immer bewirkt. Am Ende sollten Buchstaben, eine Laufschrift, Animationen usw auf dem Display zu sehen sein.
Dafür brauch ich ein universelles Grundgerüst welches sich von einem Anfänger verstehen lässt und unbegrenzt zu erweitern ist.
Habt schon mal vielen Dank für eure Geduld und eure Hilfe.

Ich kenne die MAX2019/21 nicht. Meinst Du die MAX7219/21?

Wenn Du über die beiden 595 jeweils die 8 Spalten und 8 Zeilen ansteuern willst brauchst Du 8 NPN und 8 PNP Transistoren nicht 16 NPN. Statt der Transistoren kannst Du auch einen ULN2803 und einen A2981 nehmen. Du brauchst auf alle Fälle Vorwiderstände.

Sagen wir mal Du hast die Anoden auf den Zeilen und die Katoden auf den Reihen.
Die Ansteuerung erfolgt zB indem Du eine der 8 Zeilen (Anoden) auf High legst und die LED, die leuchten sollen entsprechenden Reihen (Katoden) auf LOW. Dann wartest Du 1 Millisekunde gibst alle Reihen auf HIGH und machst das gleiche mit den anderen 7 Zeilen. Wenn Du alle 8 Zeilen fertig hast wiederholst Du alles.
Die Reihen bruachn 8 Vorwiderstände.
Beispiele für die Ansteuerung der 595 findestu Du sicher.

Zeichne uns mal Deinen Schaltplan.

Ich rate Dir aber den MAX7219 zu verwenden, da dieser das Multiplexen und die Strombegrenzung für die LED selbständig macht und Du nur die Daten welche LED leuchten sollen übertragen mußt. Das ist dann viele weniger Auslastung für den Arduino, da dieser bei einer Matrix mit Schieberegister diese ständig ansteuern muß, auch wenn der Inhalt der Matrix sich nicht ändet. Beim MAX7219 brauchst Du nur Daten übertragen (8Byte) wenn der Inhalt der Matrix sich ändert.

Grüße Uwe

Hallo Uwe,
vielen Dank für die flotte RE.
Nun stellt sich mir hier eine verständnisfrage. Du sagst das ich PNP Transistoren mit benutzen soll und die auf LOW dann ansteuere. Warum kann ich dann nich bei den NPNs bleiben und sie mit HIGH ansteuern? Der Effekt sollte doch der selbe bleiben, oder?
Schaltpan ist in Arbeit und kommt später.
Nun stellt sich da aber die Frage, wie kann ich explizit die einzelnen Pins der 74hc595 ansteuern? Ich kann da doch nicht einfach " int pin = 32 oder so eingeben?
Die Matrix funktioniert ja soweit perfekt, Der Sketch Hello World steuert alle LEDs midestens einmal an und das auch wie es scheint systematisch nur das es halt keine Zeichen mit Bedeutung dabei gibt. Aber es blinkt hal erstmal.
Der Max2019 ist meine eigentliche Wahl, der is aber zu teuer um damit rumzuspielen und von China bis zu mir dauerts ewig, bestellt is er seit ner Woche. 10 Stück für 4€. Die 595er hab ich bei Conrad für 30 cent das Stück bekommen bei 20 Stück, deshalb möchte ich mich erstmal mit denen befassen.

Vielen Dank erstmal, ich freu mich auf noch mehr Anregung und Hilfe.

Die PNP-Transitoren sind für die HIGH Seite.
Für die LOW Seite brauchst Du NPN-Transistoren.

Die 595 Ausgänge steuerst Du indem Du eine 8 Bit Zahl versendst wobei ein gestztes Bit ein High am entsprechenden Ausgang bedeutet.
Also b0000 0001 heißt der letzte ausgang ist H alle anderen L.

Was ist der Max2019???

Grüße Uwe

Hallo ich bin auch noch ziemlich neu in der materie aber arbeite momentan an etwas ähnlichem und zwar einem 555 led cube
Funktioniert ähnlich zu deiner Matrix nur mit 5 Schieberegistern und einem ULN

die scheiberegister Sache war für mich auch erstmal schwer zu verstehen und hatte etwas gedauert bis ich es verstanden hatte anzusteuern

um zum Beispiel an die 9. Säule des Cubes ein Signal zu senden benötige ich folgenden code:

	{
		 
	 digitalWrite(latchPin1, LOW);
	 shiftOut(dataPin1, clockPin1, MSBFIRST, B00000000);
	 shiftOut(dataPin1, clockPin1, MSBFIRST, B00000010);
	 shiftOut(dataPin1, clockPin1, MSBFIRST, B00000000);
	 shiftOut(dataPin1, clockPin1, MSBFIRST, B00000000);
	 digitalWrite(latchPin1, HIGH);
 }

hier wird immer eine Bit folge eingelesen und wenn wie hier 4 Schieberegister aneinander gekoppelt sind kommt der erste Befehl beim letzten und der letzte Befehl beim ersten an

in dem Byte B0000 0001 wird zum Beispiel nur der Port Q0 auf High gesetzt
mit dem Byte B1000 0000 wird nur der Port Q7 auf High gesetzt
usw.
Mann kann hier übrigens entweder eine Bitfolge Bestehend aus B und 8*1oder0
oder eine Zahl von 0 bis 256 einsetzen somit ergeben sich 257 verschiedene Schaltmöglichkeiten pro Schieberegister
von alles aus bis alles an.
im hallo Welt Sketch wird auch nix anderes getan als die variable von 0 auf 256 immer um eins zu erhöhen.

mir hatte am Anfang um die Bits zu verstehen der Windows Rechner geholfen wenn man den auf Programmieren einstellt kann man sehen wie z.b. die zahl 146 in binär aussieht

mit meinem Code kann man natürlich unendlich viele Schieberegister aneinander reihen jede Zeile steht für ein Schieberegister

ich hoffe ich konnte dir helfen
mfg
melmann

@melmann
Einige (unwichtige) Korrekturen:

Eine 8Bit große Zahl kann definitiv und umunstößlich Zahlen von 0 bis 255 darstellen oder mit Vorzeichen -127 bis 128, also im ganzen 256 verschirdene Zahlen.

Mit einem Coke kann man (fast) unentlich viele Schieberegister aneinanderreihen mit dem Arduino aber nicht direkt ansteuern. Da der Clock und Strobe Eingang aller 74HC595 paralellgeschaltet wird braucht es einen Ausgang der den notwendigen Strom aufbringen muß. Arduino-Ausgänge haben einen maximal zulässigen Strom und somit eine endliche möglichkeit Eingänge anzusteuern. ICh würde sagen so ab 8 bis 10 kann es Schwierigkeiten geben. Durch Treiber und kaskadierung von Treibern kann die maximale Anzahl erhöht werden.

Grüße Uwe

Super, das is doch schon mal ein Anfang. Ich denke so langsam beginne ich zu verstehen. Bis auf das mit den Transistoren. Ich kann doch den 5V genauso wie den GND mit NPN auf Durchgang schalten. Die Zeilen und Spalten sind jeweils auf einem IC ***595 angestöpselt. Die ICs sind in Reihe geschalten.
Hab da mal was vorbereitet.

Schaltpläne sind leider nich so mein Ding, also Fehler inbegriffen. Weis nich ob ich die LED richtig rum eingezeichnet habe. Die Matrix hab ich aus einem Beispiel nachempfunden und der Arduino mit den ICs sind aus dem Shift Out Tutorial. Nur die Transistoren habe ich mir selbst einfallen lassen. Als Transis benutze ich BC337-40 1A Bipolar von Conrad.

Nun nochmal zurück zur Programmierung
@engelman
Die Erläuterung is schon super. Wäre es dir eventuell möglich mir einen kompletten Beispielsketch zu schreiben? Ich brauch das einfach mal ganz genau, sonst kappier ichs nicht. Ich würde gern LED in Reihe 5, Spalte 3 zum leuchten bringen. Wenns nichts ausmacht, binde bitte gleich noch eine zweite deiner Wahl ein.

Ich hoffe es wird euch nicht zu viel, mir jedenfalls raucht momentan der Kopf.
Danke

Heute werde ich da nix mehr schreiben morgen schauen wir mal :wink:

denk einfach dran das ist wie mit einem Koordinatensystem
schalte spalte 5 und reihe 3 ein und nur diese led wird leuchten.

nimm meinen Beispiel Befehl und setze den Bit 1 der den jeweiligen PIN repräsentiert

gezählt wird quasi rückwärts

B0000 0000 = pin 8,pin7,pin6,......

schau mal auf
http://mr.intermediadesign.de/2012/08/02/kapitel-3-1-eine-leuchtdiode-led-verwenden/
Kapitel 3.1.3

mir hatte das sehr gut geholfen :wink:

Um schaltpläne zu zeichnen benutze am besten Fritzing das ist für Anfänger ideal da man hier auch ein Steckbrett basteln kann

Gut Nacht und morgen sieht die Sache bestimmt schon besser aus :wink:

Bitte benutze ein Bildbearbeitungsprogramm und schneide den informationslosen Teil ( weissen Rand) des Bildes weg.

Ich erkenne nicht welche Transistoren NPN und welche PNP sind. Auf alle Fälle brauchen alle einen Basiswiderstand.

Ein NPN Transistor mit dem Emitter auf +5V geschaltet funktioniert nicht. Du brauchst einen PNP-Transistor dafür.

Ich glaube das sinnvollste ist Du schreibst Dir das Programm selbst. So lernst Du am meisten. Wie es funktionieren soll hab ich Dir bereits erklärt.

Grüße Uwe

Hallo,

Eure Anregungen sind supi, Bild werde ich noch ändern.

Will mal einfach berichten was sich in den letzten paar Stunden so zum Thema gemacht habe.
Mit ein wenig überlegen und nochmals schauen hab ich dann doch noch einen Sketch gefunden der genau das macht was ich mir erhofft habe. Ich benutze jetzt einfach den letzten Sketch aus dem Shift Out Tutorial. Statt grüner und roter LEDs sinds jetzt halt Reihen und Spalten. In dem Sketch hab ich relativ schnell gefunden wie welche LED wann angesteuert wird. Hab den Sketch jetzt soweit modifiziert, das ein kleiner Text und ein animiertes Smile ausgegeben wird.
Bei der Schaltung bin ich dann doch wieder zu den 16 NPN Transistoren umgestiegen. Es ist wesentlich einfacher alles auf HIGH zu setzen was gebraucht wird, als jedesmal zu überlegen, muss es jetzt LOW oder HIGH sein.
Hab die PNP - NPN Variante auch probiert, aber bei Hexadezimalzahlen ist es nicht so einfach die Pins richtig gegeneinander zu schalten.Der Windowsrechner is dabei ne riesige Hilfe gewesen.
Vielleicht ist es ja auch möglich binäre Eingaben zu machen. Kann ich da die Zahlen einfach austauschen? Werds gleich mal ausprobieren, wenns nicht so geht, werde ich hier sicher bald eine Antwort drauf bekommen.

Nochmals vielen Dank für eure Hilfe, ohne eure Anregungen wäre ich jetzt sicher noch nicht so weit.
Gut, das mit den Transistoren will mir aber immer noch nicht in den Kopf, da die Schaltung mit 8 X PNP- 8 X NPN wie auch mit 16 X NPN funktioniert. Die einzige für mich ersichtliche Schwierigkeit könnte sich vileicht dann einstellen wenn es darum geht Bibliotheken einzubinden, weil die wohl nicht für HIGH HIGH sondern für HIGH LOW geschrieben wurden. Aber soweit bin ich dann wohl noch lange nicht.
Vielleicht hat sich das ganze ja auch erledigt wenn meine MAX7219 endlich aus China hier eintreffen.

Jetzt werd ich mal schauen wie sich eine Laufschrift programmieren lässt, ob es mit dem Sketch überhaupt möglich ist.

Du kannst Zahlen zb als B01010101 als Binärzahle angeben. So mußt Du sie nicht in Hex oder Dezimal umrechnen.
Grüße Uwe

Hallo,

da bin ich mal wieder. Dachte mir, ich berichte wieder etwas über mein Tun und die damit verbundenen Fortschritte und die damit aufkommenden neuen Fragen.

Gestern hab ich mich in stundenlanger Fummelarbeit dabei gemacht den Breadboardaufbau auf Plattine zu bringen. Heute hab ich dann noch einige Stunden damit verbracht Kurzschlüsse, Kalte Lötstellen, fehlende und falsche Schaltungen auszumerzen. Der Aufwand hat sich gelohnt, ich sitze hier nun vor einer funktionierenden LED-Matrix. Hab da auch gleich mal ein Video von gemacht und ins Netz gestellt.
Hier der Link:8 X 8 LED Matrix mit 74HC959 - YouTube

Die Schaltung ist die selbe wie ich sie schon zuvor gepostet habe mit einer Ausnahme. Ich habe jetzt für jeden Transistor einen 1 KOhm Basiswiderstand eingebaut.
Gleich auch mal eine Frage zum löten, wie kann ich am effektivsten Lötrückstände zwischen den Anschlüssen entfernen? Momentan benutze ich ein Skalpell. Für die Zinnbrücken is es ja ideal, aber für überflüssiges Lötfett muss es doch was besseres geben.

Hier auch mal gleich noch der dazu verwendete modifizierte Sketch von "arduino.cc shift out Tutorial" oder auch nicht. Hab leider keinen Plan wie ich das Ding hier einfügen kann. Habs aber denke ich als Datei mit ran gehangen.

Was werde ich nun als nächstes tun? Ich will nun schauen, hoffe mit eurer Hilfe, wie ich den Sketch in eine übersichtlichere Form bekomme. Es sollte doch möglich sein mit wesentlich weniger Text aus zukommen. Es kann doch nicht sein, das ich für ne Laufschrift jede Spalte einzeln durchlaufen lassen muss. Na mal schauen.
Noch einen schönen Sonntag
LG aus Berlin

sketch_sep20a_HALLO.ino (62.3 KB)

littlemoppy:
Gleich auch mal eine Frage zum löten, wie kann ich am effektivsten Lötrückstände zwischen den Anschlüssen entfernen? Momentan benutze ich ein Skalpell. Für die Zinnbrücken is es ja ideal, aber für überflüssiges Lötfett muss es doch was besseres geben.

Indem Du gar kein Lötfett verwendest. Lötfett ist für Blechlötarbeiten aber nicht für Elektronik. Die Rückstände sind elektrisch leitend.
Das Lötzinn für Elektronik hat im Inneren eine Seele aus Flußmittel. Man kommt wirklich mit diesem Flussmittel aus. Dieses Flußmittel ist Elektronikkompatiebel und muß nicht entfernt werden. Wenn aus ästetischen Gründen die Lötstellen zB auf einer Platine blank sein sollen dann kanst Du es mit brennspiritus entfenen.

Auch würde ich Dir raten nach den Lötarbeiten allen drat und Lötzinnreste von der Arbeitsplatte zu entfernen da diese Kurzschlüsse auf der Platine und dem Arduino erzeugen wenn Du diese drauflegst.

Grüße Uwe

Hallo,

bin immernoch am rumwerkeln an diesem Thema. Es hat sich mal wieder ein Problem aufgetan mit welchem ich so nicht ganz zurecht komme. Ich versuche grad die Shiftout bibliothek mit einzubinden, zum probieren nutze ich den Beispielsketch:

/*
||
|| @author Alexander Brevig
|| @version 1.0
||
|| @inspiration http://arduino.cc/en/Tutorial/ShftOut11
||
*/

#include "ShiftRegister595.h"

byte latchPin = 8;  //Pin connected to ST_CP of 74HC595
byte clockPin = 12; //Pin connected to SH_CP of 74HC595
byte dataPin = 11;  //Pin connected to DS    of 74HC595

ShiftRegister595 shiftRegister595 = ShiftRegister595( latchPin , clockPin , dataPin );


void setup() {
}

void loop() {
  //count up routine
  for (int j = 0; j < 256; j++) {
    shiftRegister595.write(i);
    delay(1000);
  }
}

Zu meinem bedauern kommt immer eine Fehlermeldung welche ich nun auch nicht wirklich verstehe. Kann mir da bitte irgenwer helfen?
Hier die Fehlermeldung:

In file included from ShiftRegisterCounter.cpp:10:
C:\Program Files\arduino-1.0.1-windows\arduino-1.0.1\libraries\ShiftRegister/ShiftRegister595.h:11:22: error: WProgram.h: No such file or directory
In file included from C:\Program Files\arduino-1.0.1-windows\arduino-1.0.1\libraries\ShiftRegister/ShiftRegister595.h:12,
                 from ShiftRegisterCounter.cpp:10:
C:\Program Files\arduino-1.0.1-windows\arduino-1.0.1\libraries\ShiftRegister/ShiftRegister.h:15: error: 'byte' has not been declared
C:\Program Files\arduino-1.0.1-windows\arduino-1.0.1\libraries\ShiftRegister/ShiftRegister.h:17: error: 'byte' has not been declared
In file included from ShiftRegisterCounter.cpp:10:
C:\Program Files\arduino-1.0.1-windows\arduino-1.0.1\libraries\ShiftRegister/ShiftRegister595.h:16: error: expected `)' before 'userLatchPin'
C:\Program Files\arduino-1.0.1-windows\arduino-1.0.1\libraries\ShiftRegister/ShiftRegister595.h:18: error: 'byte' has not been declared
C:\Program Files\arduino-1.0.1-windows\arduino-1.0.1\libraries\ShiftRegister/ShiftRegister595.h:20: error: 'byte' has not been declared
C:\Program Files\arduino-1.0.1-windows\arduino-1.0.1\libraries\ShiftRegister/ShiftRegister595.h:23: error: 'byte' has not been declared
C:\Program Files\arduino-1.0.1-windows\arduino-1.0.1\libraries\ShiftRegister/ShiftRegister595.h:24: error: 'byte' does not name a type
C:\Program Files\arduino-1.0.1-windows\arduino-1.0.1\libraries\ShiftRegister/ShiftRegister595.h:25: error: 'byte' does not name a type
C:\Program Files\arduino-1.0.1-windows\arduino-1.0.1\libraries\ShiftRegister/ShiftRegister595.h:26: error: 'byte' does not name a type
C:\Program Files\arduino-1.0.1-windows\arduino-1.0.1\libraries\ShiftRegister/ShiftRegister595.h:27: error: 'byte' does not name a type
ShiftRegisterCounter.pde:-1: error: no matching function for call to 'ShiftRegister595::ShiftRegister595(byte&, byte&, byte&)'
C:\Program Files\arduino-1.0.1-windows\arduino-1.0.1\libraries\ShiftRegister/ShiftRegister595.h:14: note: candidates are: ShiftRegister595::ShiftRegister595()
C:\Program Files\arduino-1.0.1-windows\arduino-1.0.1\libraries\ShiftRegister/ShiftRegister595.h:14: note:                 ShiftRegister595::ShiftRegister595(const ShiftRegister595&)
ShiftRegisterCounter.cpp: In function 'void loop()':
ShiftRegisterCounter.pde:-1: error: 'i' was not declared in this scope

@Uwe

danke für die Tips, das mit dem Lötfett wusste ich nicht, dachte immer das man das braucht. Ja man lernt halt nie aus. Werd es mal versuchen ganz ohne Lötfett auszukommen. Das mit dem Spiritus leuchtet ein. Da bleibt ja auch nix übrig von. Super Tip, werd ich testen. Ja meine Ordnung auf dem Tisch is wohl legendär, aber es is immer so schwer erst aufzuräumen und dann einzuschalten.

LG aus Berlin
Daniel

C:\Program Files\arduino-1.0.1-windows\arduino-1.0.1\libraries\ShiftRegister/ShiftRegister595.h:11:22: error: WProgram.h: No such file or directory

Heißt daß die Bibliothek für die IDE Versionnen bis 0023 geschrieben ist. Ab version 1.0.0 braucht es statt WProgram.h eine andere Bibliothek.

http://arduino.cc/en/Main/ReleaseNotes:

  • The WProgram.h file, which provides declarations for the Arduino API,
    has been renamed to Arduino.h. To create a library that will work in
    both Arduino 0022 and Arduino 1.0, you can use an #ifdef that checks
    for the ARDUINO constant, which was 22 and is now 100. For example:

#if defined(ARDUINO) && ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif

Grüße Uwe

Hallo,

danke Uwe, hab die zwei Shiftregister-Bibliotheken dahingehend angepasst. So erklärt hab ichs gleich verstanden. Den Text hatte ich zwar auch gelesen, aber nicht wirklich verstanden auf was es da ankommt, gut, vermutet hatte ich es, aber im Netz eine Bibliothek für 1.0.1 zu finden war nicht der richtige Ansatz und deshalb ergebnislos. Manchmal brauchts nicht nur die richtigen Fragen.

Fehlermeldung is jetzt weg, Sketch lässt sich laden, funktioniert nur leider nicht. Ich vermute mal, das es an meinem Aufbau liegt, weil ja bei mir Rows and Lines auf High sein müssen um zu leuchten. Vielleicht kannst du mir ja sagen ob ich mit meiner Vermutung irgendwo richtig liege.

LG aus Berlin
Daniel

Ich hab mich verirrt; welche Schaltung hast Du jetzt?
Grüße Uwe

Hallo Uwe,

Ich schalte die Reihen und Spalten mit NPN Transistoren, die Spalten sind auf 5 V und die Reihen auf Ground. Mit den Transistoren unterbreche ich jeweils die Stromkreise. Somit muss ich, wenn ich den Kreis schließen will die jeweiligen Pins vom 74HC595 auf HIGH schalten , im gegensatz zu der von dir vorgeschlagenen Variante mit NPN und PNP wo ja HIGH LOW geschalten wird um eine bestimmte LED anzusteuern.
Hier nochmal eine vereinfachte Version der Schaltung. Komplett is sie ja schon ein paar Posts zuvor vorhanden.

Bitte hab etwas nachsicht mit den Stromrichtungen, bin nich sicher ob sie richtig sind. Wenn nich, Transis und LEDs in Gedanken umdrehen.

LG aus Berlin
Daniel

Bei Q3 und Q4 mußt Du Emittor und Collektor umtauschen. Die LEd umpolen und Q1 und Q2 funktionieren so nicht da müssen PNP hin.

Betrachten wir mal Q1
Es muß ein Strom zwischen Basis und Emittor fließen damit ein Strom zwischen Collektor und emitor fließt. Der Basisstrom fleißt wenn die Basis eine 0,7V höhere Spannung hat als der Emittor.
Wenn die Spannung am Ausgang des 595 LOW ist dann passiert nichts.
Wenn die Spannung am Ausgang des 595 High wird dann ist im ersten Moment die Spannung am Emittor Masse. Dann stellt sich ein Emittorstrom ein und die Spannung am LED und am Vorwiderstand R1 der LED erhöht sich. Die Spannung am kann aber nicht höher als die Spannung an der Basis minus 0,7V werden da sonst der Transistor wieder sperrt. Der Spannungsabfall am Basiswiderstand erniedrigt auch noch die Basisspannung. Ergebnis ist daß der Transistor sicher nicht in Sättigung geht, es aknn sein daß die Spannung am LEd nicht einmal so hoch wird daß diese ordentlich leuchtet.

Grüße Uwe

Hallo Uwe,

jetzt stellt sich mir hier aber die Frage, warum die Schaltung trotzdem funktioniert obwohl sie so nicht funktionieren dürfte? Wie in meinem Video zuvor zu sehen ist, kann von kaum leuchten nicht die rede sein und die Schaltung ist genau die selbe. Alles NPN. Zuvor hatte ich auf dem Steckbrett alle Varianten getestet, Bei der Schaltung mit den PNP und NPN war der unterschied, das die Pins zu den PNP auf LOW stehen musste um einen Strom fließen zu lassen. Die Schaltung hab ich dabei nicht verändert, nur die Transis umgesteckt und auch die PNPs mit den NPNs getauscht. Sogar da gings. Nur eben die Pins mussten wieder umgeschrieben werden. Was auf HIGH war musste auf LOW und was auf LOW war auf HIGH. Das ist doch eigentlich alles unmöglich. Von 3 Schaltungen sollte nur eine funktionieren, aber sie tuns alle 3.

LG Daniel

Hier nochmal das Video: