#include OneWire ds(2); // Capteur branché sur la broche 2 void setup() { Serial.begin(9600); } void loop() { byte data[9]; byte addr[8]; if (!ds.search(addr)) { Serial.println("Aucun capteur trouvé"); ds.reset_search(); delay(250); return; } if (OneWire::crc8(addr, 7) != addr[7]) { Serial.println("Erreur CRC"); return; } ds.reset(); ds.select(addr); ds.write(0x44, 1); // Lance la conversion de température delay(750); // Attendre la conversion (important !) ds.reset(); ds.select(addr); ds.write(0xBE); // Lecture du scratchpad for (int i = 0; i < 9; i++) { data[i] = ds.read(); } int16_t raw = (data[1] << 8) | data[0]; float celsius = (float)raw / 16.0; Serial.print("Température : "); Serial.print(celsius); Serial.println(" °C"); delay(1000); }