آردوینو یک دستگاه قابل توجه برای سرهم بندی الکترونیک است. بیاموزید که چیست، چه کاری می توانید با آن انجام دهید، و چگونه شروع کنید.
اگر شما هم مثل ما هستید، دستکم در تئوری، دستکاری در الکترونیک کاری است که دوست دارید انجام دهید. شاید دوست دارید ابزارهای شکسته را کالبد شکافی کنید، اما هرگز با قطعاتی که پیدا می کنید کاری انجام ندهید، جز اینکه آنها را برای یک روز بارانی دور نگه دارید (کشویی پر از قطعات مایکروویو؟ بررسی کنید!). اما چه کسی زمان یادگیری چنین موضوع پیچیده ای را دارد؟
آردوینو پاسخ همه اینها است: یک برد میکروکنترلر منبع باز که یک راه سرگرم کننده و آسان برای شروع یادگیری الکترونیک است. و می توانید با کمتر از 5 دلار سخت افزار شروع به کار کنید.
آردوینو چیست؟
آردوینو چیزهای زیادی دارد: این یک برند، یک قطعه سخت افزار، یک زبان برنامه نویسی و یک اکوسیستم کامل از محصولات است. اما به طور کلی، هنگام بحث در مورد آردوینو، ما به یک پلتفرم نمونه سازی الکترونیکی منبع باز اشاره می کنیم. اما در واقع این به چه معناست؟
به زبان ساده، آردوینو کامپیوتر کوچکی است که می توانید برای انجام کارها برنامه ریزی کنید. میتواند با اتصال حسگرها به عنوان ورودی، دادهها را از جهان دریافت کند، آن اطلاعات را به نحوی پردازش کند، سپس خروجیهایی را به شکل موتور، LED یا زنگها ارائه دهد.
آردوینو اونو
محبوب ترین برد میکروکنترلر آردوینو مدل Uno است. این تا حدی به این دلیل است که یکی از اولین ها بود، بنابراین قبل از ایجاد طرح های بیشتر مورد استقبال گسترده قرار گرفت.
آردوینو Uno از نظر فنی با شکل آن و محل قرارگیری پایه های ورودی و خروجی تعریف می شود. همه چیز در این بین می تواند تغییر کند، بنابراین شما نسخه های زیادی از آردوینو Uno را در آنجا پیدا خواهید کرد، اما همه آنها همچنان یک کار را انجام می دهند و همان کد را اجرا می کنند.
مغز مدل Uno یک تراشه منطقی ATmega328P یا 168 است. این چیزی است که کد شما را ذخیره و اجرا می کند.
در بالای مدار (یعنی با کانکتور USB در سمت چپ)، 14 سوکت پین ورودی/خروجی دیجیتال را خواهید دید. در کد خود به آردوینو می گویید که از یک پین خاص به عنوان ورودی یا خروجی استفاده کند. آنها می توانند هر دو باشند، اما نه در همان زمان. از آنجایی که دیجیتال هستند، می توانند سیگنال صفر یا یک را بخوانند یا ساطع کنند (همچنین کم یا زیاد نیز نامیده می شود). از آنجایی که آردوینو با ولتاژ 5 ولت کار می کند، سیگنال کم 0 ولت است، در حالی که سیگنال بالا 5 ولت است. هیچ چیزی در این میان وجود ندارد.
در سمت راست پایین، پنج پین ورودی آنالوگ را خواهید یافت. برخلاف پینهای ورودی/خروجی دیجیتال، این پینها فقط ورودی هستند و میتوانند با سنسورهایی که دارای ولتاژ متغیر از ۰ تا ۵ ولت هستند، کار کنند. آنها آن ولتاژ متغیر را به عددی از 1-1024 تبدیل می کنند. یکی از نمونههای سنسور آنالوگ، مقاومت وابسته به نور (LDR) است که بسته به سطح نور فعلی، میزان ولتاژ مجاز عبور را تغییر میدهد. قبل از اتصال سنسور باید آنالوگ یا دیجیتال بودن آن را بررسی کنید.
در سمت چپ پایین مجموعه ای از پایه های پاور قرار دارد. بیشتر اوقات شما فقط از پین های +5V و GND (زمین یا 0 ولت) برای تامین انرژی سنسورها و دستگاه های خروجی کوچکتر استفاده می کنید. اگر موتورهای پرقدرت یا رشته ای از ال ای دی ها را به هم وصل می کنید، ضروری است که آن ها را از بیرون تغذیه کنید و سعی نکنید تمام برق را از آردوینو خود بگیرید.
در بهترین حالت ممکن است آردوینو را بسوزانید که تعویض آن ارزان است. در بدترین حالت، اگر از طریق USB وصل شود، ممکن است به پورت USB رایانه خود آسیب برسانید.
اکوسیستم آردوینو Uno
ما اشاره کردیم که تا حدی شکل برد و پین ها بود که Arduino Uno را تعریف می کند. اما چرا این مهم است؟ اولاً مفهوم “سپر” است. اینها ارتقاهایی هستند که می توانید برای افزودن قابلیت ها در بالای آردوینو قرار دهید. این می تواند برد مدار طراحی شده سفارشی شما یا یکی از آنها باشد که خریداری کرده اید، مانند صفحه نمایش LCD.
ثانیاً، از آنجایی که Uno یک شکل استاندارد است، طیف وسیعی از کیسها، هم طرحهای آماده یا قابل چاپ سهبعدی را برای بارگیری و چاپ در خانه، یا حتی اصلاح خودتان پیدا خواهید کرد.
این سخت افزار منبع باز است
شاید با نرم افزارهای متن باز آشنا باشید. درک آن آسان است: هر کسی میتواند به کد نگاه کرده و آن را اصلاح کند، یا حتی نسخه خود را از آن بسازد. همین امر در مورد سخت افزار آردوینو نیز صدق می کند. این بدان معناست که هر کسی می تواند آردوینو را کپی کند، آن را تغییر دهد، لوگوی خود را روی آن بگذارد و آن را بفروشد. این غیرقانونی نیست در واقع، خود آردوینو در پشت سایر پروژههای منبع باز ساخته شده است. به عنوان مثال، نرم افزار توسعه آردوینو مبتنی بر Wiring است که خود بر اساس زبان پردازش است!
تنها قانون این است که نمیتوانید آن را یک دستگاه آردوینو واقعی بنامید زیرا یک علامت تجاری محافظت شده است. با این حال، می توانید ادعا کنید که “سازگار با آردوینو” است.
اما اگر سخت افزار یکسان است، چرا یک آردوینو “جعلی” خریداری می کنید؟ در حالی که یک برد رسمی می تواند با قیمت بیش از 20 دلار خرده فروشی شود، شما کلون هایی را با همان عملکرد با قیمت کمتر از 5 دلار خواهید یافت. شما حتی می توانید تمام قطعات را به صورت جداگانه خریداری کنید و خود را از ابتدا بسازید.
اما فقط زمانی باید این کار را انجام دهید که بخواهید در مورد آنچه دقیقاً در یک برد مدار آردوینو موجود است اطلاعات بیشتری کسب کنید، نه به این دلیل که می خواهید در هزینه خود صرفه جویی کنید. ارزانتر نیست، و نتیجه نهایی آنقدرها هم براق نیست.
برخی از تولید کنندگان بردهای سازگار با آردوینو را درست می کنند که دقیقاً یکسان هستند، اما ارزان تر هستند. برخی از آنها عملکرد بیشتری نسبت به بردهای اصلی دارند. آنها ممکن است شکل منحصر به فردی داشته باشند که برای یک برنامه خاص طراحی شده اند، چند کانکتور دیگر اضافه کنند، شاید یک صفحه نمایش ماتریس LED داخلی داشته باشند، یا Wi-Fi اضافه کرده باشند.
به عنوان مثال، Lilypad یک برد توسعه سازگار با آردوینو است که برای پروژه های پوشیدنی و رشته های رسانا طراحی شده است.
یکی از بردهای مورد علاقه ما که با آردوینو سازگار است، NodeMCU است که در تصویر زیر مشاهده می کنید. ما آنقدر آن را دوست داریم که آن را قاتل آردوینو نامیدیم. کوچک است، دارای وای فای داخلی است و می توان آن را با حداقل 3 دلار خریداری کرد. این برای پروژه های فشرده اینترنت اشیاء و اتوماسیون خانگی عالی است.
در همین حال، بردهای توسعه دهنده Teensy دارای عملکرد پردازشی بسیار بزرگتری نسبت به بردهای آردوینو هستند، با یک ضریب شکل کوچک – آنها را برای پروژه های کوچکی که در هسته خود به پردازش قدرتمند متکی هستند، عالی می کند.
پس چه چیزی در مورد آردوینو خاص است؟
در قلب آردوینو یک کنترل کننده منطقی قابل برنامه ریزی وجود دارد. آنها مفهوم جدیدی نیستند و چندین دهه قبل از ظهور آردوینو وجود داشتند. برای جزئیات بیشتر، راهنمای ما در مورد کنترل کننده های منطقی قابل برنامه ریزی را ببینید.
اما دنیای PLC ها تا حدودی محرمانه است. آردوینو کار را آسان کرده است. این یک قطعه سخت افزاری با کاربرد آسان، یادآور کیت های الکترونیکی که ما با آن بزرگ شدیم، و یک محیط برنامه نویسی سطح بالا در دسترس را ترکیب می کرد که به این معنی بود که شما نیازی به یادگیری هنر تاریک کد ماشین ندارید.
آردوینو به سرعت جامعه ای از کاربران را در سراسر جهان جذب کرد که آموزش می نوشتند، کد را به اشتراک می گذاشتند و دانش خود را گسترش می دادند. نمونه های اولیه الکترونیک پیچیده دیگر در انحصار فارغ التحصیلان مهندسی برق نبود.
آردوینو پروژههای سختافزاری با تجهیزات الکترونیکی قابل برنامهریزی پیچیده را در دسترس همه قرار داده است – بنابراین هنرمندان و افراد خلاق میتوانند روی تحقق ایدههای خود تمرکز کنند. این ابزار نهایی سرهم بندی است. انقلابی برای طراحان سخت افزار در همه جا.
آیا باید کیت استارت آردوینو بخرید؟
ما اشاره کردیم که میتوانید یک برد کلون آردوینو Uno را با قیمتی کمتر از 5 دلار خریداری کنید، اما کار زیادی نمیتوانید با آردوینو انجام دهید. مطمئناً یک LED داخلی دارد که می تواند به معنای واقعی کلمه چند دقیقه سرگرمی را فراهم کند زیرا شما آن را به روش های مختلف فلاش می کنید. اما برای انجام پروژههای سرگرمکننده، به قطعات اضافی مانند حسگرها، موتورها و الایدیهای رنگارنگ نیاز دارید. سپس شما می خواهید چند کابل جامپر برای اتصال آن بیت ها، و شاید حتی یک تخته نان برای قرار دادن همه این بیت ها. راهنمای ما در مورد اینکه تخته نان چیست و چگونه کار می کند را ببینید.
اینجاست که کیت استارت آردوینو وارد می شود. اما کدام یک را بخریم؟ مورد علاقه فعلی ما کیت مبتدی Grove است (به بررسی ما مراجعه کنید)، که قیمت آن کمتر از 50 دلار است.
این یک برد همه کاره هوشمندانه با سنسورهای از پیش سیمکشی شده، LED، زنگ هشدار و حتی صفحه نمایش OLED است. برد وسط با آردوینو سازگار است، اما شامل 12 کانکتور Grove است. سیستم Grove اتصال قطعات از طریق یک کابل را آسان می کند، بدون نیاز به استفاده از تخته نان یا تعداد زیادی کابل جامپر.
نکته واقعا قابل توجه در مورد کیت مبتدی Grove این است که وقتی می خواهید از طراحی برد همه کاره خارج شوید و نمونه سازی دستگاه های واقعی را شروع کنید، می توانید کل برد و اجزای آن را جدا کنید و به کابل های سیستم Grove بروید (یا به جای آن، کابل های جامپر را به سوراخ های پین استاندارد وارد کنید. این یک سیستم بسیار انعطاف پذیر برای شروع تجربه برنامه نویسی آردوینو شما است.
آردوینو چه زبانی است؟
زبان آردوینو پسوند C/C++ است. این بدان معناست که آردوینو مجموعهای از توابع و ویژگیها را به زبان استاندارد C++ اضافه کرده است، اما همچنان از همان قوانین و قراردادهای اولیه پیروی میکند.
برای برنامه نویسی با آردوینو نیازی به دانستن C یا C++ ندارید. کمی پیش زمینه در هر نوع برنامه نویسی دیگری می تواند کمک کند، اما ضروری هم نیست. می توانید فقط با بارگیری برنامه های نمونه ساده شروع کنید و سعی کنید آنها را تغییر دهید. سپس به سراغ تعویض سنسورهای مختلف یا خروجی های دیگر بروید. در نهایت، سعی کنید برنامه های پیچیده تر را بخوانید و اصلاح کنید، و به زودی پروژه های اصلی را کنار هم خواهید گذاشت. حتی می توانید ChatGPT را برای اشکال زدایی یا توضیح کد دریافت کنید.
در اینجا چند مفهوم کلیدی وجود دارد که نحوه نوشتن یک برنامه آردوینو را تعریف می کند:
- شما باید حداقل یک تابع setup() و loop() تعریف کرده باشید.
- هنگامی که دستگاه آردوینو برای اولین بار بازنشانی یا روشن می شود، setup() یک بار اجرا می شود. از این تابع برای ایجاد حالت اولیه متغیرها استفاده میکنید، به آردوینو بگویید کدام پینهای سختافزاری باید چه کاری انجام دهند، یا کتابخانههایی را که برای حسگرهای مختلف نیاز دارید راهاندازی کنید.
- حلقه () به طور مداوم اجرا می شود. وقتی تمام کدهای تابع ()loop تکمیل شد، به ابتدای حلقه() برمی گردد و دوباره این کار را انجام می دهد! اینجا جایی است که کد برنامه اصلی شما می رود. مواردی مانند بررسی یک متغیر حسگر و عمل بر روی آن.
- شما می توانید توابع کمکی خود را نیز برای کپسوله کردن بلوک های کد تعریف کنید. اینها می توانند هر تعداد متغیر را به عنوان ورودی بپذیرند و یک متغیر را برگردانند. اگر هیچ متغیری برگردانده نشد، تابع به عنوان void علامت گذاری می شود. این مورد در مورد void setup() و void loop() است.
- میتوانید کتابخانههای دیگر آردوینو را وارد کنید تا ویژگیهایی را به برنامه خود اضافه کنید یا در هنگام استفاده از حسگرهای خاص کمک کنید.
- شما می توانید نظرات خود را با قرار دادن آنها با یک اسلش دو برابر // (حتی در انتهای یک خط کد موجود) در کد خود بگذارید. یا با پیشگفتار آن با /* و پایان دادن به */ یک نظر چند خطی بگذارید.
ایجاد کردن!
مسلماً آردوینو انقلابی را در سخت افزار منبع باز آغاز کرد و اهمیت آن در تاریخ محاسبات قابل دست کم گرفتن نیست. امروز نیز مانند همیشه مرتبط است.
شروع کار با آردوینو آسان است، و طیف عظیمی از پروژه ها را می توان با آن ایجاد کرد، که بسیاری از آنها برای مبتدیان مناسب هستند.