Помогите начинающему Ошибка компиляции

Тема в разделе "Arduino & Shields", создана пользователем VLAD777, 22 фев 2015.

  1. sam4339

    sam4339 Нуб

    А как добавить ещё один ключ в этот скетч
    Код (C++):
    /* MOSI: Pin 11 / ICSP-4
    * MISO: Pin 12 / ICSP-1
    * SCK: Pin 13 / ISCP-3
    * SS: Pin 10
    * RST: Pin 9
    */


    #include <SPI.h>
    #include <RFID.h>

    #define SS_PIN 10
    #define RST_PIN 9
    #define BLUE_LED 6
    #define YELLOW_LED 7

    RFID rfid(SS_PIN, RST_PIN);

    unsigned char reading_card[5]; //for reading card
    unsigned char master[5] = {212,49,202,219,244}; // allowed card
    unsigned char i;


    void indication(int led);
    void allow();
    void denied();

    void setup()
    {
      Serial.begin(9600);
      SPI.begin();
      rfid.init();
      pinMode(BLUE_LED, OUTPUT);
      pinMode(YELLOW_LED, OUTPUT);
      digitalWrite(BLUE_LED, HIGH);
      digitalWrite(YELLOW_LED, HIGH);
    }

    void loop()
    {
        if (rfid.isCard())
        {
            if (rfid.readCardSerial())
            {
                    /* Reading card */
                    Serial.println(" ");
                    Serial.println("Card found");
                    Serial.println("Cardnumber:");
                    for (i = 0; i < 5; i++)
                    {  
                      Serial.print(rfid.serNum);
                      Serial.print(" ");
                      reading_card = rfid.serNum;
                    }
                    Serial.println();
                    //verification
                    for (i = 0; i < 5; i++)
                    {
                      if (reading_card!=master)
                      {
                        break;
                      }
                    }
                    if (i == 5)
                    {
                      allow();
                   
                    }
                    else
                    {
                      denied();
                   
                    }
             }
        }
        else{
         digitalWrite(YELLOW_LED, HIGH);
         // rfid.halt();
    }
     
    }

    void allow()
    {
      Serial.println("Access accept!"); //доступ получен
       digitalWrite(YELLOW_LED, LOW);
       delay(1000);
    }
    void denied()
    {
      Serial.println("Access denied!"); //доступ закрыт
       digitalWrite(YELLOW_LED, HIGH);
       delay(1000);
    }
     
    Последнее редактирование: 25 сен 2016
  2. sam4339

    sam4339 Нуб

    Прописал второй так

    Код (C++):
    unsigned char reading_card[5]; //for reading card
    unsigned char master[5] = {35,242,58,2,233};// allowed card
    unsigned char master2[5] = {212,49,202,219,244};// allowed card
    unsigned char i;
    второй не работает. Работает тот который прописан первым
     
    Последнее редактирование: 24 сен 2016
  3. alp69

    alp69 Форумчанин

    Не убирать код в тег - дурной тон!:mad:
    Нажмите кнопку слева от кнопки " и вставьте туда свой код.
    Либо перед кодом добавьте в квадратных скобках code, а в конце листинга тоже в квадратных скобках /code.
    ;)
     
  4. fogary

    fogary Гик

    В этом месте точно нет ошибки:
    Код (C++):
    //verification
    for (i = 0; i < 5; i++)
    {
      if (reading_card != master)
      {
        break;
      }
    }
    или все же так нужно:
    Код (C++):
    //verification
    for (i = 0; i < 5; i++)
    {
      if (reading_card[i] != master[i])
      {
        break;
      }
    }
    Второй ключ Вы добавили, а проверку его не сделали. Вот и не работает.
    Код (C++):
     if ( (reading_card[i] != master[i]) && (reading_card[i] != master2[i]) )
     
  5. sam4339

    sam4339 Нуб

    Большое спасибо.Всё заработало
     
  6. sam4339

    sam4339 Нуб

    Исправлюсь