استفاده از آردوینو یکی از روش های ساده و کاربردی برای ساخت پروژه هاست،
در این مقاله با برد آردوینو نانو آشنا میشویم و چندین پروژه آردوینو راه اندازی میکنیم.

این آموزش ها همراه ویدیو هستند و خط به خط کدهای نوشته شده با بیان دلیل آموزش داده میشوند.

در ادامه این مقاله همراه ما باشید تا با یک برد آردوینو، موسیقی پخش کنید و درب های منزل را باز و بسته کنید.

1# آشنایی با آردوینو (بخشی از بسته جامع BEE)

نکته اولیه ولی مهم در آشنایی با آردوینو این است که، آردوینو یک میکروکنترلر نیست و در واقع یک ماژول است که
از هسته مرکزی میکروکنترلر AVR استفاده می­کند و
با قرار دادن سایر المان های مورد نیاز راه اندازی میکروکنترلر، کار با آن را بسیار راحت کرده است.

2# آردوینو چیست؟

آشنایی با آردوینو نانو

آردوینوها در خانواده های مختلفی با امکانات متفاوت ارائه می­شوند که ساده ترین مدل و کوچکترین آنها NANO است.
آشنایی با آردوینو نانو برای گام اول در آموزش بهترین و سبک ترین گزینه است.

3# اجزای قطعات جانبی برد نانو

آشنایی با آردوینو 7 قطعه روی برد

آشنایی با آردوینو 3 قطعه پشت برد

برای آشنایی با آردوینو به طور کامل لازم است تا قطعات تشکیل دهنده آن را بشناسیم.

1-3# شناخت قطعات روی برد نانو

1.هسته مرکزی میکروی  AVR ATmega328

2.یک دکمه برای ریست کردن ماژول

3. چهار عدد LED از نوع SMD برای کاربردهای مختلف (ارتباط سریال و پایه خروجی)

4. یک کریستال اسیلاتور (کریستال) که برای تولید قلب تپنده میکروکنترلر ” سیگنال پالس مربعی ” استفاده میشود.

5. تعدادی پین با پایه های بلند و دیپ از برد بیرون آمده اند که هرکدام یک کاربرد خاص دارند.
به این قطعه که پایه های مدار SMD را به پایه های DIP تبدیل می­کند،PIN HEADER می­گویند.

6. تعدادی پین با اسامی مشخص از طرف دیگر برد بیرون آمده اند که
در واقع اکثر پایه های میکرو هستند که با track (سیم کشی) از کنار میکرو با پین های نزدیک به هم و کوچک، به طرفین برد رفته تا به راحتی قابل استفاده باشند.

7. یک پورت USB mini برای اتصال برد به کامپیوتر

2-3# شناخت قطعات پشت برد نانو

8. در سمت دیگر برد چندین خازن از نوع سرامیکی قرار دارد
با هدف بای پس کردن و حذف نویز.

9. یک رگولاتور تبدیل 5 ولت به 3.3 ولت قابل استفاده میکرو AVR.

10. یک IC هم در پشت برد به منظور تبدیل USB به ارتباط سریال است قرار دارد.

4# پین های برد آردوینو نانو

یکی از مباحث مهم در شناخت برد نانو، کاربرد هر کدام از پین های خارج شده از این برد است.

  1. تعدادی پین دیجیتال تحت عناوین D2-D13 که برای کاربردهای صفر و یکی استفاده می­شوند.
    مثلا برای روشن خاموش کردن LED از این پین می­توان استفاده کرد.
  2. تعدادی پین آنالوگ با عناوین A0-A7 که در اصل برای استفاده از سیگنال های آنالوگ هستند و
    همان کاربرد تبدیل آنالوگ به دیجیتال را دارند.
    مثلا برای کار با سنسور دمای LM35 نسبت به دما یک ولتاژ آنالوگ میسازد که با اتصال به این پین ها به دیجیتال تبدیل می­­شود.
  3. پین های 5V و 3V مانند یک منبع تغذیه DC هستند و ولتاژ برای کاربردهای مختلف تولید می­کنند.
  4. پین GND که زمین مشترک مدار است.
  5. یک پایه VIN دارد که برای اتصال تغذیه خارجی استفاده می­شود ولی از مزایای آردوینو این است که با کامپیوتر و با استفاده از پورت USB روشن می­شود و نیازی به دستگاه منبع خارجی نیست.

