آردوینو چیه؟ اگر تازه وارد دنیای مهندسی و الکترونیک شدی، یا اسم آردوینو رو زیاد شنیدی ولی نمیدونی دقیقاً چیه و چهکاری انجام میده، جای درستی اومدی! ما در میکرزلب یک سری آموزشی از آردوینو درست کردیم. در این قسمت از سری آموزش آردوینو به زبان ساده، دربارهی این پلتفرم جذاب صحبت میکنیم تا متوجه بشی چرا باید آردوینو رو یاد بگیری و چه پروژههایی رو میتونی باهاش انجام بدی.
سیستمهای تعبیه شده (Embedded Systems)
ما هر روزه با تعداد زیادی از سیستمهای تعبیه شده سر و کار داریم که با یک دکمه یا با تشخیص سنسور یک کاری رو برای ما انجام میدن. مثلاً پکیج گرمایشی که دمای آب رو تنظیم میکنه و جریان آب گرم رو کنترل میکنه. یا ماشین کنترلی اسباب بازی، که با سیگنال ریموت، انرژی داخل باتری رو به حرکت مجموعهای از موتورها تبدیل میکنه. یا مایکروفر که با لمس چند تا دکمه شروع به گرم کردن غذا میکنه و بعد از زمان مشخصی که بهش برنامه دادیم، کارش رو تموم میکنه. جاروبرقی رباتیک مثال دیگهای از این سیستمهای تعبیه شدهست که بر اساس یک برنامه حرکت میکنه و با سنسورهایی که داره از برخورد با اجسام جلوگیری میکنه. قفل دیجیتال درب، ماشین لباسشویی، کولر گازی، پرینتر سه بعدی، دستگاه فشارسنج دیجیتال و ساعتهای هوشمند هم مثالهای دیگهای از این سیستمها هستن.
آردوینو
قلب همه این سیستمها، کامپیوترهای قابل برنامهریزی به نام میکروکنترلر هستن. میکروکنترلر در واقع یه تراشه کوچیکه که میتونه داده بگیره، پردازش کنه و بر اساس برنامهای که براش نوشته شده، کارهایی رو انجام بده. مثلاً وقتی سنسور تشخیص میده که یک مانع جلوی جاروبرقی رباتیک وجود داره، میکروکنترلر دستور توقف و تغییر مسیر رو صادر میکنه. یا وقتی دمای آب در پکیج پایین میآد، مشعل رو روشن میکنه و زمانی که دما دوباره به محدوده قابل قبول برگشت، مشعل رو خاموش میکنه.
حالا سوال اینجاست که ما چطور میتونیم با این میکروکنترلرها کار کنیم؟ چطور میتونیم بهشون بگیم چی کار کنن؟ اینجاست که آردوینو وارد میشه! آردوینو یک برد الکترونیکی مبتنی بر میکروکنترلره که این دنیای پیچیده رو برامون آسون کرده. آردوینو فقط یک میکروکنترلر نیست؛ آردوینو در واقع یک پلتفرم متنبازه که شامل دو مورد زیر میشه:
- سختافزار برد میکروکنترلری
- نرمافزار اختصاصی برنامه نویسی به نام Arduino IDE.
این دو در کنار هم به ما اجازه میدن با چند خط کد (به زبان C++) و آپلود کردن کد با کابل USB روی برد، پروژههای خلاقانه بسازیم.


