Probleem DH22 temperatuur weergave in snprint()

Met het snprintf1.ino programma in bijlage wil ik de temperatuur/vochtigheid weergeven als string in de snprintf() functie. Met DHT22 Sensor lees ik de temperatuur en vochtigheid in en verwerk ik deze met de ESP32 Pico hardware tot een Stringfunctie met snprintf(). Deze slaat de samengestelde string op in een buffer array buff[128]. Met behulp van een MQTT functie wordt de buffer doorgestuurd voor opslag in een Azure (Microsoft) Server!!!

Bij het uitvoeren van het Arduino programma, worden temperatuur en vochtigheid zonder problemen ingelezen en hun float waarden omgezet met de dostrf() functie naar een string. Met Serial.println() ga ik na of de dostrf() functie werkt en deze geven geen problemen. De variabelen temp en humi worden goed ingelezen en verwerkt in de snprintf(buff) functie.
Daar gaat het fout, de temp variabelen komt niet tot uiting en ik lees enkel een waarde 0.00 C. De var humi (vochtigheid), wordt wel opgenomen !

dtostrf(dht22.readTemperature(),10 , 2, temp);
dtostrf(dht22.readHumidity(),4 , 2, humi);
snprintf(buff, 128, “Temperature: %6.2f ,Humidity: %s\r\n”, temp, humi);

Heeft iemand enig idee wat er verkeerd gaat ?
Voor de invoer in de Blog database van Azure moet ik de snprintf() gebruiken!

snprintf1.ino (782 Bytes)

Je hebt de temperatuur toch al omgezet in een char array? Dus waarom ga je dan weer "%6.2f" gebruiken? Ik zou gewoon %s gebruiken.

  1. Thanks Nico voor je response. Ik heb dit daarstraks ook bemerkt (wel een beetje te laat). Ik zet alles om naar string en moet dus %s gebruiken. Dan werkt het. Heb intussen ook mijn programma gewijzigd om de real uitgelezen float variabelen in de buffer op te slaan en alles werkt.
    char buff[128];
    float temp;
    float humi;
    snprintf(buff, 128, "Temperature: %4.2f ,Humidity: %4.2f\r\n", temp, humi);
    Serial.println(buff);

Krijg als output: 22.50 33.75
Temperature: 22.50 , Humidity: 33.75

Kan dus verder experimenteren met het doorsturen van deze waarden in de AZURE Cloud van Microsoft.

  1. Ik ben ondertussen ook met het experimenteren met "Visual Studio Code" en krijg er de debug mode niet aan de praat; ik moet ergens in de launch.json settings instellen, maar weet niet goed wat?

Heb jij soms geen aanwijzingen ?

Groetjes