-
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
- One mobilszolgáltatások
- Milyen egeret válasszak?
- Luck Dragon: Asszociációs játék. :)
- Apple iPhone 17 - alap
- Tomato firmware
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Víztisztító berendezések - kancsók - szűrőbetétek
- Mibe tegyem a megtakarításaimat?
- BestBuy topik
- Milyen légkondit a lakásba?
- További aktív témák...
- 0% THM 6 havi részlet beszámítás! RX 9060 XT / 9070 / 9070 XT videokártyák készletről KAMATMENTESEN
- Panasonic CF-XZ6 AIO all-in-one laptop tablet 2k touch i5-7300u speciális ütésálló rugged
- ÁRGARANCIA!Épített KomPhone Ryzen 5 5600X 16/32/64GB RAM RX 7600 8GB GAMER PC termékbeszámítással
- Telefon felvásárlás!! iPhone 11/iPhone 11 Pro/iPhone 11 Pro Max
- LÉZEREZÉS! külföldi billentyűzet magyarra kb. 20-30p alatt!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest