صفحه 1 از 2 12 آخرینآخرین
نمایش نتایج: از 1 به 10 از 14
Like Tree2 لایک

موضوع: Rf01d و آردوینو

  1. #1
    Junior Member
    تاریخ عضویت
    Jan 2015
    نوشته ها
    8

    Rf01d و آردوینو

    سلام
    دوستان کسی اطلاعاتی درباره راه اندازی rd01d id3 با آردوینو داره؟
    کتابخونه ای مثل ماژول RC522 برای 01d هم واسه آردوینو هست؟ من نتونستم چیزی پیدا کنم.
    نحوه راه اندازیش با آردوینو به چه صورت هست ؟ (arduino uno)

  2. #2
    Senior Member
    تاریخ عضویت
    Jan 2015
    محل سکونت
    ایران
    نوشته ها
    238
    میتونید دقیقا لینک بدید کدوم محصول سایت هستید؟

  3. #3
    Junior Member
    تاریخ عضویت
    Jan 2015
    نوشته ها
    8
    این دیتاشیت ـه ماژول هست:
    http://www.kartach.com/datasheets/RF01D-ID3.pdf

    بدون حافظه

  4. #4
    Junior Member
    تاریخ عضویت
    Jan 2015
    نوشته ها
    8
    آقا من دیشب اینو رو بردبورد بستم، وقتی تگ رو میخونه شماره 10 رقمی روی تگ و یا عدد هگز و یا اعداد اعشاری روی کارت ها (بسته به تنظیم خود کاربر) رو میتونه به RX ارسال کنه.
    فقط یه بدی داره که تا زمانی که تگ نزدیک ریدر هست خروجی ماژول فعاله!

    حالا یه سوال من چطوری میتونم این استرینگ ده رقمی که روی پورت سریال هست رو درست و حسابی توسط آردوینو بخونم؟ (بدون خطا و با تعداد دقیق کاراکتر که بخوام مقایسه کنم اگر جز تگ های شناخته شده بود یه پین رو مثلا 5 ثانیه High کن)
    مشکل اینجاست که علاوه بر خوندن خروجی ماژول آر اف آی دی، توسط کامپیوتر هم هر ثانیه یه استرینگ به صورت مثلا "0110010" روی پورت سریال ارسال میشه، که در هر ثانیه ممکن متغیر باشه صفر و یک هاش، به این معنی که پین 2و3و6 رو High کن و مابقی رو LOW.
    برای این که بتونم هم خروجی Rfid و هم خروجی سریال کامپیوتر رو بخونم باید از پورت مجازی استفاده کنم ؟ آیا؟

  5. #5
    Senior Member
    تاریخ عضویت
    Jan 2015
    محل سکونت
    ایران
    نوشته ها
    238
    سلام به نظر من هیچ وقت از خود پورت سریال آردوینو استفاده نکیند چون تو پروگرام کردن دچار مشکل میشید پس همون اول تمام interface های سریال را با softwareserial راه اندازی کنید.

    بدی که فرمودید اکثر ماژول های RFID همین مشکل را دارن که تگ را در فاصله های نزدیک میخونن مگر این که پول خرج کنید و ماژول گرون بخرید

    میدونید که آردوینو با دستور serial.read() فقط میتونه یک بایت بخونه بنابریان بزاریدش توی حلقه for که ده بار تکرار بشه و اون را توی یک آرایه کراراکتری بریزید.

    برای خوندن اون داده ارسالی کامپیوتر هم همین حلقه for را به تعداد بایت های اومده تکرار کنید.

    دوست من اگر میتونی توی کامپیوتر برای داده ای که داری ارسال میکنی که علامت اتمام بزار مثلا * که وفتی به این رسید بفهمه کاراکترها تموم شدن در غیر این صورت ممکنه خطاب بگیری

  6. #6
    Junior Member
    تاریخ عضویت
    Jan 2015
    نوشته ها
    8
    ممنوون از راهنماییت دوست عزیر،
    یه سوال راجع به ارتباط آردوینو با کامپیوتر توسط پورت سریال داشتم...
    وقتی ما بورد رو به سیستم وصل میکنیم، خود ide میاد و یه پورت رو "مثل COM3" شناسایی میکنه، حالا تا زمانی که ما بخوایم از طریق خود آردوینو به این پورت دسترسی داشته باشیم مشکلی نیست، ولی سوالم اینه که از طریق کامپیوتر (نرم افزار ویندوزی که قراره اون استرینگ ها رو واسه آردوینو بفرسته) چطوری میتونیم به اون پورت دسترسی داشته باشیم؟
    پیغام access to COM3 port is denied میده که طبیعی هم هست اون پورت توسط خود آردوینو مشغوله.
    من چجوری میتونم از طریق نرم افزار ارتباط سریال با آردوینو برقرار کنم؟

  7. #7
    Senior Member
    تاریخ عضویت
    Jan 2015
    محل سکونت
    ایران
    نوشته ها
    238
    خب نکته اول این که اگر قراره از اون کام3 استفاده کنی حتما محیط نرم افزار خود arduino را ببند وگرنه نرم افزار یگه یه جا این پورت اشغاله که خب تابلو هست کجاست

    پس قدم اول و آخر اینه که محیط اردوینو رو ببندی

  8. #8
    Junior Member
    تاریخ عضویت
    Jan 2015
    نوشته ها
    8
    ممنون امتحان میکنم.

    ولی کلا در مورد خوندن از سریال مشکل دارم و نمیتونم 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
    ویرایش توسط mehdirm666 : 02-05-2015 در ساعت 04:05 PM

  9. #9
    Senior Member
    تاریخ عضویت
    Jan 2015
    محل سکونت
    ایران
    نوشته ها
    238
    چند تا لینک به درد بخور کدهاش روبرای دریافت داده (فقط خوندن کارتها نه مقایسه ) استفاده کنید اگر 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
    لایک کردن

  10. #10
    Junior Member
    تاریخ عضویت
    Jan 2015
    نوشته ها
    8
    سلام دوست عزیز. چند روزی در دسترس نبودم،
    ممنونم بابت وقتی که میزاری.
    مسئله خوندن از سریال رو با readStringUntil میشه گفت تقریبا حل کردم، الان میتونم بخونم و مقایسه کنم. هر چند کمی بیشتر باید روش وقت بزارم و کار کنم ولی تقریبا اون چیزی که میخواستم رو تونستم انجام بدم،
    حالا یه سوال :
    بورد من آردوینو uno هستش، که میکرو mega328 روشه، حالا اگه من این فایل hex که خود کامپایلر آردوینو میسازه رو مستقیم رو یه میکرو 328 دیگه بریزم، چی میشه؟ میتونم با اتصال قطعات به پایه های مشابه با برد آدرینو همون کار رو از میکرو دوم بگیرم؟
    مسئله اینجاست که نمیخوام بوت لودر آردوینو رو میکرو بریزم، فقط میخوام اون فایل هگز رو مستقیم به میکرو جدید بدم و رو برد بزارم.

صفحه 1 از 2 12 آخرینآخرین

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  

SEO by vBSEO