-
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
-
JozsBiker
aktív tag
Az egyik gond az lehet amit úgy látom többen is írtak, hogy az olvas() helyett loop() kellene.
Én a While használatában is problémát látok. A While ciklus addig megy, amíg a feltétel teljesül. Ha a While az elején van akkor lehet hogy egyszer sem fut le ( ha a feltétel nem teljesül ), míg a Do ... While egyszer mindenképpen lefut, és a végén van vizsgálva a feltétel. Ha teljesül akkor elölről kezdi, ha nem teljesül, kilép.
Te a flag -et 0 -ról lépteted, és gondolom azt akarod, hogy ha elér 2 -ig ( max_tomb ) akkor kilépjen a ciklusból. Viszont már az első lefutás után kilép, hiszen a megadott feltétel nem fog teljesülni.( Zárójelben jegyzem meg, hogy programozástechnikailag szerencsésebb
volna nem úgy megadnod egy feltételt hogykonstans == változó
hanem így:
változó == konstans
Hiszen a változóhoz viszonyítunk. )
-
Pubszon
veterán
Üdv.
Lehet hülyeség, de én pin kódos rendszert csináltam hasonlóképpen.
A gond szerintem az, hogy a flag eléri a 3-at, ahhoz meg már nincs semmi sem rendelve.
Alakítottam a kódodon, próbáld ki, hátha jó így.
#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);
const int cards = 2; //NFC kartyak szama
char* sequence[cards] = { "7C005669FD" , "7C00567C09" };
char* eredmeny[cards] = { " elso" , " masodik" };
int flag = 0;
int max_tomb = 2;
String code;
void setup()
{
Serial.begin(9600);
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("****Swipe a card****");
}
void loop()
{
rfid.read();
if (rfid.available())
{
code = (String)rfid.get();
if (code == sequence[flag])
{
lcd.setCursor(0, 1);
lcd.print("Good job! ");
lcd.print(eredmeny[flag]);
delay(2000);
lcd.setCursor(0, 1);
lcd.print(" ");
flag++;
}
else
{
lcd.setCursor(0, 1);
lcd.print("Wrong sequence!");
delay(2000);
lcd.setCursor(0, 1);
lcd.print(" ");
}
Serial.print(flag);
}
if (flag >= cards)
{
flag = 0;
}
}Sajnos én nem tudom kipróbálni.

Új hozzászólás Aktív témák
- Okos Otthon / Smart Home
- Kaspersky Antivirus és Internet Security Fórum
- Milyen monitort vegyek?
- Temu
- Apple asztali gépek
- A fociról könnyedén, egy baráti társaságban
- BestBuy topik
- Direct One (műholdas és online TV)
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- The Division 2 (PC, XO, PS4)
- További aktív témák...
- Garmin epix gen 2 51mm használt eladó. (Védőüveggel ellátott)
- ÚJ Razer Kraken V4 Pro gamer fejhallgató
- T14s Gen2i 27% 14" FHD IPS i5-1135G7 16GB 512GB NVMe ujjlolv IR kam gar
- Thinkpad T14 Gen5 14" FHD+ IPS Ryzen 5 PRO 8540U 32GB DDR5 256GB NVMe gar
- ThinkPad T14 Gen2i 27% 14" FHD IPS i5-1135G7 16GB 256GB ujjlolv IR kam új akku gar
- Új kijelzős! HP ZBook Studio G8 WorkStation i7-11850H 32GB 1000GB Nvidia Quadro T1200
- GYÖNYÖRŰ iPhone 11 64GB White -1 ÉV GARANCIA - Kártyafüggetlen, MS3871, 100% Akkumulátor
- Corsair MM350 pro XL egérpad, új
- LG 48B4 - 48" OLED - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox Ready
- GYÖNYÖRŰ iPhone 15 Plus 128GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3355, 100% Akkumulátor
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: ATW Internet Kft.
Város: Budapest


ekkold
