رفتن به مطلب
انجمن الکترولب

پرچمداران


مطالب محبوب

در حال نمایش مطالب دارای بیشترین امتیاز از زمان ۱۷/۱۲/۱۲ در همه بخش ها

  1. 1 امتیاز
    در این مطلب ماژول RFID RC522 را بررسی می کنیم و به طور خلاصه راه اندازی ماژول RFID RC522 با آردوینو را توضیح می دهیم. ماژول های RFID به منظور خواندن و نوشتن کارت ها یا تگ های RFID مورد استفاده قرار میگیرند. کارت های مغناطیسی امروزه در زندگی روزمره ما به وفور در دستگاه های مختلفی استفاده می گردند.تگ و يا کارت RFID، شامل يک مدار الکترونيکی است زمانی که تگ در نزدیکی کدخوان ( RFID Reader ) قرار می گيرد، میدان مغناطيسی تولید شده توسط کد خوان باعث فعال شدن تگ می گردد. و تگ اقدام به ارسال داده از طریق پالس های راديويی می نماید.سیستم های RFID دارای فرکانس های کاری متنوعی هستند که از این بین دو فرکانس 125 کیلوهرتز و 13.56 مگاهرتز متداول تر می باشند. این ماژول در محدوده فرکانسی 13.56Mhz کار کرده و علاوه بر خواندن اطلاعات می تواند اطلاعات جدیدی را بر روی حافظه ی کارت ذخیره نماید. نحوه اتصال ماژول به برد آردوینو ما از پروتکل SPI برای اتصال آردوینو و ماژول RC522 استفاده میکنیم. ترتیب اتصال پایه ها در تصویر پایین مشخص است. ترتیب اتصال پایه ها برای اتصال راه اندازی ماژول RFID RC522 به آردوینو نیاز به اتصال 7 پین است در این مورد به پین IRQ نیازی نداریم. در ادامه کتابخانه مورد نیاز برای راه اندازی این ماژول را دانلود کنید و در برنامه آردوینو اضافه کنید. دانلود کتابخانه ماژول RFID RC522 با آردوینو برنامه پایین را روی برد آردوینوی خودتان آپلود کنید. #include <SPI.h> #include <MFRC522.h> #define RST_PIN 9 #define SS_PIN 10 MFRC522 mfrc522(SS_PIN, RST_PIN); void setup() { SPI.begin(); mfrc522.PCD_Init(); } void loop() { RfidScan(); } void dump_byte_array(byte *buffer, byte bufferSize) { for (byte i = 0; i < bufferSize; i++) { Serial.print(buffer[i] < 0x10 ? ” 0″ : ” “); Serial.print(buffer[i], HEX); } } void RfidScan() { if ( ! mfrc522.PICC_IsNewCardPresent()) return; if ( ! mfrc522.PICC_ReadCardSerial()) return; dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size); با استفاده از این کد می توانید تگ RFID خود را بخوانید این اطلاعات روی پورت سریال نمایش داده می شود. نمونه کد دوم برای ماژول RFID RC522 در نمونه کد اول ما شماره هر تگ را خواندیم در نمونه کد دوم از این اطلاعات برای تشخیص کارت ها استفاده میکنیم. به این صورت که در صورت خواندن تگ اول توسط ماژول عبارت 1 در پورت سریال نمایش داده می شود. و هر تعداد تگ تعریف شده باشد این روند ادامه میابد. با تغییر دستور شرط if می توانید برای هر کارت عملیات خاصی را تعریف کنید. #include <SPI.h> #include <MFRC522.h> #define RST_PIN 9 #define SS_PIN 10 MFRC522 mfrc522(SS_PIN, RST_PIN); int RfidNo = 0; void setup() { SPI.begin(); mfrc522.PCD_Init(); } void loop() { RfidScan(); } void dump_byte_array(byte *buffer, byte bufferSize) { Serial.print(“~”); if(buffer[0] == 160){RfidNo = 1;Serial.print(RfidNo);} if(buffer[0] == 176){RfidNo = 2;Serial.print(RfidNo);} if(buffer[0] == 208){RfidNo = 3;Serial.print(RfidNo);} if(buffer[0] == 224){RfidNo = 4;Serial.print(RfidNo);} if(buffer[0] == 240){RfidNo = 5;Serial.print(RfidNo);} Serial.print(“!”); while(1){getFingerprintIDez();} } void RfidScan() { if ( ! mfrc522.PICC_IsNewCardPresent()) return; if ( ! mfrc522.PICC_ReadCardSerial()) return; dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size); } منبع: adafruit.com الکترولب
  2. 1 امتیاز
    سیستم عامل رزبری پای شما فریز شده است. و یا به وسیله یک کد با پردازش سنگین و اشتباه درگیر شده است در هر صورت در این مواقع باید اتصالات تغذیه رزبری پای خود را قطع و دوباره وصل کنید قطع و وصل کردن کابل micro USB ایده آل نیست و در طول زمان به پورت Micro USB رزبری پای آسیب می رساند رزبری پای به یک کلید reset نیاز دارد. ساخت یک سوئیچ Reset برای رزبری پای اضافه کردن یک کلید و سوئیچ reset برای رزبری کاری ساده است.در ادامه دو روش این کار را توضیح میدهم ریست کردن به وسیله GPIO Reset = جامپر + Gpio به وسیله یک جامپر مادربرد میتوانید درخواست خود را به سیستم ارسال کنید. جامپر همانند دستور زیر عمل خواهد کرد : sudo shutdown -h now البته با کمک یک اسکریپت این کار را انجام خواهیم داد. در همه مدل های رزبری gpio3 یا پین های ۵ و ۶ میتوانند این کار را برای شما انجام دهند. این اسکریپت را از گیتهاب کپی کرده و به رزبری پای خود انتقال دهید. سپس دسترسی های فایل را همانند زیر تغییر دهید. sudo chmod 755 raspi_gpio_actions.sh then sudo ./raspi_gpio_actions.sh با این اسکریپت سیستم چک میکند تا اگر جامپر به پین ها متصل شد اسکریپت را اجرا کند و رزبری پای را به روشی کاملاً امن خاموش خواهد کرد. برای ذخیره اینکه هر بار رزبری را روشن میکنید بتوانید اسکریپت را برای اجرا آماده نگه دارید از crontab استفاده کنید و بااستفاده از nano فایل /etc/crontab را ویرایش کنید و خط زیر را با آخر این فایل اضافه کنید. @reboot root /home/user/scripts/raspi_gpio_actions.sh سپس فایل را ذخیره کرده و ببندید. این به صورت اتوماتیک منتظر میماند تا وقتی شما جامپر را به پین مورد نظر متصل کردید اسکریپت را اجرا کند. پس از عملیات یادتان نورد تا جامپر را جدا کنید. البته برای اینکه گم نشود میتوانید آن را به یکی از پین ها متصل کنید. البته توجه داشته باشید که این مورد برای زمانی که رزبری شما کرش کرده و یا فریز شده است روش خوبی نیست و اسکریپت در چنین حالت‌هایی اجرا نخواهد شد. ریست کردن به وسیله پین هدر RUN رزبری پای این روش ساده‌ترین و سریع‌ترین روش برای پروژه ما است و بدون استفاده از پین های GPIO میتوان کار را انجام داد. این یک گزینه خوب برای رزبری های جدید و شاید بیشتر مدل ها است چرا که میتوانید پس از آن از پین های خود نیز استفاده های زیادی ببرید. اضافه کردن یک جفت پین به هدر شماره ۶ به شما اجازه میدهد تا یک کلید برای ریست رزبری پای داشته باشید برای این کار کافیست یک کلید فشاری بر روی پین هدر RUN رزبری پای متصل کنید. محل پین هدر در ورژن 2 رزبری پای تنها مدل B و ‌B+ را میتوان با این روش ریست کرد زیرا فقط این دو مدل دارای هدر p6/run است. برای پیدا کردن آن‌ها در مدل B و میتوانید به دنبال کانکتور HDMI باشید و در آنجا باید دو سوراخ کوچک مشاهده کنید که چند میلیمتر از هم فاصله دارند. و در مدل B+ نیز این هدر ها در کنار کانکتور ribbon قرار گرفته است و در کنار اسلات کارت حافظه است ( در سمت راست عبارت پرینت شده raspberry pi 2014 با لحیم کردن پین ها به این سوراخ یک کلید ریست ساخته‌اید . محل پین هدر در ورژن 3 رزبری پای این روش باید به خوبی جواب دهد و با کرش کردن سیستم یا فریز شدن آن نیز این روش باز هم کار خواهد کرد. زمان ریست رزبری فرا رسیده است آموزش رزبری پای
×