• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
skrócenie kodu oraz jak usunąć coś z tablicy
#3
Kod:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <SPI.h>
#include <MFRC522.h>
#define BACKLIGHT_PIN 3
LiquidCrystal_I2C lcd(0x27,16,2);
#define SS_PIN 10
#define RST_PIN 9
unsigned long punkty;
int delayTime = 1500;
int a;

MFRC522 rfid(SS_PIN, RST_PIN); // Instance of the class

const byte poprawna_karta2[4][4] = { {0x93,0xD3,0xB3,0xE3,},
                                    {0x7D,0xC0,0x8E,0xD4},
                                    {0xE9,0xD4,0x9F,0x12},
                                    {0x1B,0x1B,0xAC,0x1D} };

void setup() {
  Serial.begin(9600);
  SPI.begin(); // Init SPI bus
  rfid.PCD_Init(); // Init MFRC522
  lcd.init();
  lcd.backlight();
  lcd.home();
  lcd.print ("Grabierz");
  lcd.setCursor(0,1);
  delay(3000);
  lcd.clear();
  }
void loop() {
        
          lcd.setCursor(3,0);
          lcd.print("Wynik:");
          lcd.setCursor(7,1);
          lcd.print(punkty);

  // Look for new card
  if ( ! rfid.PICC_IsNewCardPresent())
    return;

  // Verify if the NUID has been readed
  if ( ! rfid.PICC_ReadCardSerial())
    return;
if
      ( rfid.uid.uidByte[0] == poprawna_karta2[0][0]&&
      rfid.uid.uidByte[1] == poprawna_karta2[1][0]&&
      rfid.uid.uidByte[2] == poprawna_karta2[2][0] &&
      rfid.uid.uidByte[3] == poprawna_karta2[3][0]
      ||
      rfid.uid.uidByte[0] == poprawna_karta2[0][1]&&
      rfid.uid.uidByte[1] == poprawna_karta2[1][1]&&
      rfid.uid.uidByte[2] == poprawna_karta2[2][1] &&
      rfid.uid.uidByte[3] == poprawna_karta2[3][1]
      ||
      rfid.uid.uidByte[0] == poprawna_karta2[0][2]&&
      rfid.uid.uidByte[1] == poprawna_karta2[1][2]&&
      rfid.uid.uidByte[2] == poprawna_karta2[2][2] &&
      rfid.uid.uidByte[3] == poprawna_karta2[3][2]
      ||
      rfid.uid.uidByte[0] == poprawna_karta2[0][3]&&
      rfid.uid.uidByte[1] == poprawna_karta2[1][3]&&
      rfid.uid.uidByte[2] == poprawna_karta2[2][3] &&
      rfid.uid.uidByte[3] == poprawna_karta2[3][3]
  
    )
  
    {
          lcd.clear();
          lcd.setCursor(3,0);
          lcd.print("Przyznano");
          lcd.setCursor(3,1);
          lcd.print("2 punkty!!");
          delay(delayTime);
          lcd.clear();
          punkty=punkty+2;
          return;
    
    }
else{
          lcd.clear();
          lcd.setCursor(2,0);
          lcd.print("Niepoprawna");
          lcd.setCursor(3,1);
          lcd.print("Karta!!!");
          delay(delayTime);
          lcd.clear();
        return;
    }


  // Halt PICC
  rfid.PICC_HaltA();

  // Stop encryption on PCD
  rfid.PCD_StopCrypto1();
}

korzystam z 2wymiarowej bo finalnie ma być około 50 tagów
 
Odpowiedź
  


Wiadomości w tym wątku
RE: skrócenie kodu oraz jak usunąć coś z tablicy - przez senpuuxd - 01-04-2023, 22:05

Skocz do:


Przeglądający: 1 gości