-
Thread
LCD (Funduino) ansteuern mit Bascom
Adresse des I2C-LCDs (orginal 78) Na Klasse, im Datenblatt von Texas Instruments S.13 gibt es den PCF8574 tatsächlich mit der Adresse 78 / 0x4E :-( Wie gehabt: Scanner!
mat-sche schrieb im Beitrag #4876186: > Schau mal wie die Adresspins A0-2 vom PCF beschalten sind und um welchen > PCF (A oder nicht) es sich handelt. Es ist ein PCF 8574T und die Kontakte bei A0-2 sind offen Funker Fritz schrieb im Beitrag #4876188: > Beide Ansteuerungen
-
Thread
I²C Portbaustein nur von Philips?
außer von Philips? Vieleicht erfüllt ja z.B. ein 74HCx die selben aufgaben wie der doch recht teure PCF 8574 von Philips? Ich möchte mir nämlich eine Led Matrix aufbauen und aus diesem Grund brauche ich ein paar mehr Portbausteine, was allerdings mit den PCF8574 ein doch recht teures unterfangen würde
= 8µs, da hat der I2C ja noch nicht mal das Startbit gesendet. Vom PCF8574/A kann man max 16 Stück an einen Bus hängen. Beim 74HC595 wirkt nur die Pinkapazität als Begrenzung. Z.B. 100 * 74HC595 haben 100*10pF=1nF, da geht man dann mit der Frequenz etwas runter oder
-
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
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?
Gast) >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
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
I2C: verschiedene Geschwindigkeit
ICs 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
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
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
Twi hängt in der while Schleife..
Kuba schrieb im Beitrag #3709783: > PCF8574 Kuba schrieb im Beitrag #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
PCF8574P steht drauf.
-
Thread
I2C programmierung lernen
suchst, 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
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
Porterweiterung für I/O
beiden, also ein Schieberegister, das ich auf Input oder Output schalten kann. Ich habe jetzt den PCF8574 gefunden, aber bevor ich die Dinger bestell, würde ich gern auf Nummer sicher gehen, da ich noch nicht wirklich lang in dem ganzen Thema drin steck: Kann ich den PCF8574 wirklich aktiv auf I/O
@ t.animal (Gast) >Kann ich den PCF8574 wirklich aktiv auf I/O umschalten? Dazu habe ich >nämlich im Datenblatt nichts gefunden. Wenn nicht, wie geht das dann? Siehe [[Port-Expander PCF8574]] >Oder hat jemand vielleicht Alternativen
-
Thread
Standard LCD über nur 3 Drähte
@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
Nen PCF8574 würde dann 10 Cent kosten, aber nen Pentium 4 10000 Euro... ;) MfG, DSH
-
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
I2C-LCD von sainsmart - keine Anzeige
wurden bei TWI vermutlich nicht benötigt, weil die Ports das intern erledigen. Die Adressbits am PCF8574T (NXP/Philips) habe ich geprüft und das Datenblatt bestätigt mir auch die eingetragene Hardwareadresse 27h. Auszug: [code] Pin conn. | |Addr. of PCF8574| A0 A1 A2
switch(address<<1) { case 0x40: i2c_test_flags|=(1<<I2C_TASTATUR_8574); _i2c_key=' '; DEBUG_PRINTLN(F(" PCF8574 Tastatur")); break; case 0x70: i2c_test_flags|=(1<<I2C_TASTATUR_8574A); _i2c_key='A';
-
Thread
einfachstmögliche Fehlerbehandlung I2C gesucht
wieder 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
ATtiny85 - bei 3.5kB ist Schluss
0b00111, 0b00010, 0b00110, 0b00000, 0b00110, 0b00100, 0b00110 }; // Buttons & PCF8574 0x20 byte PCF0_ADDR = 0x20; byte b_left = 0b10000000; // 128 byte b_right = 0b01000000; // 64 byte b_up = 0b00100000; // 32 byte b_down = 0b00010000; // 16 byte
0b00111, 0b00010, 0b00110, 0b00000, 0b00110, 0b00100, 0b00110 }; // Buttons & PCF8574 0x20 byte PCF0_ADDR = 0x20; byte b_left = 0b10000000; // 128 byte b_right = 0b01000000; // 64 byte b_up = 0b00100000; // 32 byte b_down = 0b00010000; // 16 byte
-
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:
aus 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:
-
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
LCD Display 4x20 zu Graphik Display 128x64
Hallo LCD Displays mit 16 Pins können ja mit einem PCF8574 einfach an einen I2C Bus angeschlossen werden. Der Vergleich zu Graphik Displays ist z.B. mit den KS0180 oder andere DEM.. aber mit 20 Pins. Nach einigen Herstellerangaben soll es auch dazu Adapter
Graphikdisplays an den I2C Bus anschliessen? Mit einem IC, das ausreichend Ausgänge anbietet, z.B. PCF8475, das ist der große Bruder vom PCF8574 mit 16 Bit. > Esibt diese Displays früher mit dem KS0180 Prozessor, jetz wird der > SBN6400G verwendet. > Das Display nennt sich DEM128064. Ein Link
-
Thread
Drehencoder auswerten
nun jedoch ein Display und Drehegber über I²C bzw. TWI ansprechen. Als Portexpander nutze ich einen PCF8574. Einen vorgefertigten Code um das Display anzusprechen sowie grundlegende I²C/TWI Funktionen nutze ich von Peter fleury.(http://homepage.hispeed.ch/peterfleury/avr-software.html ) Das Display
was ich nun habe ist das sich der Drehgeber nicht auswerten lässt bzw. ich nicht weiß wie ich den PCF8574 richtig nutzen kann. Ich hatte mir das so vorgestellt das ich den PCF ganz normal abfragen kann wie eben beim Prozessor. Ansonsten gab es im restlichen Internet auch nicht wirklich viele Infos
-
Thread
PWM MSP430 an beliebigen Port
LOW werden dann als 0% und 100% PWM ausgegeben... Und wo ist da jetzt der Vorteil wenn er einen PCF8574 bereits drauf hat? Du reißt einen Digital Baustein raus, machst einen PWM Baustein rein und benutzt dann den PWM Baustein als Digitalbaustein? Also da fällt mir wenig zu ein. Es geht bergab.
für verschiedene Gräte. Also eher sowas wie Wellenpaketsteuerung. Wie gesagt: 1 Hz direkt über PCF8574 sollte locker gehen. Musst halt die SW entsprechend stricken und oft genug den I2C Zyklus fahren.
-
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
3x4 Keypad an I2C Beschaltung
irgendwo im Internet gefunden hast. Das hat garantiert nichts mit Deiner Schaltung zu tun, da Du ja einen PCF8574 benutzt.
Das war eine der Beschaltungen die ich ausprobiert habe, mit einem PCF8574 und 3x4 KeyPad
-
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.
-
Thread
Tips für i2c?
PCF 8574 oder PCF 8574A
Sensoren sind an Telefonkabel 8 x 0,6 mm auf ca. 5 Meter angeschlossen. Zur Porterweiterung kann der PCF 8574 genutz werden. Achtung Lowaktiver Ausgang an dem LEDs direkt angeschlossen werden können (30 mA Ausgangsstrom). Es gibt den PCF 8574 und PCF 8574 A somit hat man an einem Bus 128 Ein- bzw. Ausgänge
-
Thread
ESP8266 Reset bei Schaltvorgang durch Relais
Pushbutton anschließen. Anbei der Schaltplan, der zeigt, wie das Relais mit Netz und Schaltung (PCF8574) verbunden ist. Den Rest habe ich erstmal außen vor gelassen, bitte sagen wenn noch was fehlt.
Der PCF wird mit 5V versorgt, der ESP8266 über ein AMS1117 mit 3,3V. Habe je einen 100uF Elko an der 5V und der 3,3V Seite, zusätzlich einen 100nF an der Versorgung des ESP8266. Hat der PCF8574 nicht interne
-
Thread
I2C zu geringe Spannung an IO's
Moin, ich hab hier einen PCF8574, den ich mit einem MSP-430 F2013 von TI betreiben möchte. Ansteuerung ist auch überhaupt kein Problem, also die Routinen. Der MSP wird über den USB-Debugger mit einer Spannung von 3,6V versorgt
dran? >zu können. Ist es normal, dass am PCF nur eine so geringe Spannung >anliegt? Im Datenblatt hab ich nichts entsprechendes dazu gefunden. Richtig gelesen? Siehe [[Port-Expander PCF8574]] MFG Falk
-
Thread
i²c kein ACK vom SLAVE
BIN); switch(address<<1) { case 0x40: Serial.println(F(" PCF8574 Tastatur")); break; case 0x70: Serial.println(F(" PCF8574A Tastatur")); break; case 0xA0: Serial.println(F(" I2C EEPROM "));
mit den Bits 1-7 in einklang zu bringen, siehe Datenblatt: http://www.nxp.com/documents/data_sheet/PCF8574.pdf Seite 13
-
Thread
custom Library – multiple definitions
code] An Keypad.cpp habe ich nichts verändert, an Keypad.h habe ich digitalRead/digitalWrite in PCF.read/PCF.write geändert und [code] #include "PCF8574.h" PCF8574 PCF(0x20); [/code] habe ich oben eingefügt. Was mache ich falsch? Danke! Hier der ganze Code der Keypad.h: [code] #ifndef KEYPAD_H #define KEYPAD_H #include "Key.h" #include "PCF8574.h" PCF8574 PCF(0x20); // bperrybap - Thanks for a well reasoned argument and the following macro(s). // See http://arduino.cc/forum/index.php/topic,142041.msg1069480.html#msg1069480 #ifndef
-
Thread
PIC16F886: I2C Problem mit ACK Expander PCF8575
Pascal)...bitte nicht lachen, aber ich komme damit am besten zurecht - ein I2C Bus mit Expandern PCF8574 (8 I/O pins) und PCF8575 (2x8 Pins) - das I/O mit dem PCF8574 funktioniert, keine Probleme, das eine Byte wird gelesen - beim PCF7575 hab ich Probleme, ich kann nur 1 Byte Input lesen, das zweite
Na dann setze mal den PCF8574 auf 0x00 und versuche ihn zurück zu lesen. Der Master kann dann kein Stop mehr senden. Es sei denn, der PIC hat auch ein I2C-Recovery implementiert, wie die alten Philips 80C51: "If the SDA line
-
Thread
Pullup ULN2803
Frage zu Pullupwiderständen für die Leistungstreiber ULN2803 in Kombination mit den I/O Expandern PCF8574. Ich schalte mit den PCF8574 die Leistungstreiber über den I2C-Bus. Zwischen PCF und ULN hab ich Pullupwiderstände ( 4,7kOHM ) gegen Vcc (3,3V) installiert, da die Ausgangsleistung der PCF
www.datasheetcatalog.net/de/datasheets_pdf/U/L/N/2/ULN2803.shtml http://www.nxp.com/documents/data_sheet/PCF8574.pdf
-
Thread
port-expander-matrix Bug ATmega8 hängt sich in der letzten Zeile auf
0xFFFF, 0xFFFF}; while(1){ //------------ SPALTE 0 -------------// _delay_ms(LED_delay); pcf8574_set_outputs (PCF_row,0xFF);//alle LEDs aus! pcf8574_set_outputs (PCF_col,0b00000001);//Spaltenauswahl -> Spalte 0 Aktiv pcf8574_set_outputs (PCF_row,LEDs[0]);//Zeilen in Spalte 0 schreiben
und ich benutze die pcf8574.c (siehe oben) Kommischerweise stürzt das Programm nicht ab wenn ich in die pcf8574_set_outputs (PCF_row,0b01111111); reinschreibe. Die Funktion ist ja so deklariert void pcf8574_set_outputs