-
Thread
Ports des PCF8574
habe ich was dazu gefunden. Es gibt (magische) Zahlen, mit denen ich bestimmte Ausgänge am Port des PCF8574 einzeln schalten kann. Habe es programmiert und es geht tatsächlich. achim
> Es gibt Zahlen, mit denen ich bestimmte Ausgänge am > Port des PCF8574 einzeln schalten kann. Das interessiert mich, wie geht das? Ist das Datenblatt etwa unvollständig?
-
Thread
PCF8574 nachfolger
PCF8574A MFG Falk
Der PCF8574A ist kein Nachfolger, sondern belegt einen anderen I2C-Adressbereich als der PCF8574.
-
Thread
Programmlogik bei Einsatz von zwei PCF8574
David schrieb im Beitrag #5502057: > Gibt es keine elegantere Lösung beide PCF8574 anzusteuern? Setze einfach eine Ebene tiefer an und frage dich: Gibt es keine elegantere Lösung, um 16 Taster mit PCF8574 abzufragen? 16 Tasten kannst du als 4x4 Matrix anordnen. Dann brauchst du nur einen einzigen PCF8574 für die Abfrage und brauchst dir keinen Gedanken zu machen, wie du zwei davon eleganter ansteuern kannst.
-
Thread
32 Kanal Relaiskarte (seriell)
eine DIL bauform bevorzuge. den atmega128 gibt es ja nur als smd form oder? >@hans kann ich den PCF8574 über den tiny direkt ansteuern? und wie funktioniert die programmierung des PCF8574? was genau ist der unterschied zum HC595?
>bevorzuge. den atmega128 gibt es ja nur als smd form oder? Ja, nur SMD. >kann ich den PCF8574 über den tiny direkt ansteuern? Ja. [[Port-Expander PCF8574]]. Für ein paar Relais ist ein 74HC595 aber einfacher und billiger. MFG Falk
-
Thread
IIC Bus, Knöpche
gemacht, mit 5V versorgt, 2 Taster die bei drücken die 5V auf den MC14504BCP geben der über einen PCF8574P dann an den IIC Bus geht. Wie mache ich das dann mit den Adressen, gibt es Taster mit Adressen oder brauche ich dann für jeden Tasster einen PCF8574P? Wenn ihr mir sagt das soetwas humbug
, mit 5V versorgt, 2 > Taster die bei drücken die 5V auf den MC14504BCP geben der über einen > PCF8574P dann an den IIC Bus geht. Wenn Dein MC zu wenig Anschlüsse hat, kannst Du ihn über I2C oder SPI erweitern. PCF8574 geht (8 Tasten direkt oder 16 Tasten als Matrix). Was aber der 4504 dabei
-
Thread
I²C mit ATmega 16 und PCF 8574A
[[Port-Expander PCF8574]]
" [C] void pcf8574_init (void) { /*set bus speed*/ TWBR = 0x10; } [/C] ADD: Gemäß http://www.mikrocontroller.net/articles/AVR_TWI#Aufbau_des_TWI und TWI Abschnitt im AVR Datenblatt, könnte F_CPU 3,600 MHz
-
Thread
Bascom LCD an I2C AN118
allen das gleiche. Die Hardware scheint zu funktioneren, Messungen an den Portausgängen des PCF8574A zeigen aktivität. Was mache ich verkehrt, oder stimmt irgendetwas mit der Library nicht? Gruß Karl-Walter
sondern nur das Demoprogramm aus der AN118 von MCS und dort die Adresse von &H40 auf &H70 für den PCF8574A angepasst. Gruß Karl-Walter
-
Thread
Am PC mehr als 8 Ein- bzw. Ausgänge schalten und lesen
Eine andere Möglichkeit wäre die Realisierung über I2C-Bus. Dazu könntest du den PCF8574A und PCF8574B nehmen. Jeder hat 3 Bits, um die eigene Adresse einzustellen: Das heisst bei Verwendung von A und B Typ kannst du 16 von diesen ICs an einem Bus betreiben. Macht 128 Ein- und Ausgänge
das sind ISA-Boards. Also nichts für supermoderne PCs. IIC-Bus. Ich habe mehrfach erfolgreich PCF8574 am LPT-Port betrieben. Mit dem entsprechenden Adapter kann man 4 seperate Busse an einem LPT betreiben. Jeder PCF8574 hat 8 I/Os. Relaistreiber sind aber wohl auch hier nötig. Das IC kann zwar 25mA
-
Thread
Pcf8574 datenblatt ohne infos über register?
will. Wie könnte ich dies testen, denn wenn der nix gescheites sendet dann nützt mir der beste PCF8574 nix *g*
[[Port-Expander PCF8574]]
-
Thread
Wozu dient solch eine #ifndef -Anweisung?
[c] #ifndef _PCF8574_H #define _PCF8574_H #include <avr/io.h> void pcf8574_init (void); void pcf8574_send_stop (void); #endif [/c] ...wenn doch jede .c Datei einzeln kompiliert wird? Wird das "definiert-sein
Bibliothek. In einem von einem Anwender gezimmerten Headerfile hat also ein Bezeichner wie _PCF8574_H nichts verloren. Stattdessen wählt man besser die (offenbar zu einfach anmutende :) Variante PCF8574_H.
-
Thread
-
Thread
I2C programmierung lernen
sind I2C Port Expander. zb sowas hier http://www.mikrocontroller.net/articles/Port-Expander_PCF8574
Aber zusammenfassend: 1. PCF8574 mit nachfolgend 2x L293 wäre zum schalten der Relais möglich(?) bzw. 2. AVR mit nachfolgend 2x L293 als Alternative? ZU 1. Dann müsste ich mehrere PCF8574 zusammenhängen um auf die Anzahl
-
Thread
PCF8574 Datenblatt
aufgebaut habe. Dort wird ein PCF8574AP verwendet, welcher nicht mehr lieferbar ist. Ich habe stattdessen den PCF8574AN eingebaut. Leider läuft das Board nicht und ich bin auf der Fehlersuche. Wir haben mittlerweile bereits 2 Boards
Unterschiedliche Hersteller verwenden unterschiedliche Codierungen für die Gehäusebauformen. PCF8574AP ist bei NXP im Kunststoff-DIL-Gehäuse untergebracht, und bei TI heißt das gleiche Bauteil im gleichen Gehäuse PCF8574AN.
-
Thread
Lichtsteuerung über i2c - ULN2803A - S12-100
fehl am Platz. Ein ULN2801A wäre deutlich flexibler. Aber auch der braucht mehr Steuerstrom als ein PCF8574 bei H-Pegel dauerhaft liefert. Der PCF8574 liefert bei H-Pegel nur kurzzeitig wären des internen Schreibpulses Strom, d.h. du kannst praktisch nur den lowside FET als Shunt für den Strom vom Vorwiderstand
man nehmen. Ansteuerung siehe Artikel > https://www.mikrocontroller.net/articles/Port-Expander_PCF8574#Anwendung In dem Plan bereitet mir R2 Bauchschmerzen. Wenn dort V+ (Relais) größer VCC ist, wird der Ausgang des PCF8574 überfahren (im pdf Seite 8 Fig.7) und dessen Versorgung angehoben. Der
-
Thread
I2C Display Problem
steht auf dem Portexpander IC drauf? mit oder ohne A. Die Adressen sind dann unterschiedlich. PCF8574->0x40...4E; PCF8574A->0x70...7E ciao gustav
ENA R|W RS ; A0,A1,A2 -> left open e.g =H -> 3F to be added to portdaptor's address e.g. PCF8574->0x40...4E; PCF8574A->0x70...7E Die Steuerbits, Enable und RS sind im Achtbitformat gekapselt zu senden. R/W ist standardmäßig auf Low. Denn eine "Rückwärtsübertragung" ist beim Portadater nicht
-
Thread
PCF8574 mit Atmega8 ansteuern - OHNE TWI
, welches an die Adresse 0x20 (die Adressleitungen des PCF8574 sind alle auf LOW) ein Byte 0x55 sendet. Jedoch bleiben die LEDs alle an. Ich habe die Daten- und die Clock-Leitungen mit einem Logic-Analyzer aufenommen, das Ergebnis und der C-Code sind im Anhang
geschrieben, welches an die Adresse 0x20 (die Adressleitungen des Ist die Adresse nicht eher 0x40 beim PCF8574? [[Port-Expander PCF8574]] Und Vorsicht, der PCF8574 *A* hat die Adresse 0x70. >Nach der Adresse und dem R/W-Bit erfolgt kein Acknowledge vom Slave. Klar, falsche Adresse. >Die Zeiten
-
Thread
einfachstmögliche Fehlerbehandlung I2C gesucht
hochgeht müsste reichen. > > Darum geht es nicht. Angenommen Du machst ein Reset während ein PCF8574 > gerade gelesen wird, dessen 8 Eingänge auf low liegen, d.h. der zieht > SDA 8 SCL-Takte lang auf low. ich sehe grad das "Problem" nicht, wer soll denn nun abstürzen? der PCF8574 oder der Atmel? Wenn ich feststellen würde der PCF8574 hängt sich auf (was ich noch NIE sah) würde ich den PCF8574 resetten, d.h. den seine VCC an einen Atmel Port hängen und toggeln dann sollte der PCF8574 wieder resettet sein.
-
Thread
Mehrere BCD-Codierschalter pinsparend abfragen
der PCF8574 selbstständig alles auf eins (quasi als inerne Pullups) setzt, sobald man eine Leseaktion ankündigt, es also gar nicht möglich ist, gleichzeitig 4 Ports als Eingänge, die anderen 4 als Ausgänge zu
Warum nimmst Du nicht einfach 2 * PCF8574 und sparst Dir die 16 Dioden ? Peter
-
Thread
Suche Schieberegister mit 6 Ausgängen und 2 Eingängen, ähnlich 74HCxxx
Hallo! PCF 8574.
20 mA sind nahe der absoluten Grenze des PCF 8574.
-
Thread
TWI-Master für ATMEGA in C (ohne TWI-Start/Stop, ACK/NACK)
Ergänzungen vornehmen - und die Arbeit läuft fast von selbst. Als Beispiel: Um ein "0x55" an einen PCF8574 mit der TWI-Adresse "0x40" zu senden: twi_buffer[0] = 0x40; twi_buffer[1] = 0x55; TWI_MA_write(twi_buffer, 2); Um den Status des PCF8574 anschließend zur Kontrolle wieder auszulesen: TWI_MA_read
Sicht des Anwenders identisch mit dem des TWI-Masters. Als Beispiel: Um ein "0x55" an einen PCF8574 mit der TWI-Adresse "0x40" zu senden: twi_buffer[0] = 0x40; twi_buffer[1] = 0x55; USI_MA_write(twi_buffer, 2); Um den Status des PCF8574 anschließend zur Kontrolle wieder auszulesen: USI_MA_read
-
Thread
7 Segment Anzeige auf verschiedenen Ports
Hänge deine Anzeige an je Ziffer einen PCF-8574. Dann schick den die Bit-Folge aus deinen Array und das war's. Geht sogar ohne Array wenn du eine Sub benutzt. Sub (Text as string, Stelle as integer) x = bit_array if Text = "1" then
erfolgen. Da nur dieser Code darauf laufen soll ist die Grösse des Codes eigentlich egal. Einen PCF8574 benutze ich bereits an einem Display mit 2x16
-
Thread
Oled Display Arduino Zeilen fehlen
Philipp K. schrieb im Beitrag #4140620: > naja du brauchst ja dann eher eine Lib die dann über den PCF8574 > indirekt anfährt oder klappt das auch schon alleine? > > Welches OLED ? > > U8G -> i2c -> ssd1306 ? > U8G -> i2c -> PCF8574 -> SSD1306 ? also noch mal RTC3231 + AT24C32 EEPROM und
arduino ohne weiteres funktioniert U8G -> i2c -> ssd1306 ! am PCF8574 hängen nur Tasten und ich frage auch nur in ab Tasten eben. und wenn ich PCF8574 abklemme gehts, ergo muss es ein Problem mit U8G sein der den PCF8574 als LCD Treiber identifiziert?
-
Thread
Brauche Eagle Hilfe / Elektroniker
überall mit konstanter Spannung (12V, 24V) arbeitet. Das Schaltungskonzept für die Eingänge der PCF8574 ist unbrauchbar, denn die Dinger haben einen internen Pull-Up Widerstand. Also muss der Optokoppler, so man ihn denn verwendet, nach GND schalten. https://www.mikrocontroller.net/articles/Port-Expander_PCF8574
dem PCF8574 Pin und GND geschaltet werden, nicht wie jetzt zwischen 3V3 und Eingangspin.
-
Thread
PCF8574 TI vs. NXP
habe ich dann festgestellt das auf dem Prototyp ein PCF8574AN (TI) und auf der nicht funktionierenden LP ein PCF8574AP (NXP) verbaut war. Der Test eines NXP-ICs auf dem Prototype hatte ebenfalls ein negatives Ergebnis. Nach Tausch der NXP-ICs durch TI-ICs
wenn ich mich nicht irre, habe diese Portexpander auch schon verwendet gibt es die PCF8574er und die PCF8574-A. Egal ob von TI oder NXP, hab von beiden schon verwendet. Die Abweichung zwischen den beiden ist die Adressierung. Der A-Typ hat einen anderen Adressbereich als der nicht A
-
Thread
I2C: verschiedene Geschwindigkeit
SCL in so einem Fall auf low, um den Master zu bremsen. (Nach der Antwort von Dieter gehört das PCF8574 offenbar aber nicht dazu) Gruß, DetlevT
Nimm noch den PCA9554, den gibt's auch bei Reichelt. Der hat in einer meiner Schaltungen auch den PCF8574 ersetzt :)
-
Thread
LCD am I2C Bus
Auf welche Adresse ist der PCF8574 mit den 3 Jumpern eingestellt? Und welche Adresse verwendest Du in der Software?
{ //write the high nibble first... char nibble = mask | ((data & 0xF0) >> 4); write_to_pcf8574(nibble); //...then the low nibble nibble = mask | (data & 0x0F); write_to_pcf8574(nibble); } void write_command(char data) { write_byte(data, COMMAND_MASK); } void write_data
-
Thread
2 Netzteile - gemeinsame Masse?
IO-Expander verwenden, > der 5V hat ??? wieso, ESP 3,3V I2C -> Pegelwandler 3,3/5V -> I2C PCF8574(a) mit 5V -> Relaisplatine von den PCF8574(a) können je 8 Stk. addressiert werden
Hallo, > Bodo R. schrieb im Beitrag #5219731: > Wie auch immer, den PCF8574(a) schau ich mir auf jeden Fall einmal > genauer an. Momentan ist ein MCP23017 verbaut. Und da geht der I2C nur, > wenn ich einen Pegelwandler verwende (3,3V auf 5V). Eventuell geht der > PCF8574
-
Thread
Int beim PCF 8574
Hallo Der I2C-IC vom Typ PCF8574 hat am Pin 13 die Bezeichnung Int. Habe mir das Datenblatt angesehen und im Netz gesucht. Leider findet man fast garnichts dazu. Meistens nur Hinweise auf Abschluss einer Messung oder Ausgang. Wozu
Netz gesucht. Leider findet man fast >garnichts dazu. Kann nicht sein. In jedem Datenblatt vom PCF8574 ist ein Abschnitt 'Interrupt output' enthalten. Im aktuellen von NXP z.B. auf S.10. MfG Spess
-
Thread
Meine erste Platine - bitte um Feedback
eingebaut? Habe beim Googeln 2 Varianten gefunden: https://hackadaycom.files.wordpress.com/2008/12/pcf8574.png https://startingelectronics.org/beginners/start-electronics-now/tut18-two-wire-arduino-knight-rider/two-wire-knight-rider-circuit-s.png welche ist richtig?
Hallo Mir ist auch etwas aufgefallen. Es sind 2 I2C-Expander(PCF8574) verbaut und hängen am gleichen I2C-Bus. Hier muss dann aber die Chip-Hardware-Adresse (A2,A1,A0) unterschiedlich sein, wennst du sie getrennt ansprechen möchtest. mfg Mike
-
Thread
PCF8574 und ULN 2803 integriert als ein Baustein?
sinnvoll, da der ULN ein Leistungsbaustein ist und oft eine höhere Betriebstemperatur hat als dem PCF8574 gut tut. Da der PCF8574 Open-Collektor Ausgänge hat, müsste auch noch ein Inverter wie der 74HC540 dazwischen.
dafür ein besserer Transistor gut wäre: > TPIC6B595 Damit bekommst du die Input-Funktion des PCF8574 nicht hin
-
Thread
Led dimmen mit MOSFET an ULN2803 funktioniert nicht richtig. Warum?
Widerstände zwischen PCF8574 und ULN2803. Der PCF8574 hat kein High-Impedance wenn ich das im Datenblatt so richtig gesehen habe. Gibt es sonst noch andere Lösungsvorschläge? Wie schaltet man am besten ein PWM Signal?
sein. > Ja die Dioden sind so gepolt. > Wie hoch ist eigentlich die Betriebsspannung des PCF8574? Im Datenblatt > sind 2,5..6V angegeben. Nur 2,5V abzüglich der Diodenspannung könnte > etwas zu wenig sein. Die Betriebsspannung des PCF8574 ist in meinem Fall 5V. > > Wie hoch ist die
-
Thread
PCF8574 Ausgänge invertieren
Wie wärs mit dem TPIC6B595 ? Damit hast Du auch gleich den PCF8574 eingespart und das SPI ist auch einfacher als I2C. Peter
dafür Abhilfe zu schaffen sind parallel zu der Spule sogenannte Feilaufdioden zuschalten. Der PCF8574 hat eine besondere Eigenschaft. Im High Zustand kann er keinen Strom Treiben! Um eine Leuchtdiode direkt an den PCF8574 anzuschließen, ist die Kathode an den PCF anzulöten und die Anode mit einem
-
Thread
LCD an ATmega644 (später ATmega8) mittels TWI/I2C (Anfängergerecht)
habe ich ja bereits die Komponenten. Im Prototyp den meine Gruppe dann vorstellen wird, wird der PCF8574 zwar auf einer eigenen Lochrasterplatine zusammen mit den anderen Komponenten verbaut sein, aber die Ansteuerung sollte ja die selbe bleiben.
würdest... was macht gerne mal Ärger was ich nicht bedacht haben könnte? Wo ist dein Beispiel mit PCF8574? In dem Projekt hier ist nur was mit 24LC02, ein EEPROM. Falsches Projekt erwischt?
-
Thread
PCF8563 Uhrzeit läuft nicht weiter.
(PCF8574A_WRITE); i2c_write(0x00); i2c_write(0b00000000); i2c_write(0b00010001); i2c_stop(); i2c_start(PCF8574A_WRITE); i2c_write(0x0E); i2c_write(0b10000010); i2c_stop(); return 0; } void getTime(void) { int ret=0; int sekunde; i2c_start_wait(PCF8574A_WRITE); // set device address and write mode i2c_write(0x02); // write address = 5 i2c_rep_start(PCF8574A_READ); // set device address and read
-
Thread
Standard LCD über nur 3 Drähte
vielleicht doch eher nen Schieberegister. Für die Ansteuerung im 4Bit Modus reicht jedenfalls ein PCF8574 8Bit Portexpander. MfG, Dominik S. Herwald http://www.dsh-elektronik.de/
@Dominik, Z.B. Segor: 74HC164: 0,45 74HC595: 0,60 PCF8574: 3,30 ! Wenn man da also noch weitere Aus- oder Eingänge ranpappen will, gehts mit dem PCF8574 ganz schön ins Geld. Peter
-
Thread
AVR32 I2C Problem - Kein ACK vom PCF8574
Nutzen Sie einen PCF8574 oder PCF8574A?
0x20 -0x27. Sieh mal im aktuellen Datenblatt auf S.5: http://www.nxp.com/documents/data_sheet/PCF8574_PCF8574A.pdf MfG Spess
-
Thread
24 Relais über 3 I²C-Portexpander
Guten Tag, Können 24 Relais über 3 I²C-Portexpander zum Beispiel PCF8574 schalten ? wenn ja. wie werden die mit Atmega verbunden und wie wird das Programm aussehen? MfG SB
http://www.mikrocontroller.net/articles/Port-Expander_PCF8574
-
Thread
Codevision CodeWizardAVR TWI Probleme
TWI_MASTER_WIEN_bm; twi->MASTER.STATUS = TWI_MASTER_BUSSTATE_IDLE_gc; } PCF-Schreiben void PCF8574_send_byte(TWI_t *twi, char Adresse, char byte) { twi->MASTER.ADDR = (Adresse << 1) + 0; delay_us(500); twi->MASTER.DATA = byte; } Main aufruf PCF8574_send_byte(&TWIC, 0x38, 0x55); delay_ms(500); PCF8574_send_byte(&TWIC, 0x38, 0xAA); delay_ms(500); Habe ich wo nen Fehler?
-
Thread
PIC18F2550 und I²C
SSPCON1, SSPEN ; MSSP-Modul enable ;**Schreibe Wert 5 auf Speicher-Adresse 3 in PCF8574AP**************************** call i2c_on ; Bus aktiv movlw B'01110000' ; 0 111 '000' 0 call i2c_tx ; PCF8574AP zum Schreiben adressieren
call i2c_off ; Bus freigeben Das ist eine Sequenz für ein I2C EEPROM. Für PCF8574A nicht geeignet ! Warum nicht ? Der PCF8574 hat nur ein Register. Speicher Adressen kennt der nicht. Dann zum C-Code >#define AdresseHandrad (0xA1) Die Adresse des PCF8574A ist 0x70. Der
-
Thread
Problem mit I2C EEPROM
Kann es sein, dass der PCF8574 spiegelverkehrt im Layout ist? Hast Du mal ohne das EEPROM und den PCF, Clock und Data gemessen? Gruß John
John schrieb: > PCF8574 spiegelverkehrt im Layout ist? Genau. www.nxp.com/documents/data_sheet/PCF8574.pdf
-
Thread
HD44870 with I2C expander PCF8574X or similar
Den HD44780 über nen PCF8574 anzusteuern sieht man zwar häufiger im Arduino-Umfeld, aber das läuft auf nen Bitbanging raus. Und das macht die sowieso meist schon recht trägen LCDs nicht undbedingt fixer. Ich würde daher statt dem generischen PCF8574 nen kleinen µC nehmen um das I2C intelligenter auf das HD44780-Interface umzusetzen. Dann bekommst Du das mit viel weniger Hin und Her auf dem I2C gelöst.