45 lines
1.1 KiB
C
45 lines
1.1 KiB
C
#include "esp_log.h"
|
|
#include <stdio.h>
|
|
#include <time.h>
|
|
#include <onewire.h>
|
|
#include <ds18b20.h> // Die Header-Datei mit DS18B20-Funktionen
|
|
#include <task.h>
|
|
|
|
int app_main() {
|
|
// Create variable for handler
|
|
ds18b20_handler_t sensor;
|
|
|
|
// Check for any initialization failures
|
|
if (!ds18b20_init(&sensor, GPIO_NUM_2, TEMP_RES_12_BIT))
|
|
{
|
|
ESP_LOGE("TAG", "Failed to initalize DS18B20!");
|
|
|
|
return 0; // Exit
|
|
}
|
|
|
|
float temp = 0;
|
|
|
|
|
|
|
|
// If you doesn't convert temperature you may read 85.0 Celsius,
|
|
// as it is default temperature set by DS18B20 if convert command wasn't issued.
|
|
|
|
// Read temperature
|
|
printf("hit");
|
|
for(int i = 0; i < 30; ++i) {
|
|
// Initalize conversion
|
|
ds18b20_convert_temp(&sensor);
|
|
temp = ds18b20_read_temp(&sensor);
|
|
vTaskDelay(5000 / portTICK_PERIOD_MS);
|
|
printf("\n");
|
|
printf( "Temperature = %.4f", temp);
|
|
};
|
|
|
|
// Print temperature with 4 decimal places
|
|
// (12 bit resolution measurement accuracy is 0.0625 Celsius)
|
|
ESP_LOGI("TAG", "Temperature = %.4f", temp);
|
|
|
|
|
|
|
|
return 0;
|
|
}
|