50 NTC o DS18B20 con un arduino UNO [SOLUCIONADO casi]

Curro92

Me parece recordar que habia un sketch para identificar la MAC de cada dispositivo conectado...

Si es asi, solo tendrias que antes de sustituir un sensor cambiar en las variables o definiciones del programa su valor, pero la posicion seria la misma.

Me refiero a algo asi:

define sensor 1 = mac... la que sea o numero de orden el que sea..

define sensor 2 = mac... la que sea o numero de orden el que sea..

define sensor 10 = mac... la que sea o numero de orden el que sea..

y en tu programa seguirias leyendo el sensor 1 o 2 o 3 solo que la mac o numero de orden habria cambiado.

Mira a ver si lo encuentras, yo hare lo mismo y si lo veo te lo posteo.

He encontrado de momento estos enlaces que te identifican el adress (yo lo llamo la mac)

http://arduino-info.wikispaces.com/Brick-Temperature-DS18B20#mult
http://tutorialpedia.org/tutorials/Working+with+Dallas+DS18S20+and+DS18B20+temperature+sensors+from+Arduino.html

Aqui el codigo que emplean para identificar el adress:

// This sketch looks for 1-wire devices and
// prints their addresses (serial number) to
// the UART, in a format that is useful in Arduino sketches
// Tutorial: 
// http://www.hacktronics.com/Tutorials/arduino-1-wire-address-finder.html

#include <OneWire.h>

OneWire  ds(3);  // Connect your 1-wire device to pin 3

void setup(void) {
  Serial.begin(9600);
  discoverOneWireDevices();
}

void discoverOneWireDevices(void) {
  byte i;
  byte present = 0;
  byte data[12];
  byte addr[8];
  
  Serial.print("Looking for 1-Wire devices...\n\r");
  while(ds.search(addr)) {
    Serial.print("\n\rFound \'1-Wire\' device with address:\n\r");
    for( i = 0; i < 8; i++) {
      Serial.print("0x");
      if (addr[i] < 16) {
        Serial.print('0');
      }
      Serial.print(addr[i], HEX);
      if (i < 7) {
        Serial.print(", ");
      }
    }
    if ( OneWire::crc8( addr, 7) != addr[7]) {
        Serial.print("CRC is not valid!\n");
        return;
    }
  }
  Serial.print("\n\r\n\rThat's it.\r\n");
  ds.reset_search();
  return;
}

void loop(void) {
  // nothing to see here
}

PD: Upsss..... creo que Flico ya te habia dirigido a hackatronics.... sorry... no lo habia visto.