기계과 다니는 프로그램 늅늅임..


if문 배열 저장하는데 결과가 이상해서 나와서 질문 한다.

적외선 센서가 켜짐에 따라 값을 배열로 EEPROM에 저장하고 모터가 움직이는 코드를 짜고 있는데

왼쪽 적외선 센서가 켜져도 오른쪽 적외선 센서가 켜질때 값인 110이 저장되고 있음

if문에 문제가 있는거 같은데 찾을 수가 없어.... 


void loop() {


unsigned char button;


 button = digitalRead(8);


 if(button == HIGH){

          int i;

        int n=0 ;

        

        unsigned int RBelow = digitalRead(A2); // 하부 Right 적외선 센서

        unsigned int LBelow = digitalRead(A3); // 하부 Left 적외선 센서

        

        unsigned long currentMillis = millis();

       

        if(LBelow ==HIGH) /// 하부 Left 적외선 on , Right 적외선 off

        {

          Data[n][0] = 120;                 // n행 1열에 Speed값(120) 입력

          Data[n][1]= 0;       n++;                // 그다음 n행 2열에 0 입력

          left(); // 좌회전

        }


          

       if(RBelow == HIGH) /// 하부 Left 적외선 off , Right 적외선 on

        {

          Data[n][0] = 0;                     //  n행 1열에 0값 입력

          Data[n][1]= 110;  n++;               // 그다음 n행 2열에 Speed값(120) 입력

          right(); // 우회전

         }

          

        Data[n][2]= currentMillis; //n행 3열에 현재시간 입력

        

        Serial.print(Data[n][0]);

        Serial.print("    ");

        Serial.print(Data[n][1]);

        Serial.print("    ");

        Serial.println(Data[n][2]);


 byte hiByte = highByte(Data[n][0]);

 byte loByte = lowByte(Data[n][0]);

 byte hiByte1 = highByte(Data[n][1]);

 byte loByte1 = lowByte(Data[n][1]);

 byte hiByte2 = highByte(Data[n][2]);

 byte loByte2 = lowByte(Data[n][2]);

        

        EEPROM.write(addr, hiByte); EEPROM.write(addr+1, loByte); EEPROM.write(addr+2, hiByte1);

        EEPROM.write(addr+3, loByte1); EEPROM.write(addr+4, hiByte2); EEPROM.write(addr+5, loByte2);

        addr = addr + 6;

        if (addr == 510) addr = 0;

            

  }



0    0    8076

0    0    8097

0    0    8118

0    0    8139

//////////////// Left 적외선 센서가 켜진 구간 ...-----> 120   0   8160 , 120  0   8181, ....이 나와야함

0    110    8160      

0    110    8181

0    110    8202

0    110    8223

0    110    8244

0    110    8265

0    110    8286

0    110    8307

0    110    8328

0    110    8349

0    110    8370

0    110    8391

0    110    8412

0    110    8433

0    110    8454

0    110    8475

0    110    8497

0    110    8517

0    110    8539

0    110    8559

////////////////

0    0    8581

0    0    8601

0    0    8622

0    0    8643

0    0    8664

0    0    8685

0    0    8706

0    110    8727

0    110    8748

0    110    8769

0    110    8790

0    110    8811

0    110    8832

0    110    8853

0    110    8873

0    110    8895

0    110    8915

0    110    8937

0    110    8957

0    110    8979

0    110    8999

0    110    9021

0    110    9041

0    110    9063

0    110    9083

0    110    9105

0    110    9125

0    110    9147

0    110    9167