Onewire temperature sensor, just getting "no more addresses"?

Alright so my onewire temp sensors just came in the mail, I tried hooking one up, but instead of a readout I just get "no more addresses".

I have pin 1 to GND, pin 2 to arduino pin 10, and pin 3 to +5, with a 4.7k ohm resistor between pin 2 and 3, and this is the sketch I am using. (needs to be this one or one of similar size, since I need to add some more and put it on an attiny85)

#include <OneWire.h>

/* DS18S20 Temperature chip i/o */

OneWire  ds(10);  // on pin 10

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

void loop(void) {
  byte i;
  byte present = 0;
  byte data[12];
  byte addr[8];
  
  if ( !ds.search(addr)) {
    Serial.print("No more addresses.\n");
    ds.reset_search();
    delay(250);
    return;
  }
  
  Serial.print("R=");
  for( i = 0; i < 8; i++) {
    Serial.print(addr[i], HEX);
    Serial.print(" ");
  }

  if ( OneWire::crc8( addr, 7) != addr[7]) {
      Serial.print("CRC is not valid!\n");
      return;
  }
  
  if ( addr[0] != 0x10) {
      Serial.print("Device is not a DS18S20 family device.\n");
      return;
  }

  // The DallasTemperature library can do all this work for you!

  ds.reset();
  ds.select(addr);
  ds.write(0x44,1);         // start conversion, with parasite power on at the end
  
  delay(1000);     // maybe 750ms is enough, maybe not
  // we might do a ds.depower() here, but the reset will take care of it.
  
  present = ds.reset();
  ds.select(addr);    
  ds.write(0xBE);         // Read Scratchpad

  Serial.print("P=");
  Serial.print(present,HEX);
  Serial.print(" ");
  for ( i = 0; i < 9; i++) {           // we need 9 bytes
    data[i] = ds.read();
    Serial.print(data[i], HEX);
    Serial.print(" ");
  }
  Serial.print(" CRC=");
  Serial.print( OneWire::crc8( data, 8), HEX);
  Serial.println();
}

I would check the wires first and optionally try another sensor if available

I agree with Rob. I tried your code and it finds all 4 ds18b20 on my OneWire bus. Check your wiring.

Pete

I'd look for the physical pin on the temp sensor being different to what you expected.

Is your Arduino running at 5V?

Well I fixed it, another thread suggested using a 2.2k ohm resistor instead and that worked.

Just to know, what is the length of your cable?