5# ویژگی های برد آردوینو نانو

  1. کریستال موجود در این مدل 16MHz است
  2. پایه RST) reset)، همه میکروکنترلرها یک پین برای ریست شدن دارند که
    بدون نیاز به قطع و وصل شدن منبع تغذیه مدار خاموش و روشن شود.
    این پایه در اکثر میکروها با علامت ˉ (not) مشخص شده اند که
    نشاندهنده active low بودن پایه است.
    یعنی این پایه برای اینکه فعال باشد برخلاف پیش فرض همه پین ها باید به صفر ولت وصل شود.
    برای این پین معمولا یک مدار RC هم قرار می­دهند که
    بار اولی که میکرو روشن توسط خازن پین RST به زمین وصل شده و میکرو کاملا ریست شود.
    سپس با شارژ شدن خازن ولتاژ 5 ولت روی این پین افتاده و سیستم شروع به کار خواهد کرد.
  3. یکی از LED های موجود روی برد برای نمایش این است که آیا تغذیه به میکرو می­رسد یا نه.
  4. دو LED دیگر متصل به پین های RX وTX ارتباط سریال است که
    برای ارتباط با کامپیوتر استفاده می­گردند.

5# اجرای چندین پروژه آردوینو

1-5# پروژه پخش موسیقی

در این پروژه با یکی از قابلیت های جذاب آردوینو آشنا میشویم که
برای هر پروژه مدنظر لااقل یک کد در اینترنت وجود دارد.

مرجع کد پخش موسیقی با آردوینو، برای هر موسیقی دلخواه شما موجود است.

پخش آهنگ با آردوینو

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

