سلام
دوستان کسی اطلاعاتی درباره راه اندازی rd01d id3 با آردوینو داره؟
کتابخونه ای مثل ماژول RC522 برای 01d هم واسه آردوینو هست؟ من نتونستم چیزی پیدا کنم.
نحوه راه اندازیش با آردوینو به چه صورت هست ؟ (arduino uno)
نمایش نسخه قابل چاپ
سلام
دوستان کسی اطلاعاتی درباره راه اندازی rd01d id3 با آردوینو داره؟
کتابخونه ای مثل ماژول RC522 برای 01d هم واسه آردوینو هست؟ من نتونستم چیزی پیدا کنم.
نحوه راه اندازیش با آردوینو به چه صورت هست ؟ (arduino uno)
میتونید دقیقا لینک بدید کدوم محصول سایت هستید؟
این دیتاشیت ـه ماژول هست:
http://www.kartach.com/datasheets/RF01D-ID3.pdf
بدون حافظه
آقا من دیشب اینو رو بردبورد بستم، وقتی تگ رو میخونه شماره 10 رقمی روی تگ و یا عدد هگز و یا اعداد اعشاری روی کارت ها (بسته به تنظیم خود کاربر) رو میتونه به RX ارسال کنه.
فقط یه بدی داره که تا زمانی که تگ نزدیک ریدر هست خروجی ماژول فعاله!
حالا یه سوال من چطوری میتونم این استرینگ ده رقمی که روی پورت سریال هست رو درست و حسابی توسط آردوینو بخونم؟ (بدون خطا و با تعداد دقیق کاراکتر که بخوام مقایسه کنم اگر جز تگ های شناخته شده بود یه پین رو مثلا 5 ثانیه High کن)
مشکل اینجاست که علاوه بر خوندن خروجی ماژول آر اف آی دی، توسط کامپیوتر هم هر ثانیه یه استرینگ به صورت مثلا "0110010" روی پورت سریال ارسال میشه، که در هر ثانیه ممکن متغیر باشه صفر و یک هاش، به این معنی که پین 2و3و6 رو High کن و مابقی رو LOW.
برای این که بتونم هم خروجی Rfid و هم خروجی سریال کامپیوتر رو بخونم باید از پورت مجازی استفاده کنم ؟ آیا؟
سلام به نظر من هیچ وقت از خود پورت سریال آردوینو استفاده نکیند چون تو پروگرام کردن دچار مشکل میشید پس همون اول تمام interface های سریال را با softwareserial راه اندازی کنید.
بدی که فرمودید اکثر ماژول های RFID همین مشکل را دارن که تگ را در فاصله های نزدیک میخونن مگر این که پول خرج کنید و ماژول گرون بخرید
میدونید که آردوینو با دستور serial.read() فقط میتونه یک بایت بخونه بنابریان بزاریدش توی حلقه for که ده بار تکرار بشه و اون را توی یک آرایه کراراکتری بریزید.
برای خوندن اون داده ارسالی کامپیوتر هم همین حلقه for را به تعداد بایت های اومده تکرار کنید.
دوست من اگر میتونی توی کامپیوتر برای داده ای که داری ارسال میکنی که علامت اتمام بزار مثلا * که وفتی به این رسید بفهمه کاراکترها تموم شدن در غیر این صورت ممکنه خطاب بگیری
ممنوون از راهنماییت دوست عزیر،
یه سوال راجع به ارتباط آردوینو با کامپیوتر توسط پورت سریال داشتم...
وقتی ما بورد رو به سیستم وصل میکنیم، خود ide میاد و یه پورت رو "مثل COM3" شناسایی میکنه، حالا تا زمانی که ما بخوایم از طریق خود آردوینو به این پورت دسترسی داشته باشیم مشکلی نیست، ولی سوالم اینه که از طریق کامپیوتر (نرم افزار ویندوزی که قراره اون استرینگ ها رو واسه آردوینو بفرسته) چطوری میتونیم به اون پورت دسترسی داشته باشیم؟
پیغام access to COM3 port is denied میده که طبیعی هم هست اون پورت توسط خود آردوینو مشغوله.
من چجوری میتونم از طریق نرم افزار ارتباط سریال با آردوینو برقرار کنم؟
خب نکته اول این که اگر قراره از اون کام3 استفاده کنی حتما محیط نرم افزار خود arduino را ببند وگرنه نرم افزار یگه یه جا این پورت اشغاله که خب تابلو هست کجاست
پس قدم اول و آخر اینه که محیط اردوینو رو ببندی
ممنون امتحان میکنم.
ولی کلا در مورد خوندن از سریال مشکل دارم و نمیتونم 10 کاراکتر رو درست از سریال بخونم.
این کد درست شماره هر تگ رو در خروجی سریال نشون میده. دقیقا 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);
}
کد: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
چند تا لینک به درد بخور کدهاش روبرای دریافت داده (فقط خوندن کارتها نه مقایسه ) استفاده کنید اگر ok شدید بغد برید تو فاز مقایسه با کارت
matrix - Send long array to arduino over serial from processing - Stack Overflow
uart - Serial communication and reading byte arrays with Arduino - Electrical Engineering Stack Exchange
سلام دوست عزیز. چند روزی در دسترس نبودم،
ممنونم بابت وقتی که میزاری.
مسئله خوندن از سریال رو با readStringUntil میشه گفت تقریبا حل کردم، الان میتونم بخونم و مقایسه کنم. هر چند کمی بیشتر باید روش وقت بزارم و کار کنم ولی تقریبا اون چیزی که میخواستم رو تونستم انجام بدم،
حالا یه سوال :
بورد من آردوینو uno هستش، که میکرو mega328 روشه، حالا اگه من این فایل hex که خود کامپایلر آردوینو میسازه رو مستقیم رو یه میکرو 328 دیگه بریزم، چی میشه؟ میتونم با اتصال قطعات به پایه های مشابه با برد آدرینو همون کار رو از میکرو دوم بگیرم؟
مسئله اینجاست که نمیخوام بوت لودر آردوینو رو میکرو بریزم، فقط میخوام اون فایل هگز رو مستقیم به میکرو جدید بدم و رو برد بزارم.
سلام اره از لحاظ نرم افزاری شدنیه و به این شرط که بدونید سخت افزاری مشابه آردوینو طراحی کنید براش .
ولی ازلحاظ نمرا فزاری شدنیه
این دقیقا یعنی چی؟نقل قول:
سخت افزاری مشابه آردوینو طراحی کنید ...
مثلا من یه ال ای دی رو به پین 5 آدرینو وصل کردم و کد نوشتم که هرثانیه خاموش و روشن شه. حالا فایل هگزشو بریزم رو یه میکرو دیگه و ال ای دی رو به همون پایه 5 وص کنم، قاعدتا باید ال ای دی هر ثانیه روشن و خاموش شه دیگه؟ درسته؟!
فقط یه سوال این که از سریال میخونه چی؟ میشه تکلیفش؟ چون Avr که با آیسی هایی مث max232 امکان ارتباط با سریال بود، الان تکلیف این ماژول RFID که من استفاده کردم و شماره تگ رو به پایه ای که به عنوان RX تعیین کردم میفرسته، آیا اون میکرو جدید هم اینو میفهمه بدون آی سی max؟
سلام
منظور من هم دقیقا همین بود مثلابرای مثال led شما باید هم رگولاتور هم کریستال داشته باشید تا بتونید avr را راه اندازی کنید .برای rfid هم همینطور علاوه بر تمام موارد ذکر شده مبدل هم خریداری کنید
لذا راه حل ساده همون کار با آردوینو هست
با سلام
ریدر EM-19 از RF01D خیلی بهتره و امکانات بیشتری داره.در لینک زیر توسط EM-19 یه قفل الکترونیکی ساخته شده و روی درب نصب شده است.
قفل درب الکترونیکی RFID