Hallo, ich habe an einem Raspberry Pi ein blaues LCD 16x2 Display, welche mit 3V3 läuft. Zur Beleuchtung ist eine einzelne weiße Led verbaut. Auf der Rückseite der Platine befindet sich bereits ein verbauter SMD Vorwiderstand mit 200 Ohm. Nun habe ich derzeit das ganze so gelöst, dass ich einen NPN Transitor an der Kathode der LED angeschlossen haben. An der Basis des NPN Transistors ist ein 1k Basis Widerstand verbaut. Am Emitter liegt Ground an und der Kollektor geht zum Anschluss der Kathode. Das ganze funktioniert soweit ganz gut, hat aber einen Nebeneffekt. Der Raspberry Pi hat soweit ich das sehe an den GPIOs einen Pegel von 3,3V, wenn der GPIO nicht initialisiert wurde. Das hat zur folge, dass das Display beleuchtet wird, auch wenn ich das nicht möchte (Programm läuft nicht). Was kann man da nun am besten gegen machen? Ist es okay, wenn ich einen 100k Widerstand vom Emitter an die Basis lege? Oder sollte ich da ggf. einen geringeren Wert nehmen. Es handelt sich um einen Standard NPN Transistor BC337
Legt der RPi die Pins fest auf 3V3 oder kommen die von einem Pullup? Bei festen 3V3 hilft deine Idee nicht, einfachste Lösung wäre dann einen Inverter vorzuschalten (simpler Transistor-Inverter).
Laie schrieb: > Der > Raspberry Pi hat soweit ich das sehe an den GPIOs einen Pegel von 3,3V, > wenn der GPIO nicht initialisiert wurde. Das wundert mich. Bei den meisten Prozessoren sind die I/O-Pins nach einem Power-On-Reset als Eingänge definiert, stellen also weder Stromquellen noch Stromsenken dar. Eventuell aktive Pull-Up Widerstände eines Eingangs werden wohl nicht genug Strom liefern um den BC337 durchzusteuern. Vermutlich gibt es also doch eine Initialisierungsroutine, die daraus Ausgänge macht und eine 1 hineinschreibt. Miß doch mal die Spannung an dem mit dem 1k-Widerstand belasteten I/O-Pin. Wenn da nahezu 3V sind, wird der Ausgang aktiv sein, und die Belastung mit 100k wird nichts nützen. Wenn aber nur der interne Pull-Up-Widerstand eines Eingangs für die positive Spannung sorgt, sollte die Spannung des mit 1k und Ube des Transistors belasteten Pins eher bei 1V oder weniger liegen. Dann könnte ein zusätzlicher Widerstand z.B. 1k zwischen B und E helfen. Welches Betriebsystem bootest du?
Pandora schrieb: > Bei festen 3V3 hilft deine Idee nicht, einfachste Lösung wäre dann einen > Inverter vorzuschalten (simpler Transistor-Inverter). Oder ein Codeschnipsel in die Boot-Sequenz einzufügen, das den Pin als Ausgang definiert und eine 0 hineinschreibt. Das sollte ohne jegliche Änderung der Schaltung immer funktionieren.
>an den GPIOs einen Pegel von 3,3V, >wenn der GPIO nicht initialisiert wurde. Der Raspi initialisiert die UART Pins beim hochfahren. Hast du einen von denen erwischt?
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.