
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
Also, an den bus muĂ je von SDA und SCL ein 2,2K Widerstand an +5V angeschlossen werden. Als Pullup. Dann mĂŒssen alle EingĂ€nge des PCF mit einem 47K Widerstand mit +5V verbunden werden. Die Pullups im PCF reichen nicht aus! Beim PCF als Ausgang muĂ vor der (NPN gesteuert) Relaisstufe ein 2,2K auf +5V zu den AusgĂ€ngen gelegt werden. Das folgende Beispielprogramm ist getestet und lĂ€uft! DEFINE SDA PORT[9] DEFINE SCL PORT[10] 'AusgĂ€nge DEFINE OutIC1 BYTEPORT[3] DEFINE aa BIT[1] DEFINE bb BIT[2] DEFINE cc BIT[3] DEFINE dd BIT[4] DEFINE ee BIT[5] DEFINE ff BIT[6] DEFINE gg BIT[7] DEFINE hh BIT[8] DEFINE Out1 BYTE[1] 'EingĂ€nge DEFINE InIC1 BYTEPORT[11] DEFINE a PORT[81] DEFINE b PORT[82] DEFINE c PORT[83] DEFINE d PORT[84] DEFINE e PORT[85] DEFINE f PORT[86] DEFINE g PORT[87] DEFINE h PORT[88] ' Voreinstellungen SDA=on:SCL=on InIC1=&B11111111 ' Alle eingĂ€nge high schalten OutIC1=&B00000000 ' Alle AusgĂ€nge am IC ausschalten Out1=0 ' Programmbeispiel #LOOP IF h =0 THEN hh=1 ELSE hh=0 ' funktion1 IF a =0 THEN gg=1 ELSE gg=0 ' funktion2 IF b =0 THEN ff=1 ELSE ff=0 ' funktion3 IF f =0 THEN ee=1 ELSE ee=0 ' funktion4 IF e =0 THEN dd=1 ELSE dd=0 ' funktion5 IF d =0 THEN cc=1 ELSE cc=0 ' funktion6 OutIC1=Out1 goto LOOP GruĂ Gerd > Ich hab jetzt mal das Standartprogramm von der Porterweiterung geladen, das wo man die PortzustĂ€nde ablesen kann und komischer weise funktioniert des einwahnfrei. Dann hab ich das Programm von mir in das programm mit reingeschrieben und jetzt funktioniert alles so wies soll.. komisch ich denke nich das das daran liegt.... > > Der Interrupt-Pin interessierte mich nur, weil der bei mir beim einzigen nicht funktionierenden PCF verbunden ist. > > Wie lang ist der Bus, Pullups vorhanden? > > Wenn du ne Lösung hast, lass es uns (MICH!) wissen... > > > > > > > ne nur die Bus-Leitung verbindet die unit mit pcf 8574 und 5v & 0v natĂŒrlich auch... > > > ja das stimmt, nur das war als beispiel gemeint.... > > > ich probiere es gleich mal.... nur das komische ist ja das die lcd displays die mit nem pcf 8574 gekoppelt sind und die relais einwahnfrei funktionieren wenn ich z.b. > > > den port [5] als taster nehme, natĂŒrlich nur mit 5V als eingang dann schaltet das relai... > > > > > > > > > > Hallo, > > > > > > > > mal abgesehen davon, dass das Relais nur solange schaltet wie der Taster gedrĂŒckt ist und man dann auch > > > > > > > > relai1 = Taste1 > > > > > > > > schreiben könnte, habe ich zeitweise dasselbe Problem (siehe Beitrag "I2C-VerlĂ€ngerung"). > > > > Ist an deinem PCF8574 der Interrupt-Pin mit der Unit verbunden? > > > > Hast du mal versucht, > > > > LCD.INIT > > > > LCD.OFF > > > > SDA=on > > > > SCL=on > > > > zu tauschen, also so: > > > > SDA=on > > > > SCL=on > > > > LCD.INIT > > > > LCD.OFF > > > > > > > > MfG > > > > Todi > > > > > > > > > > Ich will einen PCF 8574 als eingĂ€nge benutzten, mit tastern die auf die eingĂ€nge masse (0V) geben. > > > > > > Wenn ich z.b. Taster 1 (port 80) drĂŒcke soll der port 65 geschaltet werden. > > > > > > > > > > > > define tasten as byteport[10] > > > > > > define taste1 as port[80] > > > > > > define relai1 as port[65] > > > > > > define SDA port[9] > > > > > > define SCL port[10] > > > > > > > > > > > > > > > > > > LCD.INIT > > > > > > LCD.OFF > > > > > > SDA=on > > > > > > SCL=on > > > > > > > > > > > > tasten=11111111b > > > > > > > > > > > #loop (sry hatte ich vergessen. nachtrag) > > > > > > if taste1=off then > > > > > > relai1=on > > > > > > else > > > > > > relai=off > > > > > > end if > > > > > > > > > > > > goto loop (sry hatte ich hier vergessen) > > > > > > > > > > > Irgendwie funktioniert das aber nich, so als wĂŒrde der pcf garnicht erkennen das der port 80 (7) aus low gesenkt wurde.. das relai bleibt auf off. > > > > > > > > > > > > Wenn ich mit einem messgerĂ€t von port 80 gegen masse messe hab ich 5 Volt (4,95V) wenn ich den byteport 10 auf 0 setzte hab ich 0 volt anzeige als das funktioniert, kaputt ist der chip net.. Das trĂ€gt umsomehr zu meiner verzweiflung bei.... kann mir jemand helfen |
| Antwort schreiben |