آردوینو
آردوینو ( Arduino) یک پلتفرم سختافزاری و نرمافزاری متنباز است. پلتفرم آردوینو شامل یک میکروکنترلر تکبردی متنباز است که قسمت سختافزار آردوینو را تشکیل میدهد. علاوه بر این، پلتفرم آردوینو یک نرمافزار آردوینو IDE که به منظور برنامهنویسی برای بردهای آردوینو طراحی شدهاست و یک بوت لودر نرمافزاری که بر روی میکروکنترلر بارگذاری میشود را در بر میگیرد.
پلتفرم آردوینو به منظور تولید سریع و ساده پروژههای سختافزاری تعاملی و ساخت وسایلی که با محیط تعامل داشته باشند طراحی شدهاست،البته بردهای آردوینو اهداف آموزشی را نیز دنبال میکنند.
اغلب بردهای آردوینو که تمام آنها سختافزار متنباز هستند بر پایه میکرو کنترلر ایویآر اتمل و تعداد کمی از بردهای آردوینو بر پایه میکروکنترلرهای آرم اتمل طراحی شدهاند.
به عنوان مثال برد آردوینو UNO که پرکاربردترین برد آردوینو و برد پایه آردوینو در اکثر دورههای آموزش آردوینو است و بر پایه میکروکنترلر AVR ATmega328 ساخته شدهاست، دارای رابط یواسبی جهت بارگذاری برنامه و ارتباط با کامپیوتر، ۶ پین ورودی آنالوگ و همچنین ۱۴ پین ورودی/خروجی دیجیتال است که شما را قادر میسازند تا برد آردوینو را به قطعات، سنسورها، بردها و ماژولهای دیگری متصل کنید.
تعداد ورودی خروجیهای آنالوگ و دیجیتال در مدلهای مختلف بردهای آردوینو با توجه به میکروکنترلر اصلی استفاده شده بر روی برد متفاوت است.
آردوینو میتواند جهت طراحی و ساخت سریع و آسان وسایل تعاملی مورد استفاده قرار گیرد. به عنوان مثال فرض کنید شما دوست دارید وسیلهای داشته باشید که با استفاده از گوشی موبایلتان بتوانید چراغ اتاقتان را خاموش و روشن کنید.
یا دوست دارید زمانی که اتاق شما گرم میشود کولر اتاقتان روشن شود و شبها که دمای اتاق پایین میآید کولر اتاق شما به صورت خودکار خاموش شود! اینها وسایل تعاملی هستند که آردوینو به ساخت سریع و بی درد سر آنها کمک میکند.
برد آردوینو میتواند مقادیر ورودی را از تعداد زیادی سنسور و کلید و… بخواند و بر اساس برنامه ای که درون آن بارگذاری شدهاست تصمیم بگیرد و خروجی خاصی که میتواند کنترل تعدادی لامپ، موتور و … را برای شما انجام دهد.
آردوینو در سال ۲۰۰۵ به منظور ایجاد راهی ارزان و ساده برای برنامهنویسی اشیایی تعاملی ایجاد شد.
آردوینو به همراه یک محیط یکپارچه توسعه نرمافزار (IDE) ساده ارائه میشود که در رایانههای عادی قابل اجرا است که اجازهٔ برنامهنویسی به کمک سی یا سی++ را برای آردوینو میدهد.
آردوینو میتواند پارامترهایی مانند نور محیط، کلیدها یا حتی یک ایمیل را به عنوان ورودی دریافت نماید و بعد از پردازش، خروجیهایی مانند روشن کردن یک وسیلهٔ برقی، تغییر رنگ LEDها یا ارسال یک ایمیل یا نظیر آن را ارائه دهد.
پلتفرم آردوینو شامل نرمافزار و سختافزار متن باز میشود. سختافزار آردوینو متشکل از بردهای مختلفی بر پایه میکرو کنترلرهای مختلف است که پر مصرفترین سختافزار آردوینو، Arduino UNO است که از میکرو کنترلر Atmega328 استفاده میکند و در بسیاری از پروژههای دانشجویی، رباتیک و پروژههای تحقیقاتی کاربرد دارد.
نرمافزار آردوینو
آردوینو، یک نرمافزار متن باز اختصاصی برای برنامهنویسی بردهای خود تهیه کردهاست که به نام نرمافزار آردوینو IDE (محیط توسعهٔ یکپارچه آردوینو) شناخته میشود. نرمافزار آردوینو بدون نیاز به پروگرامر میتواند مستقیماً میکرو کنترلر شما را برنامهریزی نماید.
امکاناتی مانند ترمینال سریال نیز در داخل نرمافزار آردوینو قرارداده شده تا بتوانید به وسیله ارتباط سریال و USB برنامههایی را که برای میکرو کنترلر مینویسید عیبیابی نمایید.
میتوان مقادیر ADC و وضعیت پینها یا هر اطلاعات دیگری را به ترمینال سریال آردوینو فرستاد و از طریق کامپیوتر اطلاعات را از میکرو کنترلر دریافت کرد. همانطور که پیش تر اشاره شد، شیوه نگارش دستورها در این نرمافزار، تا حدود زیادی مشابه برنامهنویسی به زبان C و ++C است.
همانطور که در شکل میبینید، محیط این برنامه از چند بخش اصلی تشکیل میشود:
- منوی دستورها
- پنجره کدنویسی
- پنجره کامپایلر
- اطلاعات باد (یکا) rate و port
- Serial monitor
سختافزار آردوینو
همانطور که در بالا گفته شد، آردوینو از دو بخش سختافزاری و نرمافزاری تشکیل میشود. مدلهای مختلفی از بردهای سختافزاری آردوینو وجود دارد که یکی از آنها، مدل اونو است. آردوینو اونو (Arduino UNO) یکی از پرکاربردترین مدلهای سختافزار آردوینو است.
در این برد، از یک میکروکنترلر ATmega328P به عنوان پردازشگر و حافظه استفاده میشود. آردوینو مدل اونو، یکی از متداولترین نمونهها برای آموزش آردوینو است. سختافزار آردوینو اونو از چهار بخش کلی زیر تشکیل میشود (شکل زیر):
- میکروکنترلر
- بخش تغذیه
- بخش ارتباط با رایانه
- درگاههای گروهی
بخشهای اصلی برد آردوینو (اونو)
در شکل و جدول زیر، قطعات تشکیل دهنده برد آردوینو (مدل اونو-نسخه ۳) معرفی شدهاند.
قطعات تشکیل دهنده برد آردوینو (مدل اونو-نسخه ۳)
شماره قطعه | نام قطعه | مشخصه قطعه | توضیح |
---|---|---|---|
۱ | میکروکنترلر | ATmega328 | پردازش و حافظه |
۲ | سوکت | ۲۸پایه | سهولت تعویض میکروکنترلر |
۳ | درگاههای ارتباطی | پینهدر مادگی | ارتباط با پایههای میکروکنترلر |
۴ | درگاههای ارتباطی | پینهدر نری | ارتباط سریال (بدون یواسبی) با میکروکنترلر |
۵ | درگاه یواسبی | USB port type B | ارتباط یواسبی رایانه با میکروکنترلر |
۶ | درگاه تغذیه | ۵/۵ میلیمتر | اتصال فیش باتری یا آداپتور برای تغذیهٔ بورد |
۷ | کلید فشاری | تکسوییچ | ریست بورد و راهاندازی مجدد برنامه |
۸ | میکرو پردازشگر | ATmega16U2 | مبدّل ارتباط سریال به یواسبی |
۹ | نوسانساز کریستالی | ۱۶ مگاهرتز | ایجاد سیگنال زمان برای میکرو پردازشگر یواسبی |
۱۰ | نوسانساز سرامیکی | ۱۶ مگاهرتز | ایجاد سیگنال زمان برای میکروکنترلر آردوینو(یک خازن ۱۰ پیکوفاراد نیز داخل قطعه تعبیه شدهاست) |
۱۱ | مقاومت | ۱ مگااهم | حفظ تعادل نوسان در نوسانساز سرامیکی |
۱۲ | خازن | ۰/۱ میکروفاراد | حذف نویز از جریان تغذیهٔ میکروکنترلر |
۱۳ | خازن | ۴۷ میکروفاراد | فیلتر جریان تغذیهٔ خروجی |
۱۴ | خازن | ۴۷ میکروفاراد | فیلتر جریان تغذیهٔ ورودی |
۱۵ | دیود | MRA4007T3G | محافظت از مدار در مقابل ولتاژ معکوس تغذیه |
۱۶ | تنظیمکنندهٔ ولتاژ | LD1117S50TR | تنظیم ولتاژ ورودی به آردوینو |
۱۷ | فیوز | MF-MSMF050-2 | فیوز درگاه یواسبی، ۵۰۰ میلیآمپر |
۱۸ | ترانزیستور | FDN340P | سوییچ بین درگاهتغذیه و یواسبی (برای تغذیهٔ بورد) |
۱۹ | آیسی | LMV358 | کنترلکنندهٔ ترانزیستور ۱۸ |
۲۰ | خازن | ۱ میکروفاراد | فیلتر برای آیسی ۱۹ |
۲۱ | تنظیمکنندهٔ ولتاژ | LP2985 | تنظیمکنندهٔ ولتاژ ۳/۳ ولت |
۲۲ | خازن | ۲/۲ میکروفاراد | فیلتر ولتاژ خروجی از LP2985 |
۲۳ | نویزگیر فریت | BLM21 | فیلتر حذفکنندهٔ نویزهای محیطی فرکانسبالا |
۲۴ | دیود | 1N4148W-7-F | کنترل نوسانات ولتاژ در زمان ریست |
۲۵ | خازن | ۱ میکروفاراد | رابط پایههای Ucap و GND پردازشگر یواسبی |
۲۶ | واریستور | CG0603MLC | جلوگیری از ورود الکتریستهٔ ساکن |
۲۷ | مقاومت آرایهای | ۲۲ اهم | حفاظت از درگاههای تبادل اطلاعات یواسبی |
۲۸ | واریستور | CG0603MLC | جلوگیری از ورود الکتریستهٔ ساکن |
۲۹ | درگاه دسترسی | – | امکان دسترسی به پایههای PB4 تا PB7 ازآیسی ATmega16U2 را فراهم میسازد |
۳۰ | خازن | ۰/۱ میکروفاراد | حذف نویز از جریان تغذیهٔ میکرو پردازشگر |
۳۱ | خازن | ۲۲ پیکوفاراد | خازن نوسانساز کریستالی |
۳۲ | مقاومت | ۱ مگااهم | حفظ تعادل نوسان در نوسانساز کریستالی |
۳۳ | خازن | ۲۲ پیکوفاراد | خازن نوسانساز کریستالی |
۳۴ | خازن | ۰/۱ میکروفاراد | حذف نویز از ولتاژ ورودی مبنا |
۳۵ | الایدی | زرد | الایدی چشمکزن قابل برنامهریزی |
۳۶ | مقاومت آرایهای | ۱ کیلواهم | محافظت از الایدیهای ۳۵، ۳۷ و ۳۸ |
۳۷ | الایدی | زرد | نشانگر تبادل دادههای سریال (خروج) |
۳۸ | الایدی | زرد | نشانگر تبادل دادههای سریال (ورود) |
۳۹ | خازن | ۰/۱ میکروفاراد | حذف نویز برای میکرو پردازشگر |
۴۰ | خازن | ۰/۱ میکروفاراد | ارسال پالس ریست از ATmega16U2 به ATmega328 |
۴۱ | اتصال | لحیم | اگر قطع شود، آردوینو ریست خودکار نمیشود |
۴۲ | مقاومت آرایهای | ۱۰ کیلواهم | مقاومت ریست میکروکنترلر |
۴۳ | الایدی | سبز | نشانگر روشن/خاموش آردوینو |
۴۴ | مقاومت آرایهای | ۱ کیلواهم | تبادل دادههای سریال |
۴۵ | دیود | cd1206 | کنترل نوسانات ولتاژ در زمان ریست |
ماژولها و شیلدهای آردوینو
با استفاده از آردوینو و به کمک ماژولها و شیلدهای متنوعی که برای آردوینو ساخته شده میتوان پروژههای مختلفی مانند اینترنت اشیا، خانههای هوشمند و محصولات طراحی تعاملی را پیادهسازی کرد. ماژولها و شیلدهای آردوینو را بدون نیاز به پروگرامر میتوان از طریق کابل USB و محیط یکپارچه توسعه نرمافزار متنباز آردوینو پروگرام کرد.
ماژول یا مدول، معمولاً به مجموعه ای یکپارچه از یک برد مدارچاپی، تعدادی قطعه الکترونیک، و یک حسگر یا عملگر گفته میشود. ماژول با استفاده از سیم رابط به پینهای برد آردوینو وصل میشود. در شکل زیر تصویر ماژول حسگر صدا آمدهاست.
امروزه ماژول های متفاوتی در بازار وجود دارد و هر فردی با توجه به نیازی که دارد میتواند از آنها استفاده کند
برخی از ماژول ها رو در زیر میتوانید ببینید:
ماژول بازر
ماژول دوربین
ماژول مادون قرمز
ماژول ژیروسکوپ
ماژول تشخیص دود
ماژول تشخیص آتش سوزی
ماژول بلوتوث
ماژول وای فای
ماژول رله
ماژول میکروفن
و…
سپر (اصطلاحاً یعنی سپر)، به برد الکترونیکی گفته میشود که مستقیماً از طریق پینهای آن بر روی برد آردوینو سوار میشود و قابلیتهای آن را افزایش میدهد. راهاندازی شیلدها معمولاً آسان است ولی ممکن است نیاز به نصب کتابخانه آنها در نرمافزار آردوینو IDE باشد.
لیست بعضی از معروفترین شیلدهای آردوینو در زیر آمدهاست:
- شیلد XBee برای ارتباط بیسیم
- شیلد شبکه اترنت
- شیلد WiFi
- شیلد سیمکارت
- شیلد GPS
- شیلد کنترل موتور
- شیلد CNC
- شیلد اهرمک (جوی استیک)
- شیلد کارت حافظه
- شیلد MP3 Player
- شیلد دوربین
- شیلد صفحه نمایش
- شیلد RFID و NFC
- شیلد باتری
- شیلد برد بورد و نمونه سازی
سلام .با تشکر.جالب بود