Code: Select all
#include <OneWire.h>
#include <DallasTemperature.h>
const int oneWireBus = 3;
OneWire oneWire(oneWireBus);
DallasTemperature sensors(&oneWire);
void setup() {
Serial.begin(9600);
sensors.begin();
}
void loop() {
sensors.requestTemperatures();
DeviceAddress sensorAddress;
sensors.getAddress(sensorAddress, 0);
// Wyświetl numer seryjny przed sprawdzeniem warunku
Serial.print("Numer seryjny: ");
for (int i = 0; i < 8; i++) {
Serial.print(sensorAddress[i], HEX);
Serial.print(" ");
}
Serial.println();
// Odczytaj i wyświetl temperaturę
float temperature = sensors.getTempCByIndex(0);
Serial.print("Temperatura: ");
Serial.println(temperature);
// Sprawdź warunek poprawności fragmentu identyfikatora (ROM)
if (!sensorAddress[5] && !sensorAddress[6]) {
Serial.println(F("SN ROM OK"));
} else {
Serial.println(F("SN ROM ERROR"));
// Tutaj możesz podjąć odpowiednie działania w przypadku błędu, na przykład oznaczyć czujnik jako fałszywy
}
delay(1000);
}Możesz też sprawdzić w GG trzeba podać minimum 2 DSy bo wtedy wyświetla adresy.
.
