-
Fototrend
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
DeniL
tag
Sziasztok,
a segítségeteket szeretném kérni. Problémába ütköztem, 2 napja agyalok rajta, egyszerűen kezdem feladni és a kukába dobni az egészet

Adott egy feladat:
Van 6 db NFC tag-em, elneveztem őket 1-6-ig, van egy nfc olvasó (kezdetben egy NFC shield, később a nagyobb hatótáv és teljesítmény miatt ID-12LA vagy ID-20 lesz).
A 6 darab tag-et megfelelő sorrendben szeretném beolvastatni. Azaz deklaráltam 6 constanst a 6 tag UID-ja alapján és azt szeretném, hogy kezdjen el beolvasni, ha odarakok bármilyen tag-et nem az elsőt, akkor addig olvasson, amíg meg nem kapja az első tag-et, amjd ha megkapta, menjen beljebb és kérje a második tag-et, ha nem a másodikat kapja, addig olvasson, amíg azt nem adom neki....
A mintakódomban amivel szenvedek az a hibajelenség, hogy kéri az első tag-et, ha nem azt adom neki, akkor olvas újra, ez idáig rendben is van. Ha odaadom neki a megfelelőt, akkor kéri a második tag-et, majd ha nem azt adom oda, 1x lefut az else ág, hogy "újra beolvasás történik", majd másodpercek múlva kifut a kódom és kéri az első tag-et......nem értem miért.
Még egy valami észrevételt vettem észre, a két NFC/RFID olvasó között (NFC shield/ ID-12LA), hogy amíg az nfc shieldhez odaérintek egy tag-et, akkor kiolvas egyszerre vagy 6x, tehát lehet a kódom lefutna, amíg a ID 12-nél ott tarthatom a tag-et, akkor is csak 1x olvassa le.
Hogyan tudnám még azt kiküszöbölni, hogy egyszer olvasson (tag UID) és utána többet már ne, csak fusson tovább a kódom?
És a satnya kódrészletem amin már 2 napja töröm a fejem hiába......
#include <SPI.h>
#include <PN532_SPI.h>
#include <PN532.h>
#include <NfcAdapter.h>String const myUID1 = "F0 D7 70 80";//
String const myUID2 = "A0 3C 8D 24";//
String const myUID3 = "C0 9A 0E 26";//
String const myUID4 = "D2 82 C0 3D";//
String const myUID5 = "A2 E1 C1 3D";//
String const myUID6 = "C0 B6 06 26";//PN532_SPI interface(SPI, 10); // create a PN532 SPI interface with the SPI CS terminal located at digital pin 10
NfcAdapter nfc = NfcAdapter(interface); // create an NFC adapter objectvoid setup()
{
Serial.begin(115200);
//Serial.println("NFC Tag Writer"); // Serial Monitor Message
nfc.begin();
}void loop()
{
if (nfc.tagPresent())
{NfcTag tag = nfc.read();
String idnumber = tag.getUidString();if (myUID1 == idnumber)
{
Serial.println("This is the first");NfcTag tag = nfc.read();
idnumber = tag.getUidString();delay(4000);
if (myUID2 == idnumber)
{
Serial.println("This is the second");
NfcTag tag = nfc.read();
idnumber = tag.getUidString();delay(4000);
if (myUID3 == idnumber)
{
Serial.println("This is the second");
NfcTag tag = nfc.read();
idnumber = tag.getUidString();delay(4000);
if (myUID4 == idnumber)
{
Serial.println("This is the fourth");
NfcTag tag = nfc.read();
idnumber = tag.getUidString();delay(4000);
if (myUID5 == idnumber)
{
Serial.println("This is the fifth");
NfcTag tag = nfc.read();
idnumber = tag.getUidString();delay(4000);
if (myUID6 == idnumber)
{
Serial.println("This is the sixth");
}
else
{
Serial.println("Not correct tag!");
}
}
else
{
Serial.println("Not correct tag!");
}
}
else
{
Serial.println("Not correct tag!");
}
}
else
{
Serial.println("Not third tag!");
do {
NfcTag tag = nfc.read();
idnumber = tag.getUidString();
delay(2000);
}
while (myUID3 == idnumber);
}
}
else
{
Serial.println("Not second tag!");
do {
NfcTag tag = nfc.read();
idnumber = tag.getUidString();
delay(2000);
}
while (myUID2 == idnumber);
}
}
else
{
Serial.println("Not firts tag!");
do {
NfcTag tag = nfc.read();
idnumber = tag.getUidString();
delay(2000);
}
while (myUID1 == idnumber);
}
}
else
{
Serial.println("Place tag to the reader!");
}
}
Új hozzászólás Aktív témák
- Szép! Lenovo Thinkpad T14s G2 Üzleti "Golyóálló" Laptop 14" -50% i7-1185G7 4Mag 16GB/1TB FHD IPS
- Szép! Lenovo Thinkpad T14s G2 Üzleti "Golyóálló" Laptop 14" -50% i7-1185G7 4Mag 16GB/512GB FHD IPS
- Dell PowerEdge T110 II PC, Xeon E3-1220 v2 CPU, 32 GB DDR3 RAM, 2 x 1 TB SAS HDD
- Lenovo Tab M10 HD 64GB, Kártyafüggetlen, 1 Év Garanciával
- HyperX Fury DDR4 - 3200 - CL16 - 16GB RAM (8GB x 2) RGB
- Vállalom Xiaomi Okoskamerák szoftveres javíttását
- Xiaomi Redmi Note 13 8/256GB / 12 hónap jótállással!
- AKCIÓ! Lenovo Legion Slim 5 Gamer notebook - R7 7435HS 16GB RAM 1TB SSD RTX 4070 8GB GDDR6 WIN11
- 137 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4080 - 4 ÉV GARANCIA!
- GYÖNYÖRŰ iPhone 13 mini 128GB Starlight -1 ÉV GARANCIA - Kártyafüggetlen, MS4056, 100% Akkumulátor
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi

ekkold
