Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > > > Hallo, > > > ich habe ein kleines problem mit dem LM75 Temperatur Sensor > > > ich habe als Vorlage das Modul für den DS1621 benutzt und nur den Wert geändert, mit dem man den > > > Sensor den Befehl gibt die Temperaturwerte zu senden. Ich hatte auch irgendwo im Forum ein Modul gefunden > > > aber da habe ich die gleichen Probleme. > > > beim ersten benutzen der read Funktion bekomme ich den Temperaturwert übermittelt, > > > weitere leseversuche scheitern. > > > wenn ich vor jedem Auslesen eine pcf.init() mache funltioniert es. Ich schätze mal, dass aus welchem Grund auch immer > > > der i2c.stop() befehl nicht richtig Funktioniert. > > > Wenn jemand Erfahrung mit dem Sensor hat würde ich mich über jede Hilfe freuen. > > > > > > > > > function read(byte addr) returns int > > > { byte data1,data2; > > > int data; > > > addr=0b10010000 or (addr shl 1); > > > i2c.cstart(addr); > > > i2c.write(0x00); > > > i2c.start(addr or 1); > > > data1=i2c.read(); > > > data2=i2c.readlast(); > > > i2c.stop(); > > > data=data1*10; > > > if data1 and 0x80 {data = (128 - (data1 & 0x7F))*(-10);} > > > if data2 and 0x80 data=data+5; > > > return data; > > > } > > > > > > > > > > > > > Hallo, > > du startest mit i2c.cstart (mit Capture!) , und stopst mit i2c.stop (ohne Capture!) ?? > > > > Martin > > Hab das aus dem DS1621 modul genommen, das sieht es auch so aus. > > /**Temperatur lesen (z.B. 105^=10,5°C)*****************************/ > function readi(byte addr) returns int > { byte data1,data2; > int data; > addr=0b10010000 or (addr shl 1); > i2c.cstart(addr); > i2c.write(0xAA); > i2c.start(addr or 1); > data1=i2c.read(); > data2=i2c.readlast(); > i2c.stop(); > data=data1*10; > if data1 and 0x80 {data = (128 - (data1 & 0x7F))*(-10);} > if data2==0x80 data=data+5; > return data; > } > > ich habe auch ein DS1621 mit dem klapps auch ohne neuem init