ممنون امتحان میکنم.
ولی کلا در مورد خوندن از سریال مشکل دارم و نمیتونم 10 کاراکتر رو درست از سریال بخونم.
کد:
if(rfid.available()) {
c = rfid.read(); // receive character from rfid
Serial.print(c);
tone(8, 523, 200);
}
این کد درست شماره هر تگ رو در خروجی سریال نشون میده. دقیقا 10 کاراکتر و بدون خطا. ولی مشکل اینه که من میخوام این شماره تگ رو با یه تعداد از شماره تگ ها که قبلا تو یه آرایه ذخیره کردم مقایسه کنم و اگر برابر بوند یه کار خاص انجام بدم.
کد:
if(rfid.available()) {
for (int i=0; i<10; i++) {
buffer[i] = rfid.read();
}
Serial.println(buffer);
}
اینجا که با حلقه میخوام 10 کاراکتر رو توی یه آرایه ذخیره کنم، مشکلش اینه که نمیتونه دقیق از سریال بخونه و شانسی شاید شماره تگ درست در بیاد ولی کلا دری وری نشون میده، مقلا اینا نتیجه سریال برای چند بار نزدیک کردن تگ با کد بالاست:
کد:
00ÿÿÿÿÿÿ0ÿH000
9699708
ÿH0009699708
000ÿÿÿÿÿÿÿH0009699708
0009
9699708
ÿH0009699708
0009699708
00ÿÿÿÿÿÿ0ÿH0009699708
0009699708
000
9699708
ÿH0009699708
0009699708
0009699708
000ÿÿÿÿÿÿ9H0009699708
0009699708
0009699708
0009
699708
ÿÿH0009699708
0009699708
0009699708
0009699708
000ÿÿÿÿÿÿ9H0009699708
0009699708
0009699708
0009699708
00096
699708
ÿÿH0009699708
0009699708
0009699708
0009699708
0009699708
00ÿ0ÿÿÿÿÿÿH699708
08
0009699708
0009699708
0009699708
0009699708
0009
9699708
ÿH699708
08
0009699708
0009699708
0009699708
0009699708
0009
00ÿÿÿÿÿÿÿÿH699708
0009699708
08
0009699708
0009699708
0009699708
0009
09699708
H699708
0009699708
08
0009699708
0009699708
0009699708
0009
000ÿÿÿÿÿÿ9H699708
0009699708
0009699708
08
0009699708
0009699708
0009
699708
ÿÿH699708
0009699708
0009699708
08
0009699708
0009699708
0009
00ÿ0ÿÿÿÿÿÿH699708
0009699708
0009699708
0009699708
08
0009699708
0009,#
9699708
ÿH699708
0009699708
0009699708
0009699708
08
0009699708
0009,,
00ÿÿÿÿÿÿÿ0H699708
0009699708
0009699708
0009699708
0009699708
08
00098/
9699708
ÿH699708
0009699708
0009699708
0009699708
0009699708
08
000988