- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Luck Dragon: Asszociációs játék. :)
- vrob: Az utolsó DOS játékok 1996 - 1997-ben, egy korszak lezárul
- Rap, Hip-hop 90'
- Gurulunk, WAZE?!
- sziku69: Szólánc.
- btz: Internet fejlesztés országosan!
- sziku69: Fűzzük össze a szavakat :)
- Meggyi001: RTX 5060 - Az új népkártya?
- bitpork: Phautós tali a Balcsinál 2025 Augusztus 2 napján (szombat)
Hirdetés
Köszönjük a sok biztatást, támogatást! Egy rövid ideig még féláron tudsz hirdetni, előfizetni!
-
LOGOUT
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
- LG 32GS95UE - 32" OLED / UHD 4K / 240Hz - 480Hz & 0.03ms / 1300 Nits / NVIDIA G-Sync / AMD FreeSync
- HP EliteBook 830 G8 i5-1135G7 16GB 512GB 1 év garancia
- Bomba ár! Lenovo ThinkPad X270 - i5-6G I 8GB I 256GB SSD I 12,5" FHD I HDMI I Cam I W10 I Garancia!
- 8 GB GeForce RTX 3070 Ti - garanciával
- iKing.Hu - Samsung Galaxy Tab S8 Graphite Használt, karcmentes állapotban
Állásajánlatok
Cég: FOTC
Város: Budapest