#include #include Adafruit_SHT4x sht4 = Adafruit_SHT4x(); uint32_t timestamp = millis(); void sendReadingXML(uint32_t timestamp, float temperature, float humidity, const char *id); void setup() { Serial.begin(115200); // zacni seriovou komunikaci s baudrate 9600 Serial.println("UART OK"); pinMode(LED_BUILTIN, OUTPUT); // nastav ledku na desce jako vystup Serial.println("Adafruit SHT4x test"); // zadni komunikaci s SHT40 po I2C if (!sht4.begin()) { Serial.println("Couldn't find SHT4x"); // pokud neni sensor nalezen, program skonci v nekonecne smycce while (1) delay(1); } Serial.println("Found SHT4x sensor"); Serial.print("Serial number 0x"); Serial.println(sht4.readSerial(), HEX); sht4.setPrecision(SHT4X_HIGH_PRECISION); sht4.setHeater(SHT4X_NO_HEATER); } void loop() { sensors_event_t humidity, temp; sht4.getEvent(&humidity, &temp); // cteni ze senzoru timestamp = millis(); // pocet milisekund od spusteni procesoru sendReadingXML(timestamp, temp.temperature, humidity.relative_humidity, "SHT40"); digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level) delay(250); // wait for a second digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW delay(250); // wait for a second } void sendReadingXML(uint32_t timestamp, float temperature, float humidity, const char *id) { Serial.print(""); Serial.print(" "); Serial.print(temperature, 2); Serial.println(""); Serial.print(" "); Serial.print(humidity, 2); Serial.println(""); Serial.println(""); }