title: What is the MaxDetect 1-wire bus?
body: <p>I bought this sensor:</p>
  
  <p><a href="http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Sensors/Weather/RHT03.pdf" rel="nofollow">http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Sensors/Weather/RHT03.pdf</a></p>
  
  <p>and the output is "MaxDetect 1-wire bus", What does it mean and how to use it? I tried to connect it to the arduino and program it but it's not working properly, I receive data of 1 bit constantly. I guess my code is wrong. Do I need to use the Wire-1 library for arduino?</p>
  
  <pre><code>int SensorVccPin = 8; 
  int datapin = 6;
  int bitcheck1;
  int bitcheck2;
  int temp[16];
  int humidity[16];
  int sensorcheck[8];
  
  void setup()
  {
    pinMode(SensorVccPin, OUTPUT);  
      pinMode(datapin, INPUT);
      Serial.begin(9600); 
  }
  
  void loop()
  {
      // This is the STEP #1
      digitalWrite(SensorVccPin, HIGH);  
    delay(5000); 
  
      digitalWrite(SensorVccPin, LOW);
       delay(15);
  
  
    digitalWrite(SensorVccPin, HIGH);  
  
    delayMicroseconds(30);   
  
    digitalWrite(SensorVccPin, LOW);  
  
  
  
  while(digitalRead(datapin) == 0){
  
        delayMicroseconds(2);   }
  
  
  
     while(digitalRead(datapin) == HIGH)
  {
  delayMicroseconds(2);   }
  
  
  
  
    // STEP #2
    for (int i = 0; i&lt;16; i++)
    {
      while(digitalRead(datapin) == LOW)
      {
        delayMicroseconds(2); }  
  
      delayMicroseconds(10);
  
  
    bitcheck1 = digitalRead(datapin);   // maybe store as an array
       delayMicroseconds(17);      // 50 sec pause  // 27us = 0 bit, 70us is 1 bit data
    delayMicroseconds(15); 
    bitcheck2 = digitalRead(datapin);
  
    if (bitcheck1==bitcheck2)
    {temp[i]=1;
    delayMicroseconds(28); 
    }
    else
    {temp[i]=0;
  
    }
  
  
      }
  
      for (int i = 0; i&lt;16; i++)
    {
      while(digitalRead(datapin) == LOW)
      {
        delayMicroseconds(2); }  
  
      delayMicroseconds(10);
  
  
    bitcheck1 = digitalRead(datapin);   // maybe store as an array
       delayMicroseconds(17);      // 50 sec pause  // 27us = 0 bit, 70us is 1 bit data
    delayMicroseconds(15); 
    bitcheck2 = digitalRead(datapin);
  
    if (bitcheck1==bitcheck2)
    {humidity[i]=1;
    delayMicroseconds(28); 
    }
    else
    {humidity[i]=0;
  
    }
  
  
      }
  
  
      for (int i = 0; i&lt;8; i++)
    {
      while(digitalRead(datapin) == LOW)
      {
        delayMicroseconds(2); }  
  
      delayMicroseconds(10);
  
  
    bitcheck1 = digitalRead(datapin);   // maybe store as an array
       delayMicroseconds(17);      // 50 sec pause  // 27us = 0 bit, 70us is 1 bit data
    delayMicroseconds(15); 
    bitcheck2 = digitalRead(datapin);
  
    if (bitcheck1==bitcheck2)
    {sensorcheck[i]=1;
    delayMicroseconds(28); 
    }
    else
    {sensorcheck[i]=0;
  
    }
  
  
  
    delayMicroseconds(80); 
  
  
  
  
  
    for(int i=0; i&lt;16; i++)
    {
     Serial.print(temp[i]); 
  
    }
       Serial.print("  temp  "); 
  
  
    for(int i=0; i&lt;16; i++)
    {
     Serial.print(humidity[i]); 
  
    }
         Serial.print("  hum  "); 
  
    for(int i=0; i&lt;8; i++)
    {
     Serial.print(sensorcheck[i]); 
  
    }
         Serial.print(" check   "); 
  
  
      }
  
  
  
    }
  </code></pre>