برای پخش موسیقی با آردوینو به کد ساده ای نیازمندیم که در ادامه به جزئیات آن میپردازیم.

  • در خط اول کد متغیر buzzer را از نوع const تعریف شده و مقدار 10 داخل آن ریخته میشود.
    این متغیر پایه ای از برد است که اسپیکر به آن متصل شده است.
  • در ادامه متغیر ثابت songSpeed با مقدار 1.5 تعریف شده که
    برای ساختن دوره زمان پخش استفاده خواهد شد هر چه این ضریب بیشتر باشد موسیقی کندتر است و بر عکس.
  • نت هایی که برای این موزیک استفاده شده است را define کرده و می­بینیم که
    این موسیقی جالب با تعداد خیلی کمی از نت ها ساخته شده است.
  • در بخش بعدی آرایه notes را تعریف کرده و داخل آن به ترتیب نت های استفاده شده را مینویسیم.
  • در ادامه آرایه duration برای مدت زمان play شدن هر نت تعریف شده است که
    اعدادی مثل 250 یا 125 میلی ثانیه درون آن به همان ترتیب نت ها چیده شده است.
    “این دو بخش برای هر پخش موسیقی با آردوینو و نواختن هر موسیقی خاص یک کد مشخص دارند”
  • در بخش setup بدنه اصلی کد را مینویسیم که یک بار فقط اجرا شود.
    یک حلقه for با شاخص i با 203 حالت و گام 1 نوشته شده است و
    در ادامه tone را صدا زده روی پایه buzzer با فرکانس [notes[i و
    مدت زمان wait نت مورد نظر را پخش می­کند.
    wait یک متغیر است که مقدار آن از ضرب [duration[i در عدد songSpeed حاصل شده است.
  • در نهایت هم یک مقدار wait تاخیر داریم که برای این است که صدای نت ها داخل هم نروند.

تغییر پارامترهای پروژه آردوینو

اگر songSpeed را 1 بگذاریم سرعت پخش موزیک بالاتر می­رود و
موزیک روی دور تند پخش خواهد شد.

اگر این مقدار را 5 قرار دهیم موزیک خیلی کند پخش می­شود.

برای پخش اهنگ با آردوینو میتوانید کد نت های مورد علاقه خودتان را از پیدا کرده و
آن را با همین کد پیاده کنید.

حالا نوبت پروژه آردوینو برای باز کردن درب شده:

2-5# پروژه راه اندازی ماژول RFID

برای راه اندازی ماژول RFID  این پروژه لازم است کارت RFID صحیح را بخوانیم و
آن را به عنوان بازکننده درب ذخیره کنیم.

در ابتدای پروژه بجای زبونه برقی در از LED استفاده میکنیم که
اگر کارت صحیح بود LED سبز روشن شده و اگر کارت اشتباه استفاده شده بود LED قرمز روشن شود.

کدنویسی پروژه آردوینو برای راه اندازی آر اف آی دی

2پین از آردوینو مثل 12 و 11 را به عنوان خروجی با اسم greenLED و redLED به صورت const و
یک بافر با ظرفیت 13 برای خواندن کد کارت RFID تعریف میکنیم.

در ادامه باید این ID باید با مقدار مورد نظر ما مقایسه شود.

برای این کار یک string با اسم karteMajid تعریف میکنیم و آن را مساوی کد باز کننده درب قرار میدهیم.

بخش setup کد

داخل setup باید پین های خروجی را تعریف کرده و ارتباط سریال را راه اندازی کنیم.

خانه آخر (12 امی) از بافر را مساوی مقدار “n/” قرار میدهیم که
انتهای بازه بافر را برای میکرو مشخص کرده باشیم.

بخش loop کد

در بخش loop این پروژه آردوینو یک while با شرط Serial.available نوشته و
با استفاده از دستور ()Serial.readString متغیر Buffer را با اندازه 12 بایت میخوانیم
با استفاده از این دستور تا زمانی که 12 کاراکتر از ارتباط سریال وارد نشود کد در این خط متوقف شده و
به بخش های بعدی نمیرود.

در ادامه یک if با شرط تساوی بافر خوانده شده از ارتباط سریال و متغیر karteMajid مینویسیم و
توجه داریم که باید متغیر بافر تعریف شده را با روش cast کردن از نوع char به string تغییر دهیم.

در داخل شرط if باید led سبز روشن و قرمز خاموش و برای else به صورت عکس روشن و خاموش کنیم.

در ادامه برای طبیعی تر شدن کد را به حالت چشمک زن led تغیر میدهیم.

با آپلود کردن کد روی آردوینو و تست کردن 2 کارت مختلف میبینیم که کد به درستی در حال اجراست.

نکته : اگر همزمان 2 کارت را با هم به ماژول RFID نزدیک کنیم مشکل تداخل ( COLLISION ) اتفاق میفتد
کارت های معمولی مثل کارت مترو با این مشکل کار نمیکند.

تگ هایی وجود دارند که ANTI COLLISION هستند و میتوانند چندین تگ را با هم بخوانند.

ناحیه کاری ماژول و فاصله تشخیص کارت توسط آن به توان ماژول بستگی دارد.

در فرکانس کاری ما ( 125 کیوهرتز ) که رنج low frequency به حساب می آید نهایت تا 10 سانتی متر را پوشش میدهد.

مدار پروژه آردوینو

راه اندازی ماژول RFID

برای بستن مدار راه اندازی RFID و زبونه برقی باید از پین 12 که به led متصل است یک ترانزیستور وصل کنیم و
بیس را با مقاومت 1 کیلو به همان پایه led متصل کنیم و
از کلکتور به پایه تحریک زبونه برقی و از پایه دیگر آن به منبع تغذیه 10 ولت وصل میکنیم.

در نهایت با تست کردن 2 کارت RFID میبینیم که زبونه درب با یک کارت باز شده و با دیگری باز نمیشود.

به راحتی با تعمیم و توسعه این پروژه آردوینو ساده، میتوان کارت های مختلفی را برای سیستم تعریف کرد.

3-5# پروژه ساخت چراغ راهنمایی رانندگی

وسایل مورد نیاز پروژه

  1. 3 عدد led به رنگ های سبز، زرد و قرمز
  2. یک سون سگمنت
  3. آردوینو نانو

منطق پروژه چراغ راهنمایی رانندگی با آردوینو

منطق کلی پروژه این است که ابتدا در محض روشن شدن led قرمز روشن است و شمارنده 9 ثانیه می­ شمارد.
سپس به محض 0 شدن مقدار شمارنده led سبز روشن شده و قرمز خاموش می­شود 9 ثانیه شمارش می­شود و
وقتی به 0 صفر رسید تایمر قطع شده و led زرد به تنهایی به مدت 2 ثانیه روشن مانده و
دوباره به قرمز روشن می­رسیم.

کد نوشته شده پروژه آردوینو

در گام نخست از این پروژه آردوینو باید به کد نوشته شده برای این پروژه مسلط شویم.

چون کد به صورت حلقه ای اجرا می­شود آن را داخل loop می­نویسیم.
بعد از تعریف متغیر i ابتدا led قرمز را با دستور digitalWrite روشن می­کنیم و
شمارنده را با حلقه for معکوس و تاخیر 1 ثانیه ای صدا می­زنیم.
بعد از اتمام دستورات for با دستور digitalWrite باید led قرمز را خاموش کرده و سبز را روشن کنیم.
بعد از آن دوباره دستور for معکوس را تکرار می­کنیم تا شمارش چراغ سبز را داشته باشیم و
در نهایت بعد از صفر شدن این مقدار تابع reset7segment را صدا زده و آن را خاموش می­کنیم.
بلافاصله led سبز رنگ خاموش و زرد روشن می­شود و به مدت 2 ثانیه تاخیر می­دهیم.
میتوان زمان این تاخیر را با عنوان yellowDelay در بخش اول کد define کرد.
در خط آخر حلقه led زرد خاموش می­شود و با تکرار مجدد loop قرمز روشن خواهد شد.

بستن مدار پروژه

ساخت چراغ راهنمایی رانندگی با آردوینو نانو

پایه های سون سگمنت را به پین های 6 تا 12 را به ترتیب متصل کرده و
led ها به پین های 3-4-5 میکرو متصل شده اند.

اجرای پروژه

بخش جالب و نهایی از این پروژه آردوینو اجرا کردن آن و تماشای حاصل دست رنج خودتان است!
در مدار بسته شده کد را آپلود میکنیم و با اجرای پروژه می بینیم که به راحتی کار میکند.

توسعه پروژه ساخت چراغ راهنمایی رانندگی

می­توان از این روش برای چراغ راهنمایی واقعی هم استفاده کرد،
فقط کافی است از یک رقم دوم برای شمارنده استفاده کنیم تا اعداد متنوع و بیشتری برای شمارش داشته باشیم.

از طرفی مقدار این که قرار است چند ثانیه شمارش داشته باشیم می­تواند define شود و
از یا از طریق پورت سریال مانند پروژه های جلسه قبل گرفته شود و
از سمت یک اپراتور با تغییر وضعیت ترافیک، عوض شود.
یا ممکن است به صورت برنامه ریزی شده از قبل در ساعاتی از روز مقدار معینی زمان برای هر چراغ داشته باشد.

برای یادگیری و راه اندازی پروژه آردوینو بیشتر آموزش جامع الکترونیک نماتک را تهیه کنید.

ثبت اطلاعات برای دریافت آموزش رایگان

مقاله بالا بخشی از بسته جامع آموزش الکترونیک (BEE) است.

برای مشاهده کامل این بسته کلیک کنید.

مشاهده بسته الکترونیک

به آموزش الکترونیک علاقه مندم

اگر محتوای آموزشی الکترونیک را می پسندید برای دریافت آموزش های رایگان فرم را تکمیل کنید.

شماره موبایل پشتیبانی: ۰۹۰۱۷۰۳۹۳۲۹


در نماتک نظر دهید