SHT15 geht nicht

Hallo,

diesmal versuche ich alles richtig zu beschreiben. Nachdem ich die Ports schalten kann und es funktioniert wollte ich einen
SHT15 anschließen. Leider findet keine Kommunikation statt. Zum Überprüfen habe ich einen LogicAnalyser angeschlossen.

Pin14 ist definiert als DATA und Pin15 als SCK. Beide Leitungen bleiben auf High. DATA ist mit einem Pull Up mit 10k an Vcc
angeschlossen. Die Betriebsspannung konstant an 3,3V. Definiere ich z.B. den Pin 17 als SCK und messe dort, sehe ich ein
Signal, schließe ich nur ein Kabel an tut sich nix und bleibt auf High. Nach ausprobieren andere Pins, Data auf Pin 3 und SCK
auf Pin 4 ist das Problem das selbe. Weiß da jemand Rat?
Am SHT habe ich zwischen GND und VCC einen 100nF Kondensator angeschlossen. Die Verbindungen und Leitungen habe ich
diesmal sehr genau kontrolliert.

Folgenden Code habe ich benutzt:

#include <SHT1x.h>

#define dataPin 14
#define clockPin 15
SHT1x sht1x(dataPin, clockPin);

float t_log;
float h_log;

void setup()
{
Serial.begin(9600);

}
void loop()
{
SHT_ROUTINE();
}

//##############################################################
// SHT Daten auslesen
//##############################################################

void SHT_ROUTINE() {

// Read values from the sensor
t_log = sht1x.readTemperatureC();
h_log = sht1x.readHumidity();

// Print the values to the serial port
Serial.print("Temperature: ");
Serial.print(t_log);
Serial.print("C ");
Serial.print("Humidity: ");
Serial.print(h_log);
Serial.println("%");

delay(2000);

}

Hallo,
probiere doch einmal folgendes:
Einen Widerstand von 2.2-10k? von SCK auf Masse.
Ich benutze den gleichen Sensor, vermutlich die gleiche Bibliothek und hatte noch nie Probleme mit dem Teil, aber auch zwei, statt wie Du einen, Widerstand.

Ah ok, also einen 10k Pull-Up für Data auf 3,3 V und einen wie du sagtest auf auf Masse, also einen Pull Down.
Werde ich nach her mal testen, leider steht das nicht im Datenblatt.

Habe das jetzt mit einem Pull up mit 10k an Data angeschlossen und einen pull down 4,7k an SCK
SCK ist duaerhaft auf high und bei Data kommt ein Signal das regelmäßig auf High und Low wechselt.

__/----_/----_ so ungefähr sieht die Folge des High Signals aus. Jemand eventuell ne Idee wo noch

das Problem sein könnte?

Knifflige Sache, da Du ja den Sensor korrekt nach Datenblatt verdrahtet hast und dann auch noch den pulldown-Widerstand ergänzt hast.
Ich habe mal gegoogelt und es gibt Leute die berichten, daß sie Probleme mit dem Sensor haben, weil das Kabel zu lang ist; leider schreibt niemand dazu wie lang sein Kabel ist.
Außerdem könnte natürlich der Sensor eine Macke haben.
Wie sieht denn Dein "Setup" aus? Verwendest Du einen Mega? (weil Du im ersten Beitrag von PIN 14, 15 und 17 schreibst).
Ich selbst habe den SHT15 bisher nur an einem Duemilanove ausprobiert, könnte ihn aber zu Testzwecken auch an einem anderen Arduino-Typ ausprobieren, um Dein Problem einmal nachzustellen.
Dann noch etwas, hast du einen 5V- oder einen 3.3V-Arduino? Wenn 5V, dann benutze doch bitte einmal die 5V als Versorgungsspannung für den SHT15, eventuell liegt da das Problem, da HIGH und LOW bei 5V nun einmal andere Spannungsbereiche haben als bei 3.3V.
siehe dazu den Beitrag von voithian HIGH/LOW Voltage - #4 by system - Deutsch - Arduino Forum
Der SHT kann bis 5.5V vertragen und ich habe ihn bisher auch nur (problemlos) mit 5V betrieben.

Danke für die Nachforschung, ich habe den ATMEGA328p und betreibe den mit 3,3V und den Sensirion habe ich
da auch dauerhaft dran. Ich habe es auch mit einem SHT75 probiert, das selbe..
Das Kabel bei mir ist ca. 6cm lang bis 10cm sollte es ohne Probleme gehen. Also zwei Sensoren das selbe
Problem..
Ich habe ne Library die heißt Sensirion.h und eine die heißt SHTx.h
Bei der Sensirion.h funktioniert nix und bei der SHTx.h geht die DATA Leitung aber keine Clock.
Ich habe auch schon versucht andere PINs zu nehmen aber das selbe :frowning:
Also weiterforschen.. vielleicht finde ich doch noch was

Diese zwei Bibliotheken habe ich auch, verwende, so wie Du, die SHTx.h. Meine Kabel sind etwas länger, und es funktioniert, also daran liegt es bei Dir nicht.
Data habe ich an Arduino-D10 (ATMEGA-Pin 16 [PB2]) und
Clock an Arduino-D11 (ATMEGA-Pin 17 [PB3 - MOSI]).
Außer das Du nur den 328p bei 3.3V benutzt und ich einen Arduino mit 5V sehe ich keinerlei Unterschiede.

och man, jetzt gehts... auch mit sensirion.h
ich hatte den code mit der Fehlermeldung genommen und gesehen das kein ACK kommt oder die Clock auf High bleibt

Ende vom Lied, der Sensor hatte einen weg, nagelneu und einen zweiten den ich hatte zum gegentesten auch defekt, der dritte ging dann.
Klasse solche fehler :frowning: