Pomoc w programie do odczytu kart rfid - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Piaskownica (https://forum.arduinopolska.pl/dzial-piaskownica) +--- Wątek: Pomoc w programie do odczytu kart rfid (/watek-pomoc-w-programie-do-odczytu-kart-rfid) |
Pomoc w programie do odczytu kart rfid - OMK - 06-01-2023 Dzień dobry. Program czyta mi kartę. Wyświetla kod. Nie potrafię porównać nr kary odczytanego z nr zapisanym w programie i np. zmianę stanu na pinie. void receivedData(uint8_t* data, uint8_t bits, const char* message) { Serial.print(message); Serial.print(bits); Serial.print("bits / Nr karty: "); //Print value in HEX uint8_t bytes = (bits+7)/8; for (int i=0; i<bytes; i++) { Serial.print(data[i] >> 4, 16); Serial.print(data[i] & 0xF, 16); } Serial.println(); } Wyświetla coś takiego: Card readed: 24bits / Nr karty: 1AD169 Card readed: 24bits / Nr karty: 1AD169 Card readed: 24bits / Nr karty: 1AD169 Jak to zrobić ? if nr_karty = 1AD169 to pin = HIGH RE: Pomoc w programie do odczytu kart rfid - kaczakat - 06-01-2023 W data[] masz numery, czyli tablica, zapisz sobie numer karty w takiej tablicy i porównaj i-te elementy, wszystkie zgodne to pin = HIGH . RE: Pomoc w programie do odczytu kart rfid - OMK - 14-01-2023 Czy ktoś pomoże to uprościć? .......... if ((wg.getCode() == 1757545) || (wg.getCode() == 8741141) || (wg.getCode() == 9211837) || itd..........) { digitalWrite(PIN_P1, LOW); ............. Będę wdzięczny za pomoc. RE: Pomoc w programie do odczytu kart rfid - kaczakat - 14-01-2023 Rozumiem, że tak otrzymujesz liczbę zamiast tablicy bajtów, to sobie ją zapisz przed if do zmiennej uint32 i porównuj do zmiennej, będzie trochę szybciej niż wywoływać funkcję X razy, a samego ifa nie mam pomysłu jak uprościć, dla mnie wygląda OK. RE: Pomoc w programie do odczytu kart rfid - OMK - 14-01-2023 (14-01-2023, 16:52)kaczakat napisał(a): Rozumiem, że tak otrzymujesz liczbę zamiast tablicy bajtów, to sobie ją zapisz przed if do zmiennej uint32 i porówój do zmiennej, będzie trochę szybciej niż wywoływać funkcję X razy, a samego ifa nie mam pomysłu jak uprościć, dla mnie wygląda OK.Dzięki wielkie. Wygląda że działa i się nie myli. Potestuje i chyba zostawię tak jak jest. Fajnie by było mieć kartę matkę po odczytaniu której można by było dodawać nowe - ale to już wyższa szkoła jazdy RE: Pomoc w programie do odczytu kart rfid - kaczakat - 15-01-2023 Wystarczy napisać funkcję w switch case, po wykryciu wybranej karty program przechodzi przez np. 10s casem, gdzie odczyt innej karty, nie zapisanej na liście dodaje ją do tablicy kart uprawnionych. |