Indicator LED voor "active low" en "active high"

Beste,

Ik wil een paar I/O poorten gebruiken om rode status LEDs aan te sturen. Enkele I/O poorten zijn "active high" , andere zijn "active low". Bijkomend probleem is dat de datasheet niet vermeldt wat uit die I/O poorten vloeit, noch wat de "high" en "low" niveau's zijn (het circuit is gevoed met een 3.3V stabilisator, en heeft intern een 1.8V stabilisator voor eigen werking).

Voor een "active high" is de oplossing triviaal: Vcc (3.3VDC) naar stroombegrenzende weerstand (1kΩ voor ~2.7mA) naar LED naar NPN transistor naar GND, en I/O pin via basisweerstand -- bvb 10kΩ -- verbonden met basis van de NPN transistor.

Voor een "active low" moet de LED branden als de I/O poort laag is. Kan ik dan gewoon het "active high" circuit gebruiken door de NPN transistor te vervangen door een PNP transistor?

Het is al een poos geleden dat ik nog met transistoren heb gewerkt :)

Ja, je kunt de schakeling gewoon 'spiegelen' (met led+R natuurlijk tussen tor en ground).

Tiens... die active low schijnt niet te werken.

Ik heb de emittor van een PNP transistor verbonden aan +3.3VDC en de collector "ziet" een serieweerstand en een LED. Wat ik wil, is dat de LED oplicht als het ingangssignaal laag is (bvb GND), en dat de LED dooft als het ingangssignaal hoog is (bvb +3.3VDC).

Kan dit überhaupt met maar één PNP transistor, of moet ik een volledige invertorschakeling bouwen (cascade van 2 transistoren)?

OK, ik heb de oorzaak gevonden: te grote basisweerstand.

Nu werken beide schakelingen perfect, met een 10kΩ basisweerstand en een 6.8kΩ serieweerstand met de LED. Hierdoor beperk ik de stroom doorheen de LEDs tot 250µA.

Active high: Vcc - LED - 6.8kΩ - NPN transistor - GND. LED brandt als basis via 10kΩ naar GND.

Active low: Vcc - PNP transistor - LED - 6.8kΩ - GND. LED brandt als basis via 10kΩ naar Vcc.

Voor beide schakelingen is Vcc = 3.3VDC.