Forum: Mikrocontroller und Digitale Elektronik Suche: AVR Code für SHT21


von Klaus R. (klaus2)


Lesenswert?

Hallo,

kennt jmd eine Quelle für halbwegs gut dokumentierten C-Code für den 
SHT21? Wenn mgl. für Atmega8.

Im Forum habe ich leider nur einen Thread gefunden, indem die 
Codebeispiele Müll waren (da zgT falsch).

Danke! Klaus.

von R. W. (quakeman)


Angehängte Dateien:

Lesenswert?

Hi,

ich habe letztes Jahr für ein Projekt, welches einen SHT21 verwendet, 
ein kleines Testprogramm auf einem AVR XMega geschrieben gehabt. Dieses 
liest die Temperatur und Luftfeuchtigkeit in regelmäßigen Abständen aus 
und schickt das Ergebnis über die RS232 Schnittstelle an einen PC. Das 
Programm ist in einzelne Funktionsgruppen unterteilt, was das Anpassen 
an andere Controller vereinfachen sollte.

Ich habe das Testprogramm mal mit angehängt. Für dich sind vermutlich 
vor allem die beiden SHT21_Functions.* Dateien interessant.

Ciao,
     Rainer

von Klaus R. (klaus2)


Lesenswert?

Sehr schön, Danke.

Ist es richtig, dass der SHT21 nicht TWI kompatibel ist? Kann man ihn 
mit anderen Sensoren an einem I2C nutzen oder musstest du auch SW-I2C 
einsetzen?

Gruß, Klaus.

von R. W. (quakeman)


Lesenswert?

Der SHT21 läuft ganz normal per I2C. Ich hatte ihn in dem späteren 
Projekt parallel zu einem LM75 an anderer Stelle am gleichen Bus hängen. 
Und ich habe die eingebaute hardware I2C Schnittstelle verwendet gehabt.

Ciao,
     Rainer

von Klaus R. (klaus2)


Lesenswert?

...gut, Danke!

Klaus.

von Klaus R. (klaus2)


Lesenswert?

Code habe ich mir angeschaut, soweit klar und ich denke leicht zu 
protieren - Vielen Dank!

Letzte Frage: Wo liegt der Unterschied bzw was bezweckt "over ice"? Hat 
es was mit dem Taupunkt zu tun oder...?

/* Calculated humidity over water */
    SHT21CalculatedRHwater_f32 = SHT21ReadData_f32(SHT21_RH_HOLD);

/* Calculate humidity over ice */
    SHT21CalculatedRHice_f32 = SHT21CalculatedRHwater_f32 * exp(BETA_W * 
SHT21CalculatedT_f32 / (LAMBDA_W + SHT21CalculatedT_f32)) / exp(BETA_I * 
SHT21CalculatedT_f32 / (LAMBDA_I + SHT21CalculatedT_f32));

von R. W. (quakeman)


Lesenswert?

Es gibt mehrere Definitionen, auf was sich die berechnete 
Luftfeuchtigkeit bezieht. Die genaue Beschreibung diesbezüglich findest 
du in einem gut gemachten Artikel von Sensirion unter dem Link 
"Introduction to Relative Humidity" im Download Center unter [1]

Ciao,
     Rainer

[1] 
http://www.sensirion.com/de/produkte/feuchte-temperatur/download-center/

von ElectricJohnny (Gast)


Lesenswert?

gibt es diesen code evtl auch angepasst für einen ATmega?

Kenne mich mit den Xmegas nicht so wirklich aus.

von R. W. (quakeman)


Lesenswert?

Der Code, welchen ich gepostet hatte, hat nicht viel XMega spezifisches 
drin. Du solltest diesen also problemlos für deinen Atmega anpassen 
können.

Ciao,
     Rainer

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.