-
Thread
NodeMCU + MPU6050
fertig https://primalcortex.wordpress.com/2015/08/21/nodemcu-and-i2c-how-to-start-and-using-the-pcf8574a-i2c-port-expander-on-esp-01-board/ MfG Klaus
macht https://primalcortex.wordpress.com/2015/08/21/nodemcu-and-i2c-how-to-start-and-using-the-pcf8574a-i2c-port-expander-on-esp-01-board/ MfG Klaus
-
Thread
DS 1307 via I2C an atmega328-brauche Hilfe
. > Welches Datenblatt ? alle, kein spezielles, ich nutze DS3231, (DS1307 erst später), PCF8574(a) und Oled mit dem PCF8574 habe ich mal angefangen https://www.nxp.com/documents/data_sheet/PCF8574.pdf Seite 12 und die ganze shifterei verwirrt doch nur, wenn jedes Bit an seinem Platz bleibt
-
Thread
Atmega8 und I2C-Display startet nicht
Datenleitungen mit dem LCD verbunden ist. Du redest die ganze Zeit von PCF8574, adressierst aber PCF8574A ! Für PCF8574 ist die richtige Adresse: 0b0100xxx0 oder 0x4x Für PCF8574A ist die richtige Adresse: 0b0111xxx0 oder 0x7x Welche von beiden hast du nun ?
. Das liegt vermutlich an meinem Unverständnis der Datenverarbeitung des Displays (nicht des PCF8574A) im 4Bit-Mode!
-
Thread
I2C master libraryVON pfleury [Fehlersuche]
https://www.mikrocontroller.net/articles/Port-Expander_PCF8574#I.C2.B2C_Kommunikation Der PCF8574A hat den Adressraum 0x70 + A[2:0]*2 + R/W Gültige 8-Bit Adressen sind also 0x70 0x72 0x74 0x76 0x78 0x7A 0x7C 0x7E >i2c_start_wait(LCD_I2C_DEVICE+I2C_WRITE);//(nicht mal bis hier, wenn
mein Problem abgesehen von dem +1: Hab mir den Chip nicht genau genug angeschaut und das "A" in PCF8574A übersehen. Folgefehler: Habe mir nur KURZ-Datenblätter angeschaut, wo ich dann mit A3=A4=0 nur auf die 0x4E kam. Folglich war ich völlig verwirrt mit der großen Abweichung von der Testschleife zum
-
Thread
128 Displays simultan ansteuern
Für 1-2m reicht I2C immer noch aus, selbst ohne I2C Extender. Mit dem PCF8574(A) kann man 16 LCDs ansprechen. Das Ganze 8x macht 128 LCDs. Also braucht man noch 2x 4:1 I2C Mux ala PCA9544A oder 1x PCA9547. https://www.mikrocontroller.net/articles/Port-Expander_PCF8574
-
Thread
[s] Schaltung mit PCF8574 (I2C Port Expander)
hast Du gegen den Schaltplan im Datenblatt (z. B. http://www.nxp.com/documents/data_sheet/PCF8574_PCF8574A.pdf Seite 13 + 14)
-
Thread
Eprom programmieren
. Heute würde ich einen AVR nehmen, z.B. den arduino mighty 1284p oder einen Nano einige I2C PCF8574(A) Ports und/oder Latch Der Code kann ja dann aus HEX direkt geschrieben werden, die 50ms macht der Atmel. Ach ja Programmierspannung, ist ja auch kein Hexenwerk. Oder wie schon geschrieben
-
Thread
Massive IO Porterweiterung - Stabilität des IO - mehrfaches SPI
Hilfe von Schieberegistern realisieren, oder über I2C Bus mit entsprechenden Chips. 8x PCF8574 + 8x PCF8574A ergibt 128 I/O Leitungen. Und mit Hilfe mehrerer I2C Busse (notfalls per Software emuliert) kannst du das beliebig vervielfachen. Um die Stabilität mach Dir mal keine Sorgen. Wenn die Schaltung
-
Thread
WordClock mit WS2812
EEPROM. Das Schöne ist das RTC und I2C LCD Modul gleiche Belegung haben. Das LCD Modul mit PCF8574(A) nutze ich als Tastatur.
-
Thread
i²c kein ACK vom SLAVE
Serial.println(F(" PCF8574 Tastatur")); break; case 0x70: Serial.println(F(" PCF8574A Tastatur")); break; case 0xA0: Serial.println(F(" I2C EEPROM ")); break; case 0xD0: Serial.println(F(" DS1307/DS3231 RTC"));
0x40) Serial.println(F(" PCF8574 Tastatur")); if((address<<1)==0x70) Serial.println(F(" PCF8574A Tastatur")); if((address<<1)==0xA0) Serial.println(F(" I2C EEPROM ")); if((address<<1)==0xD0) Serial.println(F(" DS1307/DS3231 RTC")); // Serial.println(F("")); */
-
Thread
Codevision CodeWizardAVR TWI Probleme
CodeVisionAVR. Ich starte ein Projekt mit dem CodeWizardAVR (XMEGA128) und möchte gerne auf einen PCF8574A schreiben. Leider funktioniert es nicht so wie ich gerne möchte. Könnt ihr an der Software einen Fehler erkennen? Danke für eure Hilfe!
Hi >Falls die auf Masse liegen, ist die Adresse 0x40 bzw 0x41. Er hat einen PCF8574A. Da sind die Adressen 0x70/0x71. Die Frage ist, ob die Lib das Schieben selbst macht oder den geschobenen Wert braucht. MfG Spess
-
Thread
Daten hin- und herschieben zwischen A und B
funktionieren. SPI braucht pro Slave einen CS-Pin. Aber den kannst du auch nachrüsten, z.B. mit einem PCF8574/A (oder was modernerem) am I2C des RPi. Die klassische serielle Schnittstelle am PC schafft maximal 115,2 kBit/s, moderne USB-Seriell-Wandler schaffen deutlich mehr; je nach Chipsatz bis zu 2 MBit
-
Thread
Wie umgehen mit doppelt belegten IO-Pins (Atmega88PA)?
warum nicht I2C nutzen? Dann benötigst Du nur 2 Pins am MC und kannst locker noch 16 Expander PCF 8574/A anhängen macht zusätzlich 128 I/O. Diese ICs benötigen keine weiteren Bauteile für Außenbeschaltung nur einmal zwei Widerstände für SCL und SDA Leitung. Mit freundlichen Grüßen Fred
-
Thread
I2C und Multiplexer
Zur Auswahl mehrerer I2C-Slaves mit gleicher Adresse kann man auch 1..16 PCF8574/A benutzen. Die Slaves müssen nur mindestens einen Adreßpin haben.
-
Thread
Wie steuert man einen OLED Display über i2c an
aber die 1306 liefern kein vernünftiges I2C Handling, in Verbindung mit anderen, RTC DS1307/3231, PCF8574(a) bleibt das OLED immer hängen. https://code.google.com/p/u8glib/ ich würde das wieder nur mit SPI anbinden.
-
Thread
TWI - Fehler beim Senden von Start
aktuellen Dokumenten Adresse+RW-Bit als Adressbyte: http://www.nxp.com/documents/data_sheet/PCF8574_PCF8574A.pdf MfG Spess
-
Thread
Welchen AVR nehmen?
auch 64 Stück oder mehr kein Problem sein. Meine 8 in der ISR (alle 10ms) per I2C ausgelesen PCF8574(A) brauchen 100-200µs und da war ich noch auf 100kHz I2C. Ich merkte aber das auch 400kHz möglich sind. 8 Tasten könnten auch an einem ADC-Port mit R-Teiler hängen, spart Leitungen Das größte
-
Thread
Mehrere Sensoren mit gleicher Adresse an einem I2C Bus
liegen und keine Sternschaltung erwünscht oder möglich ist, könntest du jeden Sensor mit einem PCF8574(A) ausstatten und darüber die SCL-Leitung schalten.
-
Thread
I2C Hilfe/Tutorial
i2c_test_flags|=(1<<I2C_TASTATUR_8574A); _i2c_key='A'; DEBUG_PRINTLN(F(" PCF8574A Tastatur")); break; case 0x78: DEBUG_PRINTLN(F(" I2C OLED ")); break; case 0xA0: DEBUG_PRINTLN(F(" I2C EEPROM "));
-
Thread
Schieberegister Zustand merken bei Spannungsausfall
oder auch hier > wenigstens eine Matrixabfrage. OK geht auch, 300 als Matrix 36 Leitungen = 5x PCF8574(A) und ne fette Matrix 18 x 17
-
Thread
I2C - bestimmen welcher ic-typ angeschlossen
Man könnte mit einem PCF8574A den Adreßraum erweitern. Dessen Ausgänge gehen auf A0 der 8 MCP23017 und einer wird selektiert. Die anderen 7 sind dann auf einer nicht genutzten Adresse. Man hat von den 8 möglichen Adressen also
-
Thread
DS3231 & AT24C32 mit I2C-Lib von Peter Fleury
> I2C Scanner -> Scanning... > I2C device found at address 0x38; 0111000x; << 0x70; 01110000 PCF8574A > Tastatur > I2C device found at address 0x50; 1010000x; << 0xA0; 10100000 > I2C device found at address 0x68; 1101000x; << 0xD0; 11010000 > DS1307/DS3231 RTC > done > > meine Tastatur liegt
-
Thread
AVR32 I2C Problem - Kein ACK vom PCF8574
Nutzen Sie einen PCF8574 oder PCF8574A?
Sieh mal im aktuellen Datenblatt auf S.5: http://www.nxp.com/documents/data_sheet/PCF8574_PCF8574A.pdf MfG Spess
-
Thread
I2C Scanner an MC
Software sollen dann die angeschlossenen Geräte dargestellt werden. Unter anderem wären das: - PCF8574(A) - PCF8591 - PCF8583 - DS1307 - MCP23008 - MCP23017 - Speicher 2408 - MAX518 Meine Gedanken wären dass ich das Bauteil über die Adresse anspreche und das ACK abwarte. Was mein Ihr
-
Thread
I2C Adresse ermitteln
[c] I2C Scanner -> Scanning... I2C device found at address 0x38; 0111000x; << 0x70; 01110000 PCF8574A Tastatur I2C device found at address 0x50; 1010000x; << 0xA0; 10100000 I2C device found at address 0x68; 1101000x; << 0xD0; 11010000 DS1307/DS3231 RTC done [/c] meine Tastatur liegt bei mir
if(_i2c_key) { if(!_i2c_busy) { if(_i2c_key=='A') { if(!i2c_start(PCF8574A_0+I2C_READ)) //; // set device address and write mode // hier folgt noch was ...... [/c] im main loop [c] if(lcd_time_update==33 /*&& lcd_time_update>=23*/) { RTC.getTime(
-
Thread
PCF8563 Uhrzeit läuft nicht weiter.
0x01); //Timer laden 1s (test) i2c_stop();; for(tmp=0;tmp<100;tmp++); i2c_start(PCF8574A_WRITE); i2c_write(0x02); i2c_rep_start(PCF8574A_READ); val = i2c_readNak(); i2c_stop(); if(val & 0x80) //Stromausfall? VL-Flag reset und Date/Time reset return(1); /
(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
-
Thread
Adressierbare Transistoren
belastbar. Davon kannst Du 8 Chips an den Bus hängen, also Ausgänge. Wenn Du zusätzlich den PCF8574A nimmst, kommst Du auf 16 Chips an einem Bus.
-
Thread
Twi hängt in der while Schleife..
#3709833: > i2c_start(0b01110000); <-----Adresse + Start Die Adresse wäre passend für einen PCF8574A, du hast aber angeblich die Version ohne "A". Überprüf das nochmal. Oliver
-
Thread
bistabiles Relais für AVR/Arduino
schrieb im Beitrag #5007200: > da halte ich mich lieber an meine Datenblätter Das vom PCF8574/PCF8574A ist da wohl nicht dabei.
PCF8574(a) für 4 Relais + Treiber. Bei 50 Relais reicht nur der Mix PCF8574 (8x8) + PCF8574a (8x8) also 128/2 max. 64 Relais. oder man nimmt einen MCP mit 16 Kanäle (oder mehrere)
-
Thread
I2CLCD Library für HD44780 LCDs
allem im Hobbybereich. Man kann sogar 16 LCDs gleichzeitig ansteuern, wenn man den PCF8574 sowie PCF8574A benutzt.
-
Thread
IO- Erweiterungen für Arduino Atmega 168
Siehe PCF85XX Baustein Funktion PCF8574 I/O Port Extender 8-bit PCF8574A I/O Port Extender 8-bit PCF8575 I/O Port Extender 16-bit P82F715 Bus Line Extender P82B96 Bus Line Extender PCF8591P Analog I/O Bus Baustein
-
Thread
Welcher Bus kann das?
einen auf Deinen Controller schalten. Wenn Du auf PWM verzichtest, reicht für jede Kachel ein PCF8574(A) aus. Je ein Pin pro Grundfarbe plus ein Pin zum Zurücklesen des Touch-Signals. Zwei Pins pro Grundfarbe würden auch noch gehen, damit ließen sich dann insgesamt 64 Farben bei 4 Farbstufen pro Grundfarbe
Achtung! Du kannst maximal 8 PCF8574 an einen I2C hängen. Daher brauchst Du sowohl PCF8574 als auch PCF8574A (die haben eine andere I2C Basisadresse). Wenn Du die PCF8574(A) durch PCA9554(A) ersetzt, bekommst Du sogar einen Interrupt, wenn der Touch ausgelöst wird. Denke mal darüber nach. fchk
-
Thread
(AVR-gcc) Lesen vom PCF8574 I2C-Port-Expander gelingt nicht
Hauptprogramm erfolgt dann mit diesen Zeilen hier: //Port-Expander bedienen: //Adresse des Portexpanders PCF8574: A2, A1, A0 sind auf GND gelötet -->> 0100 000 = 0x40 /*address can be 0 .. 8; rw=0 --> write, rw=1 --> read*/ // pcf8574_set_outputs (i, j); //PCF8574: A2, A1, A0 sind auf GND gelötet -->>
address can be 0 .. 8; rw=0 --> write, rw=1 --> read*/ // input = pcf8574_get_inputs (0x20); //PCF8574: A2, A1, A0 sind auf GND gelötet -->> 0100 000 = 0x40 // pcf8574_set_outputs (0, 0xFF); //Ausgänge sollen vor dem Lesen high sein! input = pcf8574_get_inputs (0); //PCF8574: A2, A1, A0 sind
-
Thread
I2C PCF8574T schaltet permanent - warum auch immer?!
geschweiften Klammer! Gib beide Adressen mal in einen BIN-HEX Rechner ein. Richtiges Beispiel für PCF8574A: 01110000 -> 0x70 Deine falsche Rechnung für PCF8574A: 0111000 -> 0x38 Beachte die längere Adresse für die A-Version!
Datenblatt? Da stehen die Adressen sogar als Text: http://www.nxp.com/documents/data_sheet/PCF8574_PCF8574A.pdf MfG Spess
-
Thread
PCF8574 LED glimmt trotz LOW
PCF8574 zum Testen eine LED an P1 angeschlossen und möchte diese nun schalten. +5V --- R1--- LED --- PCF8574A Somit wie unter http://www.mikrocontroller.net/articles/Port-Expander_PCF8574#Anwendung Problem ist, das die LED nun obwohl ich P1 auf HIGH setze leicht glimmt. Setze ich ihn auf LOW leuchtet
vertauscht? Dann würde ja gar nichts leuchten? 10k parallel zur LED direkt? +5V --- R1--- LED --- PCF8574A | | -- R2 -- Macht doch auch keinen Unterschied? Ist glaub ich schon zu spät :(
-
Thread
Anfänger Will ATtiny2313 mit Display uber I2C verbinden
Bedarfsfalle über die USI-Schnittstelle konfiguriert werden. Die Adresse ist beim Portadapter mit PCF8574A zusammen mit dem ersten String mit 0x70 einzugeben. A0,A1,A2 auf GND verdrahtet. Nach jedem Stop muss vor dem Neustart die Slaveadresse neu eingegeben werden. Bei der LCD-Initialisierung hapert
-
Thread
Portexpander mit I2C oder SPI (5 I/O's)
der Expander gleichzeitig an einem > I2C betreiben. Und wenn das nicht reicht nimm noch die PCF8574A dazu... Die haben eine andere Basisadesse... nitraM
-
Thread
Raspberry Pi & PCF8574 wird nicht erkannt
Adresspins eingestellt wird. Du hast jetzt 0x38 als (7Bit-)Adresse, das ist die Grundadresse vom pcf8574A. Wenn du weitere pcf8574A hast, wären die nächsten Adressen 0x39 bis 0x3F. Dann kannst du außerdem noch 8 weitere pcf8574 (ohne A!) einsetzen im Adressbereich 0x20 bis 0x27. Mit pcf8574Setup()
André Aaaa schrieb im Beitrag #4031354: > Da ich eine Flachbaugruppe habe mit drei > PCF8574A und deren jeweilige A0-A3 verlötet sind um so die Adresse fest- > zulegen. Ich bräuchte ja demnach 9 zusätzliche Leitungen Wenn drei PCF8574A auf einer Baugruppe sind und auf dieselben Adressen
-
Thread
Arduino: Probleme mit 4x20 Sainsmart Display Blue
LCD.h> #include <LiquidCrystal_I2C.h> #define I2C_ADDR 0×27 // Define I2C Address where the PCF8574A is #define BACKLIGHT_PIN 3 #define En_pin 2 #define Rw_pin 1 #define Rs_pin 0 #define D4_pin 4 #define D5_pin 5 #define D6_pin 6 #define D7_pin 7 int n = 1; LiquidCrystal_I2C
-
Thread
Wo PCF8574A kaufen?
Hi, ich bin seit einiger Zeit vergeblich am suchen nach den PCF8574A. Diese stellen die Erweiterung zu den PCF8574 dar, sodass man bis zu 16 I²C-Adapter an den Bus hängen, und auf einen Multiplexer verzichten kann. Leider habe ich so ziemlich alles was ich kenne (
-
Thread
Suche Beispielcode für I2c LCD am STM32F4 Discovery
zu betreiben. Ich bekomme es aber nicht hin. (Ich stelle mir sowas wie LiquidCrystal_I2C vor ( PCF8574A mit 20x4 Text LCD)) Hat jemand einen Beispiel Code oder Links die mir weiterhelfen? Bin für jeden Tip dankbar. Danke PS: Ich nutze CooCox CoIDE mit ARM-MDK.
betreiben. > Ich bekomme es aber nicht hin. > (Ich stelle mir sowas wie LiquidCrystal_I2C vor ( PCF8574A mit 20x4 Text > LCD)) > Hat jemand einen Beispiel Code oder Links die mir weiterhelfen? Hast Du eine Arduino-Library für dieses Display ? Da ist der Init-Code drin. Die kannst Du dann relativ
-
Thread
stm32 und pcf8574T
Im main dann einfach: I2C_Configuration(); WriteBuffer[0]=0x96; I2C_Write(Open_I2C,ADDR_PCF8574a,0,WriteBuffer,1); WriteBuffer[0]=0x69; I2C_Write(Open_I2C,ADDR_PCF8574b,0,WriteBuffer,1); (für Ausgabe); aus: http://www.mikrocontroller.net/attachment/157827/F4D_ETH_cam.V02.zip
main dann einfach: > I2C_Configuration(); > WriteBuffer[0]=0x96; > I2C_Write(Open_I2C,ADDR_PCF8574a,0,WriteBuffer,1); > WriteBuffer[0]=0x69; > I2C_Write(Open_I2C,ADDR_PCF8574b,0,WriteBuffer,1); > > > (für Ausgabe); > aus: > http://www.mikrocontroller.net/attachment/157827/F4D_ETH_cam.V02
-
Thread
120 I/Os an Raspberry Pi
durch Betriebssystem usw.). Also eine Ladung 8-bit-I/O-Expander für den I²C (z. B. PCF8574 und PCF8574A kombinieren, dann reicht die Anzahl I/Os - oder mit Expandern o. ä. arbeiten) und eine Handvoll Treiber (z. B. ULN2803). Zusätzlich würde ich mir über weitere Absicherungsmaßnahmen Gedanken machen
-
Thread
ST-Discovery-Net-IO Anfang
Anschlüsse neu zu def. ; Dies ist so nicht möglich, daher habe ich ein "Offset-Board" entwickelt. 2x PCF8574A, ein MAX232(später geändert in MAX3232) und, wennschon dabei, ein µSD-Card Slot. Mit dem Programm ist es möglich, Ausgänge über I2C zu schalten und eine Programmauswahl per Touch ; Dies möchte ich