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 ! > > > > > hat vielleicht jemand ein beispiel, wie er die sensoren initialisiert und wo das auch funktioniert? > > > > Hallo Christian, > > > > ich kann aus Zeitgründen leider erst jetzt antworten. Angehängt habe ich ein Beispiel, das bei mir mit > > der Station ohne Probleme funktioniert. Ich habe es aus einem umfangreichen Programm > > zusammengestrichen und hoffe, dass es auch bei Dir klappt. Es werden die Temperaturen von 5 > > Sensoren eingelesen und im Display angezeigt. Bitte entschuldige, dass ich es nicht > > kommentiert habe. Leider sehe ich in der Vorschau trotz entsprechender Eingabe meine Formatierung > > nicht. Ich hoffe, es geht auch so. > > > > Viel Erfolg, > > Georg > > > > <code> > > float mittelwert, maximum, minimum; > > > > function temperatur_einlesen (int i)returns float > > { > > float temperatur; > > lcdext.line(1); > > lcdext.print("Sensor: "); > > lcdext.zahl2(i); > > lcdext.line(2); > > temperatur=ds1631.readi2(i); > > lcdext.zahl5n2(temperatur); > > mittelwert=mittelwert+temperatur; > > lcdext.put(223); > > lcdext.put('C'); > > ds1631.init(i); > > return temperatur; > > } > > > > function init_all () > > { > > byte i; > > > > lcdext.init(); > > i2c.init(); > > > > mittelwert=0.0; > > minimum=9999; > > > > for i = 0 ... 15 > > { > > ds1631.Reset(i); > > ds1631.init(i); > > } > > sleep 1000; > > } > > > > thread messen > > { > > byte i; > > float temperatur; > > > > run 256; > > mittelwert=0.0; > > > > for i = 1 ... 5 > > { > > lcdext.init(); > > temperatur=temperatur_einlesen(i); > > if temperatur < minimum > > {minimum = temperatur;} > > if maximum < temperatur > > {maximum = temperatur;} > > sleep 1000; > > } > > mittelwert=mittelwert/5; > > if maximum > 30*100 > > {stports.setLED(1,1);} > > > > lcdext.clear(); > > lcdext.line(1); > > lcdext.print("Mittelwert: "); > > lcdext.line(2); > > lcdext.zahl5n2(mittelwert); > > lcdext.put(223); > > lcdext.put('C'); > > sleep 1000; > > lcdext.clear(); > > lcdext.line(1); > > lcdext.print("Minimum: "); > > lcdext.line(2); > > lcdext.zahl5n2(minimum); > > lcdext.put(223); > > lcdext.put('C'); > > sleep 1000; > > lcdext.clear(); > > lcdext.line(1); > > lcdext.print("Maximum: "); > > lcdext.line(2); > > lcdext.zahl5n2(maximum); > > lcdext.put(223); > > lcdext.put('C'); > > sleep 1000; > > sleep 1000; > > } > > > > thread main > > { > > init_all(); > > loop > > { > > run messen; > > } > > } > > > > </code> > > Hallo, > > danke für das Beispiel. > > Hat das einen Grund, dass der Baustein vor jeder Abfrage neu initialisiert wird? > Ich habe das auch bei mir eingebaut, allerdings hat es nichts gebracht. > > lg > > christian > > ps.: mein i2c Bus ist relativ voll,( 9 MAX4711, die Temperatursensoren, Keyboards, Displays) > kann das die Temperatursensoren beeinträchtigen?