شرکت ایتالیایی آردوینو تا حالا خانواده بزرگ از بردهای میکروکنترلی با قابلیتهای مختلف طراحی و تولید کرده که هر کدومشون برای یه کاربرد خاص ساخته شدن؛ از پروژههای ساده گرفته تا پروژههای صنعتی. جالبه بدونی که آردوینو فقط به این بردهای کوچیک راضی نیست؛ داره کمکم یه اکوسیستم کامل میسازه که توش حتی اتوماسیون صنعتی و PLCها هم جا دارن!
ما در این سری آموزشی آردوینو به زبان ساده، سراغ برد Arduino UNO رفتیم. این برد، پرطرفدارترین برد آردوینوست و همه مفاهیم مورد نیاز میکزوکنترلرها رو میشه باهاش یاد گرفت.
ساختمان میکروکنترلر
حالا که با آردوینو و کاربردهاش آشنا شدیم، وقتشه به قلب این برد یعنی میکروکنترلر ATmega328P نگاه کنیم و ببینیم از چه بخشهایی ساخته شده.
- CPU (واحد پردازش مرکزی):
- مغز میکروکنترلره.
- دستورات برنامه رو یکییکی اجرا میکنه.
- دادهها رو پردازش کرده و تصمیم میگیره چه عملی انجام بشه.
- Flash Memory (حافظه فلش):
- برای ذخیره برنامه اصلی یا همون فرمویر ⭐ و بوتلودر استفاده میشه.
- غیر فرّاره (با قطع برق پاک نمیشه).
- در آردوینو UNO ظرفیتش 32KB هست.
- SRAM (حافظه داده موقت):
- برای نگهداری دادهها هنگام اجرای برنامه.
- دادهها بعد از قطع برق پاک میشن.
- ظرفیتش در آردوینو UNO حدود 2KB هست.
- EEPROM (حافظه دائمی داده):
- برای ذخیره اطلاعاتی که باید بعد از خاموش/روشن شدن هم باقی بمونن.
- مثل تنظیمات کاربر یا مقادیر کالیبراسیون.
- در UNO ظرفیتش 1KB هست.
- Bootloader (بوتلودر):
- برنامهی کوچکی که در بخشی از فلش قرار داره.
- امکان برنامهریزی آردوینو از طریق کابل USB بدون نیاز به پروگرامر سختافزاری رو فراهم میکنه.
- Peripherals (واحدهای جانبی):
- شامل ورودی/خروجی دیجیتال (GPIO)، تایمرها، مبدل آنالوگ به دیجیتال (ADC)، و رابطهای ارتباطی (UART، SPI، I²C).
- این بخشها باعث میشن میکروکنترلر بتونه با دنیای بیرون ارتباط برقرار کنه.
⭐ Firmware (فرمویر): همون برنامهایه که کاربر در Arduino IDE مینویسه و روی برد آپلود میکنه. این برنامه بعد از آپلود داخل حافظه فلش ذخیره میشه و هر بار که برد روشن بشه، اجرا خواهد شد.
آردوینو چه کارهایی میتونه انجام بده؟
- کنترل موتورهای الکتریکی، LEDها، رلهها و …
- خواندن داده از سنسورها مثل دما، رطوبت، نور، حرکت و…
- ارتباط با اینترنت و ساخت پروژههای اینترنت اشیاء IoT
- ساخت ابزارهای کاربردی مثل ساعت دیجیتال، سیستم آبیاری هوشمند، هشدار دهنده نشت گاز، کنترل دما و…
آردوینو میتونه مغز پروژههای جذابی مثل بازوی رباتیک، پرینتر سهبعدی، خانه هوشمند، پهپاد یا دستگاههای اتوماسیون صنعتی باشه.
چرا یادگیری آردوینو مفیده؟
- ساده و قابلفهم حتی برای مبتدیها
- یادگیری همزمان برنامهنویسی و الکترونیک
- قیمت مناسب و دسترسی آسان به بردها و قطعات
- پشتیبانی زیاد از جامعه جهانی سازندگان (Makerها)
حتی اگر رشتهات مهندسی نیست، باز هم یادگیری آردوینو میتواند خلاقیتت را شکوفا کند و راه ورودت به دنیای ساخت و سازهای دیجیتالی باشد.
چه کسانی باید آردوینو رو یاد بگیرن؟
- دانشجویان مهندسی برق، کامپیوتر، مکانیک، مکاترونیک و…
- علاقهمندان به DIY و ساخت پروژههای شخصی
- معلمان و مربیان آموزش خلاق STEM
- دانش آموزان مبتکر
ادامه این آموزش رو در این لینک بحونید.

درود سامان جان
خداقوت به شما و همکاران گرامی
علیرغم اینکه متاسفانه آردوینو به فیلد تحصیلی و کاری من مرتبط نیست ولی یه جورایی به تمام تجهیزاتی که روزمره باهاشون سروکار داریم مرتبطه. بی صبرانه منتظر قسمتهای بعدی آموزش کاربردی آردوینو هستم. موفق و تندرست باشی
درود بر آرش عزیز