Hirdetés
- Jövő héten indul a Xiaomi kameraforradalma
- Csonkítás áldozata lett a nemzetközi Redmi Note 15 Pro+
- Nem rejtegetik tovább a Redmi Note 15 Pro és 15 Pro 5G globális verzióját sem
- Akciófigyelő: December 24-ig tart az Ulefone karácsonyi leárazása
- Bemutatta a Xiaomi a Redmi Note 15 és Note 15 5G globális változatát
- Xiaomi 15T Pro - a téma nincs lezárva
- Samsung Galaxy S23 Ultra - non plus ultra
- Minden a BlackBerry telefonokról és rendszerről
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Samsung Galaxy A54 - türelemjáték
- Redmi Note 13 Pro 5G - nem százas, kétszázas!
- Google Pixel topik
- Örömkönnyek és üres kezek a TriFold startjánál
- Honor Magic7 Pro - kifinomult, költséges képalkotás
-
Mobilarena
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,
még mindig az NFC olvasó, még mindig ugyan az a projektem fut. Tehát a 6 Tag-et csak egy adott sorrendben akarom beolvasni, ha más tag-et kap, mint amit kellene, akkor olvasson újra.
1 hete küzdök vele, bár ahhoz képest, hogy jó 2 héttel ezelőtt még az arduinóról sem sokat hallottam, haladok, de nagyon lassan.
Időközben megjött az ID-12LA típusú nfc/rfid olvasó, így mellőztem az NFC shieldet. Viszont ehhez a korábban használt 6 darab tag nem jó, így rendelhetek másikat. Amíg a megfelelő mennyiségű tag-re várok, 2 tag-et próbáltam összehasonlítani és tudni illik, ha kettőt végre sikerül, akkor utána a többit már gyerekjáték lenne.....
Csak jutnék már túl azon a kettőn.
Bekerült a projektembe egy 20x4-es LCD kijelző is, így a kiíratás már arra történik.
Közben próbáltam megfogadni két korábban segédkező fórumtárs javaslatát, hogy tároljam a tag-ek azonosítóit tömbben, a másik pedig a while ciklus lett volna.
Csak simán egymás után futtatott while-kkal is kifutott a kódból, bár nem értem miért.....
De nem adom fel, keresem a megoldást.Tehát a kódomban van 1 tömbön, benne a 2 tag azonosítójával, és do-while-al pörgetem loopban a ciklust. 1 flag-et használok, ha van egyezés a flag értéke növekszik, ha nincs egyezés, marad a flag értéke.
Problémáim:
Ha simán minden kiíratás nélkül futtatom a kódom, többszöri tesztelésre ha helyes kártyát adok "Good job", ha helytelent "Wrong sequence". Ez így helyén is lenne, de:
1. ha lefut 1x hibátlanul, kifagy a végén az arduíno, nem indul újra az egész ciklus, tuti a kódom hibás, nem tudom, hogyan tudnám újra elől kezdeni vele a beolvasást.
2. szerettem volna a végén kiírni, ha megvan a 2 kártya helyes sorrendje, hogy "Nice job" vagy valami hasonló, de egyszerűen nem találom hová tudnám beszúrni. Én naívan beraktam a while után (gondoltam ha kilép majd a ciklusból, pont jó lesz), aztán eltelt 2 óra, mire rájöttem, hogy rfid.available miatt bármikor kártyát érintek az olvasóhoz, meg fog jelenni a kiíratásom...tehát zsákutca
3. hogyan lehetne az lcd kijelzőn a sort törölni? Nincs valami clearline vagy hasonló? Nagyon kókány, de jobb ötletem nem támadt, mint hogy teleírom space-el......
4. gondoltam folytatom a kiíratást azzal, hogy odaírom, hogy "első (kártya)" ha az elsőt húzom le a "good job" szöveg után, majd a "második" szócskát a második kártya lehúzásakor. Mivel 1 ciklus pörög, nehéz volt eldöntenem hogy a "good job szöveg" melyik lehúzásra is vonatkozott (korábban nagyok voltak a lcd printnél a delay-ek stb stb stb), meg amúgy is szeretném kiíratni, így hát csináltam egy második tömböt és szintén a flag változóval szedem ki a tömbből az elemet, viszont amint megcsinálom a helyes sorrendet, kiírja első, második, majd egy pillanatra belefut az else ágba és kiírja "Wrong sequence". Képtelen vagyok megfejteni, hol hibázom.
Ha leszedem a kiíratást, csak marad a két rövid szöveg "good" vagy "wrong" semmi baja. Mihelyst mögé szúrom a "első" és "második" szavakat, a ciklus vége belefut az else ágba....Néztem a flag értékét, helyesen változik.....
Hát második körben így ennyi. Nem adom fel, viszont valami útmutatást szívesen fogadnék lelkes amatőrként....köszi előre mindenkinek, és akkor íme a kódom...
#include <SoftwareSerial.h>
#include <ID20Reader.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <ID20Reader.h>
int rx_pin = 2;
int tx_pin = 8;
ID20Reader rfid(rx_pin, tx_pin);
LiquidCrystal_I2C lcd(0x27,20,4);
void setup() {
Serial.begin(9600);
lcd.init();
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("****Swipe a card****");
}
char* sequence[] = { "7C005669FD" , "7C00567C09" };
char* eredmeny[] = { " elso" , " masodik" };
int flag = 0;
int max_tomb = 2;
String code;
void olvas()
{
rfid.read();
if (rfid.available())
{
do{
code = (String)rfid.get();
if (code == sequence[flag])
{
flag++;
lcd.setCursor(0,1);
lcd.print("Good job!" + (String)eredmeny[flag-1]);
delay(2000);
lcd.setCursor(0,1);
lcd.print(" ");
}
else
{
lcd.setCursor(0,1);
lcd.print("Wrong sequence!");
delay(2000);
lcd.setCursor(0,1);
lcd.print(" ");
}
Serial.print(flag);
}while(max_tomb == flag);
}
}
Új hozzászólás Aktív témák
- Gumi és felni topik
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Építő/felújító topik
- Horgász topik
- Milyen TV-t vegyek?
- Counter-Strike: Global Offensive (CS:GO) / Counter-Strike 2 (CS2)
- Nem folyik, nem kenődik, de hűteni azt tud
- Suzuki topik
- Samsung kuponkunyeráló
- Kerékpárosok, bringások ide!
- További aktív témák...
- Apple iPhone 14 / 128GB / Kártyafüggetlen / 12HÓ Garancia / Akku: 85%
- Azonnali készpénzes Apple Macbook Air felvásárlás személyesen / csomagküldéssel korrekt áron
- Akció!!! Lenovo ThinkPad P15 Gen 1 Intel i7-10875H 32GB 1000GB Nvidia Quadro RTX 3000 1 év garancia
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7700X 32/64GB RAM RX 9070 16GB GAMER PC termékbeszámítással
- Samsung Galaxy S22 / 8/128GB / Kártyafüggetlen / 12Hó Garancia
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: ATW Internet Kft.
Város: Budapest
ekkold

