I have some problems with this device.
I used code :
#include <OneWire.h>
OneWire ds(12);
byte addr[8];
String keyStatus="";
void setup(void) {
Serial.begin(9600);
}
void loop(void) {
getKeyCode();
if(keyStatus=="ok"){
byte i;
for( i = 5; i >0; i--) {
Serial.print(":");
Serial.print(addr[i], HEX);
}
}
else if (keyStatus!="") { Serial.print(keyStatus);}
delay(1000);
}
void getKeyCode(){
byte present = 0;
byte data[12];
keyStatus="";
if ( !ds.search(addr)) {
ds.reset_search();
return;
}
if ( OneWire::crc8( addr, 7) != addr[7]) {
keyStatus="CRC invalid";
return;
}
if ( addr[0] != 0x01) {
keyStatus="not DS1990A";
return;
}
keyStatus="ok";
ds.reset();
}
and some errors appears. I used 2.2 kohm resistor for pull up and connected all wires in good patter