اگر راه اندازی ماژول PN532 NFC و بررسی کاربردهای متعدد این قطعه به موضوعی جدید در یکی از پروژههای شما تبدیل شده است یا تصمیم دارید خودتان یک اسکنر کارت NFC را بسازید، این مقاله میتواند مرجع یادگیری کاملی برای رسیدن شما به این اهداف باشد. زیرا در این آموزش قصد داریم ماژول PN532 NFC-RFID را در سه مد UART، I2C و SPI با ماژول آردوینو راه اندازی کنیم و در آخر شمارههای UID کارت NFC را بر روی یک نمایشگر 0.96 اینچ OLED نمایش دهیم. PN532 یک ماژول برپایه ساز و کار ارتباطی NFC و RFID است که امروزه اکثراً به عنوان ابزاری برای برقراری ارتباط از طریق تلفن همراه، به ویژه انجام پرداخت مورد استفاده قرار میگیرد. این ماژول را میتوان به صورت تعبیهشده در ماژولهای دیگر دید که امکان استفادهی آسان از آن در پروژههای آردوینو را فراهم میکند.
قطعات موردنیاز
ما برای انجام پروژه راه اندازی ماژول PN532 به قطعات زیر نیاز خواهیم داشت که شما میتوانید در صورت نیاز، این قطعات را از لینک مربوطه خریداری کنید:
- کیت ماژول PN532 NFC
- ماژول آردوینو نانو Arduino NANO CH340
- نمایشگر OLED 0.96 اینچ سفید با ارتباط I2C
- تعدادی سیم جامپر
- بردبورد
قبل از پرداختن به معرفی ماژول PN532 بیایید با تکنولوژی NFC و نحوه عملکرد آن آشنا شویم.
NFC چیست؟
ارتباط از فاصله نزدیک یا Near Field Communication (NFC) یک تکنولوژی استاندارد براساس تشخیص فرکانس رادیویی (RFID) است، یعنی اطلاعات را به صورت بیسیم و از فاصلهی بسیار کوتاهتری نسبت به ارتباط RFID انتقال میدهد.
فناوری NFC با راحتتر نمودن انجام تراکنشهای مالی، تبادل محتوای دیجیتال و اتصال به دستگاههای الکترونیکی، زندگی را برای افراد سراسر جهان آسانتر کرده است. چرا که تکنولوژی NFC با صدها میلیون کارت غیرتماسی موجود در سراسر جهان سازگار است.
نحوه عملکرد NFC :
NFC براساس اصل القای الکترومغناطیسی در فواصل بسیار کوتاه عمل میکند. به طوری که با عبور جریان الکتریکی از یک سیمپیچ، دستگاهِ با قابلیت خواندن (reader) یک میدان معناطیسی را با تگ ایجاد میکند.
زمانی که یک تگ متشکل از یک سیمپیچ، در نزدیکی این دستگاه قرار میگیرد، میدان مغناطیسی، بدون هیچ گونه تماس فیزیکی و یا بدون هیچ سیمی، یک جریان الکتریکی در تگ NFC ایجاد میکند. بنابراین پس از کامل شدن ارتباط اولیه، هر دادهی ذخیره شده بر روی تگ به صورت بیسیم به دستگاه با قابلیت خواندن منتقل میشود.
تفاوت بین NFC و RFID چیست؟
تفاوت اصلی بین ارتباطات RFID و NFC در فاصلهی انتقال داده آنها است. معمولاً RFID برای مسافتهای طولانیتر مورد استفاده قرار میگیرد. برای مثال، برخی از مناطق، عوارض جادهای را به طور خودکار از طریق RFID خودروها جمعآوری میکنند. چنانچه تگ RFID مجهز به یک منبع تغذیه باشد، امکان برقراری ارتباطات در فواصل بسیار طولانیتر نیز امکانپذیر خواهد شد.
با این وجود، ارتباط امن NFC میتواند از فواصلی در حد چند سانتیمتر پشتیبانی کند. طوریکه در اکثر اپلیکیشنهای تلفن همراه میبینید که تنها درصورت وجود تماس فیزیکی، نرمافزار قادر به برقراری ارتباط خواهد بود. دستگاههای مجهز به NFC میتوانند بهعنوان یک دستگاه کارتخوان یا حتی یک تگ عمل کنند. این قابلیت دوطرفه به شما این امکان را میدهد تا از یک سختافزار مانند موبایل خود برای انواع اپلیکیشنهای متنوع برای تبادل اطلاعات از طریق NFC استفاده کنید.
کاربردهای اصلی NFC
در ادامه چند کاربرد از ارتباط NFC را برای شما بیان نمودهایم:
- پرداخت از طریق موبایل. مانند سرویسهای Apple pay NFC , Google Wallet
- جفت شدن دستگاهها باضربه؛ دستگاههای مبتنیبر بلوتوث به جای فعالسازی دستی، تنها با یک ضربه (کلیک) با یکدیگر جفت میشوند.
- امکان جانمایی قطعات دیجیتال در محصولات فیزیکی؛ ابعاد کوچک دستگاههای مجهز به NFC سبب شده تا آنها را به راحتی در محصولات مختلف به کار ببرند که تجربهی منحصر به فردی را هنگام تعامل ایجاد میکند.
- برقراری امنیت در ارتباطات
- جایگزین شدن با پسورد
- احراز هویت محصول
از آنجا که ارتباط NFC زیرمجموعهای از ارتباطات رادیویی RFID بهشمار میآید پس میتوان کاربردهای مشترکی را در هر دو مورد دید اما میبایست بستهبه اهداف پروژه مدنظر خود، مانند میزان فاصله تا ماژول و امنیت در انتقال دادهها، از راه ارتباطی متناسبی استفاده کنید.
معرفی ماژول PN532 NFC
PN532 یک کنترلر RFID-NFC، ساخته شده توسط شرکت NXP و مبتنیبر معماری میکروکنترلر 80C51 میباشد که ارتباط بیسیم در فرکانس 13.56 مگاهرتز را امکانپذیر میسازد. علاوهبر این، با پشتیبانی از کارت MIFARE Classic 1K/MIFARE Classic 4K امکان انتقال سرعت بالاتر تا حداکثر 424 کیلوبیت بر ثانیه را در هر دو جهت فراهم میکند.
مشخصات ماژول PN532 NFC
- محدوده ولتاژ تغذیه: 2.7 الی 5.5 ولت
- دارای هسته میکروکنترلر 80C51 با 40 کیلوبایت حافظه ROM و 1 کیلوبایت حافظه RAM
- دارای دیکدر و دمدولاتور بسیار یکپارچه
- دارای تشخیص دهنده یکپارچه سطح سیگنال RF
- پشتیبانی از/ MIFARE ISO/IEC 14443A
- پشتیبانی از ISO/IEC 14443B (فقط مد Read/Writer)
بدانیم: سری استانداردهای ISO/IEC 14443 پارامترهایی را بهمنظور شناسایی کارتها و اشیا برای تبادلات بین المللی تعریف میکنند.
- پشتیبانی از حداکثر فاصلهی 5 سانتیمتر در مد خواندن و نوشتن برای ارتباط با / MIFARE ISO/IEC 14443A و ISO/IEC 14443B یا کارتهای Felica
- پشتیبانی از حداکثر فاصلهی 5 سانتی متر در NFCIP-1 بسته به سایز و تنظیمات آنتن و منبع تغذیه
- پشتیبانی از حداکثر فاصلهی 10 سانتی متر در شبیهسازی / MIFARE ISO/IEC 14443A یا مد کارت FeliCa
- امکان برقراری ارتباط با رابط RF با سرعت بیش از 424 کیلوبیت بر ثانیه با استفاده از قطعات آنالوگ خارجی
- دارای وقفههای اختصاصی
- مدهای کم مصرف سختافزاری و نرمافزاری
- دارای تایمرهای قابل برنامهریزی
- دارای کریستال اسیلاتور
در اینجا به ویژگیهای اصلی ماژول PN532 اشاره شد و شما میتوانید برای اطلاع از سایر ویژگیهای این ماژول دیتاشیت PN532 را مطالعه کنید.
نحوه انتخاب مد ارتباطی ماژول PN532 NFC
همانطور که دانستیم، یکی از مزیتهای بزرگ ماژول PN532 NFC این است که میتواند از مدهای مختلف مانند UART،I2C یا SPI برای ارتباط با آردوینو استفاده کند. البته هر یک از این پروتکلهای مختلف از پینها و کتابخانههای خاصی برای ارتباط با میکروکنترلر استفاده میکنند و ما در فاز برنامه نویسی میبایست هر فایل کتابخانه را به شکل اختصاصی دانلود و به برنامه اضافه کنیم.
برای انتخاب مد ارتباطی در انجام اتصالات این ماژول ابتدا لازم است پایههای SEL0 و SEL1 ماژول PN532، با استفاده از دیپ سوئیچ تعبیه شده روی برد آن، برای هر مد تنظیم شود.
SEL1 | SEL0 | Mode |
---|---|---|
0 | 0 | UART |
1 | 0 | SPI |
0 | 1 | L2C |
مقایسه کاربرد ماژول RC522 و PN532
ماژول RC522 به طور قطع معروفترین ماژول RFID برای پروژههای آردوینو است که بیشتر برای “شناسایی و تایید هویت” به کار میرود اما ماژول PN532 به ویژه از نظر گزینههای ارتباطی، مزیتهای قابل ملاحظهای نسبت به RC522 دارد مانند “ایجاد ارتباط امن” و “انتقال اطلاعات از فاصله کم” که به همین خاطر برای انجام تراکنشهای مالی مورد استفاده قرار میگیرد.
کارت NFC چیست؟
کارت یا تگهای NFC برای ایجاد ارتباط، تحت موجهای رادیویی مانند سایر تگهای RFID عمل میکنند. تگ NFC و دستگاه NFC ریدر براساس فرمت تبادل داده NFC، اطلاعات را با یکدیگر تبادل کنند. تگ NFC میتواند کارت ATM، کارت سفر، کارت مترو و سایر کارتهای دیگر باشد.
نحوه عملکرد یک تگ NFC به این شکل است که ابتدا این تگ برای فعالسازی آنتن موجود در دستگاه گیرنده، امواج رادیویی ارسال میکند و با این کار، گیرنده اطلاعات دریافتی را اعتبارسنجی میکند تا تبادل اطلاعات به طور کامل انجام شود. البته ناگفته نماند که این فناوری در یک فاصله بسیار کوتاه حدود 4 اینچ قابل استفاده است.
مزیت دیگر تگهای NFC، بدون باتری کار کردن آنها است به این دلیلکه تغذیه موردنیاز خود را از دستگاه دیگری مانند یک تلفن همراه تأمین میکنند.
توجه:
ازآنجاکه مدهای ارتباطی مختلفی برای راه اندازی ماژول PN532 در دسترس هستند، بنابراین در هر مورد باید از کتابخانه صحیحی استفاده شود. پیشرفتهترین کتابخانهای که از تمام پروتکلهای ارتباطی پشتیبانی میکند، کتابخانه PN532 Elechouse میباشد. پس از اتمام دانلود، فایل را از حالت فشرده خارج کنید. سپس کتابخانههای آن را از مسیر Library Manager به آردوینو IDE اضافه کنید، یا میتوانید برای راه اندازی ماژول PN532 در هر پروتکل ارتباطی از کتابخانههای لینک داده شده مخصوص آن مد استفاده کنید.
راه اندازی ماژول PN532 NTC در مد UART
در این بخش با خواندن اطلاعات و داده NFC از طریق مد High Speed UART یا همان ارتباط سریال کار خود را شروع میکنیم.
- در مرحله اول ماژول PN532 را به صورت زیر به آردوینو متصل میکنیم. (پایههای GND, VCC, Tx و Rx در پشت ماژول مشخص شدهاند.)
- سپس پایههای SEL0 و SEL1 را برای فعال کردن این مد، تنظیم میکنیم.
- GND (Ground) <-> GND
- Vcc (Power supply) <-> 5V
- Tx (Clock) <-> D3
- Rx (Data) <-> D2
کد آردوینو
برای ارتباط در مد UART، ابتدا کتابخانههای زیر را در سایت github دانلود و از مسیر Library Manager به آردوینو IDE اضافه کنید:
سپس برنامه زیر را کپی و آن را بر روی آردوینو خود آپلود نمایید.
#include <SoftwareSerial.h>
#include <PN532_SWHSU.h>
#include <PN532.h>
SoftwareSerial SWSerial( 3, 2 ); // RX, TX
PN532_SWHSU pn532swhsu( SWSerial );
PN532 nfc( pn532swhsu );
String tagId = "None", dispTag = "None";
byte nuidPICC[4];
void setup(void)
{
Serial.begin(115200);
Serial.println("Hello Maker!");
// Serial2.begin(115200, SERIAL_8N1, RXD2, TXD2);
nfc.begin();
uint32_t versiondata = nfc.getFirmwareVersion();
if (! versiondata)
{
Serial.print("Didn't Find PN53x Module");
while (1); // Halt
}
// Got valid data, print it out!
Serial.print("Found chip PN5");
Serial.println((versiondata >> 24) & 0xFF, HEX);
Serial.print("Firmware ver. ");
Serial.print((versiondata >> 16) & 0xFF, DEC);
Serial.print('.');
Serial.println((versiondata >> 8) & 0xFF, DEC);
// Configure board to read RFID tags
nfc.SAMConfig();
//Serial.println("Waiting for an ISO14443A Card ...");
}
void loop()
{
readNFC();
}
void readNFC()
{
boolean success;
uint8_t uid[] = { 0, 0, 0, 0, 0, 0, 0 }; // Buffer to store the returned UID
uint8_t uidLength; // Length of the UID (4 or 7 bytes depending on ISO14443A card type)
success = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A, &uid[0], &uidLength);
if (success)
{
Serial.print("UID Length: ");
Serial.print(uidLength, DEC);
Serial.println(" bytes");
Serial.print("UID Value: ");
for (uint8_t i = 0; i < uidLength; i++)
{
nuidPICC[i] = uid[i];
Serial.print(" "); Serial.print(uid[i], DEC);
}
Serial.println();
tagId = tagToString(nuidPICC);
dispTag = tagId;
Serial.print(F("tagId is : "));
Serial.println(tagId);
Serial.println("");
delay(1000); // 1 second halt
}
else
{
// PN532 probably timed out waiting for a card
Serial.println("Timed out! Waiting for a card...");
}
}
String tagToString(byte id[4])
{
String tagId = "";
for (byte i = 0; i < 4; i++)
{
if (i < 3) tagId += String(id[i]) + ".";
else tagId += String(id[i]);
}
return tagId;
}
پس از آپلود کد، مانیتور سریال را باز کرده و با نزدیک کردن کارتهای NFC به ماژول PN532، آن را تست کنید.
در مورد مد پر سرعت UART، تراشه قادر است تنها دادههای به طول 4 بایت داده از کارتهای NFC را بخواند و بیش از این مقدار در این مد قابل خواندن نمیباشد.
راه اندازی ماژول PN532 NTC در مد I2C
اکنون میخواهیم داده NFC را در مد I2C بخوانیم. در گام اول ماژول PN532 را مطابق تصویر زیر به آردوینو خود متصل کنید و سپس تنظیمات مربوطه به پینهای SEL0 و SEL1 را برای فعالسازی این مد، روی برد اعمال کنید.
- GND (Ground) <-> GND
- VCC (Power supply) <-> 5V
- SDA (Data) <-> A4
- SCL (Clock) <-> A5
کد آردوینو
برای ارتباط با ماژول از طریق I2C، “کتابخانه PN532_I2C” موجود در سایت github را دانلود و از مسیر Library Manager به آردوینو IDE اضافه کنید. سپس کد زیر را کپی و آن را بر روی برد آردوینو خود آپلود نمایید.
#include <Wire.h>
#include <PN532_I2C.h>
#include <PN532.h>
#include <NfcAdapter.h>
PN532_I2C pn532_i2c(Wire);
NfcAdapter nfc = NfcAdapter(pn532_i2c);
String tagId = "None";
byte nuidPICC[4];
void setup(void)
{
Serial.begin(115200);
Serial.println("System initialized");
nfc.begin();
}
void loop()
{
readNFC();
}
void readNFC()
{
if (nfc.tagPresent())
{
NfcTag tag = nfc.read();
tag.print();
tagId = tag.getUidString();
}
delay(5000);
}
پس از آپلود کد، مانیتورسریال را باز کرده و با نزدیک کردن کارتهای NFC متفاوت به ماژول PN532، آن را تست کنید. بعد از نزدیک شدن کارت NFC به ماژول متوجه میشوید در مد I2C، تراشه قادر به خواندن 4 بایتی و همینطور دادههای 7 بایتی از تگهای NFC مختلف است.
راه اندازی ماژول PN532 NTC در مد SPI
اکنون نوبت به راه اندازی ماژول PN532 از طریق مد SPI است. مانند گذشته پایه های ماژول NFC را مطابق تصویر زیر به آردوینو متصل کنید و پینهای SEL0 و SEL1 را نیز روی برد تنظیم کنید.
- VCC (Power supply) <-> 5V
- RST (Reset) <-> 9
- GND (Ground) <-> GND
- MISO (Master Input Slave Output) <-> 11
- MOSI (Master Output Slave Input) <-> 12
- SCK (Serial Clock) <-> 13
- SS (Slave select) <-> 10
کد آردوینو
برای راه اندازی ماژول در مد SPI، ابتدا کتابخانه PN532_SPI.h را از سایت github دانلود و از مسیر Library Manager به آردوینو IDE اضافه کنید.
حالا کد زیر را کپی و آن را بر روی آردوینو خود آپلود نمایید.
// for SPI Communication
#include <SPI.h>
#include <PN532_SPI.h>
#include <PN532.h>
#include <NfcAdapter.h>
PN532_SPI interface(SPI, 10); // create a PN532 SPI interface with the SPI CS terminal located at digital pin 10
NfcAdapter nfc = NfcAdapter(interface); // create an NFC adapter object
String tagId = "None";
void setup(void)
{
Serial.begin(115200);
Serial.println("System initialized");
nfc.begin();
}
void loop()
{
readNFC();
}
void readNFC()
{
if (nfc.tagPresent())
{
NfcTag tag = nfc.read();
tag.print();
tagId = tag.getUidString();
}
delay(5000);
}
در این مد نیز همانطور که میبینید، کارتهای 4 بایتی و 7 بایتی NFC به خوبی کار میکنند.
ساخت دستگاه اسکنر کارت NFC با نمایشگر OLED
در این بخش قصد داریم یک ماژول اسکنر NFC (NFC Reader) قابل حمل را با استفاده از ماژول PN532 و آردوینو بسازیم و حتی دادههای خواندهشده را در یک نمایشگر 0.96 اینچی OLED نمایش دهیم. بدینمنظور قطعات را به صورت زیر به آردوینو متصل میکنیم.
- GND (Ground) <-> GND
- VCC (Power supply) <-> 5V
- SDA (Data) <-> A4
- SCL (Clock) <-> A5
کد آردوینو
برای ایجاد این اسکنر NFC قابل حمل، ترجیحاً از جدیدترین کتابخانه Adafruit PN532 در سایت github استفاده میکنیم. این کتابخانه برای بردهای Adafruit PN532 NFC/RFID نوشته شده و برای بردهای آردوینو Nano و Uno در مدهای SPI و I2C نیز قابل استفاده است.
علاوهبراین به کتابخانههای دیگری نیز نیاز داریم. بدین منظور کافیست کتابخانههای زیر را از سایت گیت هاب دانلود و سپس از مسیر Library Manager آنها را به آردوینو IDE اضافه کنید.
سپس کد زیر را کپی و آن را بر روی برد آردوینو خود آپلود کنید.
#include <Wire.h>
#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <Adafruit_PN532.h>
#define PN532_IRQ (2)
#define PN532_RESET (3) // Not connected by default on the NFC Shield
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels
#define OLED_RESET 4 // Reset pin # (or -1 if sharing Arduino reset pin)
#define SCREEN_ADDRESS 0x3C ///< See datasheet for Address; 0x3D for 128x64, 0x3C for 128x32;
Adafruit_PN532 nfc(PN532_IRQ, PN532_RESET);
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
void setup(void)
{
Serial.begin(115200);
while (!Serial) delay(10); // for Leonardo/Micro/Zero
Serial.println("Hello!");
nfc.begin();
if (!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS))
{
Serial.println(F("SSD1306 allocation failed"));
for (;;); // Don't proceed, loop forever
}
uint32_t versiondata = nfc.getFirmwareVersion();
if (! versiondata)
{
Serial.print("Didn't find PN53x board");
while (1); // halt
}
// Got ok data, print it out!
Serial.print("Found chip PN5");
Serial.println((versiondata>>24) & 0xFF, HEX);
Serial.print("Firmware ver. ");
Serial.print((versiondata>>16) & 0xFF, DEC);
Serial.print('.'); Serial.println((versiondata>>8) & 0xFF, DEC);
display.clearDisplay();
display.setCursor(0, 0); //oled display
display.setTextSize(1);
display.setTextColor(WHITE);
display.print("Found chip PN5");
display.print((versiondata >> 24) & 0xFF, HEX);
display.setCursor(0, 20); //oled display
display.setTextSize(1);
display.setTextColor(WHITE);
display.print("Firmware ver. ");
display.print((versiondata >> 16) & 0xFF, DEC);
display.print(".");
display.print((versiondata >> 8) & 0xFF, DEC);
nfc.setPassiveActivationRetries(0xFF);
// configure board to read RFID tags
nfc.SAMConfig();
Serial.println("Waiting for an ISO14443A card");
display.setCursor(0, 40); //oled display
display.setTextSize(1);
display.setTextColor(WHITE);
display.print("Waiting for NFC Card");
display.display();
}
void loop(void)
{
boolean success;
uint8_t uid[] = { 0, 0, 0, 0, 0, 0, 0 }; // Buffer to store the returned UID
uint8_t uidLength; // Length of the UID (4 or 7 bytes depending on ISO14443A card type)
success = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A, &uid[0], &uidLength);
if (success) {
Serial.println("Found a card!");
Serial.print("UID Length: ");
Serial.print(uidLength, DEC);
Serial.println(" bytes");
Serial.print("UID Value: ");
display.clearDisplay();
display.setCursor(10, 0); //oled display
display.setTextSize(1);
display.setTextColor(WHITE);
display.print("UID Length:");
display.print(uidLength, DEC);
display.print(" bytes");
display.setCursor(35, 20); //oled display
display.setTextSize(1);
display.setTextColor(WHITE);
display.println("UID Value: ");
display.setCursor(5, 35); //oled display
for (uint8_t i=0; i < uidLength; i++)
{
Serial.print(" 0x");
Serial.print(uid[i], HEX);
display.print(" 0x");
display.print(uid[i], HEX);
display.display();
}
Serial.println("");
// Wait 1 second before continuing
delay(1000);
}
else
{
// PN532 probably timed out waiting for a card
Serial.println("Timed out waiting for a card");
}
}
پس از آپلود کد، میتوانید فرآیند تست را آغاز کنید. یعنی زمانی که نمایشگر OLED ورژن firmware را که برابر با 1.6 است را نمایش میدهد و از شما میخواهد کارتهای NFC را اسکن کنید.
اکنون تعدادی کارت NFC را به برد PN532 NFC نزدیک کنید. ماژول PN532 طول بایت داده را همراه با مقدار UID میخواند و آنها را بر روی صفحه نمایش OLED نمایش میدهد.
با توجه به نوع کارت NFC، گاهی اوقات طول داده برابر 4 بایت و گاهی 7 بایت است.
در صورتی که نمیخواهید از نمایشگر برای پروژه خود استفاده کنید، میتوانید مقدار UID و طول بایت را بر روی مانیتور سریال نمایش دهید.
سخن پایانی
ما با شناخت نحوه عملکرد و کاربردهای امواج رادیویی NFC دانستیم که چطور میتوان یک ماژول PN532 NFC را با آردوینو راه اندازی کنیم و دادههای خوانده شده از تگ یا کارت NFC را روی یک نمایشگر به نمایش بگذاریم. شما نیز میتوانید بسته به میزان خلاقیت و مهارت خود از این راهکار در اجرای پروژههای مربوط به هوشمندسازی قفل دربها یا سیستم پرداخت NFC موبایل بانک در فروشگاهها و … استفاده نمایید.
چنانچه در روند انجام این آموزش با سؤال یا مشکلی مواجه شدهاید، میتوانید با ارسال پرسش یا حتی پیشنهادات خود در بخش دیدگاه این صفحه، پاسخ خود را در اسرع وقت از کارشناسان فنی مجموعه روبوایکیو دریافت کنید.
۲ دیدگاه. Leave new
سلام و وقت بخیر
من یک عدد ماژول نانو خریدم از همین مدلی که توی این مقاله هست ولی متاسفانه سرعت آن یک چهارم سرعت عادی است .
برای مثال وقتی یک برنامه چشمک زن ساده روی آن آپلود میکنم و تاخیر ها را ۱۰۰۰ میلی ثانیه تنظیم میکنم مشاهده میشود که چشمک زدن ال ای دی به فاصله ۴ ثانیه ای انجام میشود . ضمنا برای ارتباط با سریال مانیتور مجبور شدم فرکانس سریال را به ۲۴۰۰ تغییر بدهم تا حروف و علایم ارسالی از اردوینو درست نشان داده شود .
لطفا راهنمایی بفرمایید.
سلام و درود بر شما رضای عزیز
در صورتی که مشکل نرمافزاری باشه، با حذف و نصب مجدد برنامه آردوینو (یا تست روی یک سیستم دیگر) و یا آپلود مجدد بوت لودر، حل خواهد شد در غیر اینصورت احتمالا مشکل سختافزاری دارد و نیاز به بررسی بیشتر هست.