Hallöchen
Kann man mit einem PCF8574P eine Led dimmen, wenn ja wie?
Habe noch nichts dazu gefunden!
Einschalten mache ich so:
Code:I2CTWI_transmitByte(pcf, 0b00000001);
mfG
Philip![]()
Hallöchen
Kann man mit einem PCF8574P eine Led dimmen, wenn ja wie?
Habe noch nichts dazu gefunden!
Einschalten mache ich so:
Code:I2CTWI_transmitByte(pcf, 0b00000001);
mfG
Philip![]()
Hallo,
nein, das geht leider nicht.
Der PCF8574 ist ein I/O-Expander, d.h. er kennt nur die Zustände Ein und Aus.
Du könntest allerdings einen PCF8591 verwenden, der hat einen Port, der als D/A-Wandler verwendet wird --> du kannst die Spannung einstellen
lg
Michi
Mann könnte aber auch alle 8 Pin mit Widerständen versehen und diese auf der LED Seite parallel schalten und so je nach gesetztem Pin Pin's den Gesamt R für die LED einstellen. Dazu muss man die Widerstände natürlich so berechnen das niemals der für die LED maximale Strom überschritten werden kann. Also alle 8 Ein (parallel) zusammen nur 20 mA zulassen. Je weniger parallel liegen, je dunkler wird die LED.
Gruß Richard
@Richard Das ist ja dann nur Port verschwendung....
@RobotMichi Gut, dass kommt noch auf meine BestelllisteNur habe ich mit einem D/A Wandler noch keine erfahrung
Wie sehe dann z.B. so ein Code aus?
Gibs denn auch einen mit mehreren D/A-Ports ??der hat einen Port, der als D/A-Wandler verwendet wird
mfG
Philip
Hallo
Wenn du mehrere LEDs dimmen willst, wie wär's denn dann mit Charlieplexing?
https://www.roboternetz.de/community...l=1#post443747
https://www.roboternetz.de/community...l=1#post371657
Gruß
mic
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
> Gibs denn auch einen mit mehreren D/A-Ports ??
Klar gibts da welche mit mehreren Kanälen aber die Gehäuse werden Dir nicht gefallen (SMD)
z.B.
TLC59116
TLC5922
oder
MAX6965
etc.
Alternative wäre einen Mikrocontroller entsprechend zu programmieren.
MfG,
SlyD
EDIT:
Den hier: http://focus.ti.com/lit/ds/symlink/tlc5940.pdf
Gibts auch in DIP --> TLC5940NT
Der hat aber kein I2C Bus Interface sondern SPI.
Kann man aber in Software emulieren - oder an die RP6-M32 Erweiterung ranhängen.
Geändert von SlyD (09.07.2011 um 17:51 Uhr)
Könnte nicht auch ein Atmega 8 die aufgabe übernehmen?
-> aber wie sage ich den atmega, die helligkeit, die die m32 bestimmt?
Hallo,
also man kann die LED auch dimmen, indem man den Pin am Portexpander schnell ein- und ausschaltet per I2C. Das müsste aber "häufig genug" (ca >25x pro Sekunde) geschehen, damit es für das menschliche Auge nicht flackert. Klarer Nachteil ist natürlich, dass bei dieser Variante dein Mikrocontroller fast nur noch damit beschäftigt ist, die Befehle über I2C zu senden. Wenn der µC noch nebenher was anderes machen soll, dann kostet das ziemlich Performance.
Hast du wirklich keinen PWM-Ausgang mehr frei am Mikrocontroller? Und wie viele LEDs möchtest du insgesamt ansteuern?Also nur eine?Kann man mit einem PCF8574P eine Led dimmen, wenn ja wie?
Grüße, Bernhard
Stimmt natürlich aber mit diesem Baustein halt eine realisierbare Lösung. Ein echtes PWM Signal über I²C Senden wird eher weniger gut klappen. Aber es gibt ziemlich viele I²C Bausteine, möglich das es auch welche mit PWM Ausgängen gibt. Aber das war hier ja nicht die Frage.Außerdem, so ein DAC besteht letztendlich auch nur aus einem R2R Netzwerk hat also intern noch viel mehr "Ausgänge".
Bei den Preisen und der möglichen Anzahl der Ausgänge ist "Verschwendung" relativ.
Gruß Richard
Wieso, kann man nicht einfach nur "20" Senden und der atmega macht nur 20% der Leuchtkraft??Ein echtes PWM Signal über I²C Senden wird eher weniger gut klappen.
mfG
Philip
Lesezeichen