Использование электронных ключей iButton совместно с Arduino

В коде который показан на видео, допущена серьезная ошибка, «исправленная» версия ниже, но всеровно, некто так два массива не сравнивает.


#include <OneWire.h> // http://www.pjrc.com/teensy/td_libs_OneWire.html
 
OneWire  ds(10);    

void setup(void) {  
  pinMode(13, OUTPUT);
  digitalWrite(13, HIGH);
}

void loop(void) {
  byte key[8] = {0x1, 0xA2, 0x34, 0xFA, 0x0, 0x0, 0x0, 0xFE};
  byte addr[8];
  byte val = 0;
  
  if (ds.search(addr)) {    
      for (byte i = 0; i < 8; i++) if (addr[i] == key[i]) val++;                       
      
      if (val == 8) {
       digitalWrite(13, LOW);
       delay(3000);
       digitalWrite(13, HIGH); 
     }
  ds.reset_search();   
  }  
}