termistor bib 01
This commit is contained in:
parent
c91e18f6db
commit
4f6656d37e
169 changed files with 6210 additions and 0 deletions
45
embadet/main/apple.c
Normal file
45
embadet/main/apple.c
Normal file
|
@ -0,0 +1,45 @@
|
|||
|
||||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
#include <onewire.h>
|
||||
#include <ds18b20.h> // Die Header-Datei mit DS18B20-Funktionen
|
||||
|
||||
#define GPIO_PIN 4 // GPIO Pin, an den der DS18B20 angeschlossen ist
|
||||
#define INTERVAL 100 // Intervall in Sekunden
|
||||
|
||||
void delay(int seconds) {
|
||||
time_t start_time = time(NULL);
|
||||
while (time(NULL) - start_time < seconds);
|
||||
}
|
||||
|
||||
int main() {
|
||||
ds18b20_addr_t sensor_address;
|
||||
|
||||
// Sensoren auf dem Bus scannen (angenommen, dass nur ein Sensor angeschlossen ist)
|
||||
int sensor_count = ds18b20_scan_devices(GPIO_PIN, &sensor_address, 1);
|
||||
if (sensor_count <= 0) {
|
||||
printf("Kein DS18B20-Sensor gefunden!\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
while (1) {
|
||||
// Temperaturmessung starten
|
||||
bool success = ds18b20_measure(GPIO_PIN, sensor_address, true);
|
||||
if (!success) {
|
||||
printf("Fehler bei der Temperaturmessung\n");
|
||||
} else {
|
||||
// Temperaturwert lesen
|
||||
float temperature = ds18b20_read_temperature(GPIO_PIN, sensor_address);
|
||||
if (temperature != temperature) { // NaN-Check
|
||||
printf("Fehler beim Lesen der Temperatur\n");
|
||||
} else {
|
||||
printf("Aktuelle Temperatur: %.2f°C\n", temperature);
|
||||
}
|
||||
}
|
||||
|
||||
// Wartezeit von 100 Sekunden
|
||||
delay(INTERVAL);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue