بررسی 21 اصطلاح فنی در آردوینو برای شروع به کار
آردوینو پلتفرمی نرم افزاری و سخت افزاری است. به صورت معمول یک برد الکترونیکی با قابلیت برنامه ریزی شدن از طریق پورت USB است. این بردها دارای یک تراشه میکروکنترلر هستند که امکان برنامه نویسی برای اجرای فرامین خاص را به کاربر میدهد. در آردوینو بخشهای مختلفی وجود دارد. برای کار کردن با این برد و همچنین یادگیری آن نیازمند دانستن، اصطلاحات مهم و کاربردی آن است. برد آردوینو برای بسیاری از کاربران یک نقطه عطف است. به این دلیل که روند اجرای پروژه و به نتیجه رساندن ایدهها را بسیار سرعت میبخشد.
همچنین برای مهندسهایی که چندین سال تجربه ساخت بردهای الکترونیکی را دارند، این روند کمی غریب به نظر میرسد. در هر حال ما به این نتیجه رسیدهایم که هر شخصی برای یادگیری آردوینو، در قدم اول بایستی نسبت به اصطلاحات کاربردی آن آگاه باشد. در این پست سعی میکنیم که چند مورد از این موارد را بررسی کنیم. هدف ما ارتقا دانش کاربران فارسی زبان است. همچنین رشد اطلاعات عمومی مدیران در شرکتهای مختلف را مد نظر داریم. بنابراین اگر این مطلب از بلاگ دانشجو کیت برای شما ارزشمند بود و به اطلاعاتتان اضافه کرد، آنرا با دیگران به اشتراک بگذارید تا دانش فنی مدیرها و کاربران فارسی زبان در این حوزه و IoT رشد پیدا کند.
شناخت آردوینو Arduino
آردوینو یک پلتفرم متنباز و سختافزاری است که برای ساخت و توسعه دستگاههای الکترونیکی امبدد (embedded) کاربردی است. این پلتفرم شامل یک میکروکنترلر و محیط توسعه نرمافزاری است که امکان کنترل سختافزارهای مختلف را میدهد. آردوینو شامل یک برد مدارچاپی ساده است که شامل میکروکنترلر AVR یا ARM میشود، همچنین دارای پایههای ورودی و خروجی متنوعی مانند پینها و سنسورها است که برای اتصال به سایر قطعات الکترونیکی استفاده میشوند. این برد به کامپیوتر متصل میشود و با استفاده از محیط توسعه آردوینو (Arduino IDE) میتوان برنامههای کنترلی برای آن نوشت.
محیط توسعه آردوینو بر اساس زبان برنامهنویسی C/C++ است و دارای کتابخانههایی برای اتصال به سختافزارها و تسهیل برنامهنویسی است. با استفاده از این محیط، میتوانید برنامههای کنترلی پیچیده را برای کنترل موتورها، سنسورها، نمایشگرها و سایر قطعات الکترونیکی بنویسید. آردوینو به دلیل قیمت مناسب، سهولت استفاده و پشتیبانی گسترده جامعهی سازندهها و برنامهنویسان، بسیار محبوب شده است.
این پلتفرم برای انجام پروژههای الکترونیکی خانگی، رباتیک، اتوماسیون خانگی، اینترنت اشیا و بسیاری از کاربردهای دیگر استفاده میشود. در کل، آردوینو یک ابزار قدرتمند برای آشنایی با الکترونیک و برنامهنویسی میکروکنترلرها است که به علاقمندان و متخصصها امکان میدهد تا با خلاقیت و تخصص خود، پروژههای الکترونیکی خود را طراحی و پیادهسازی کنند.
اصطلاحات مهم و تخصصی در آردوینو
- بوتلودر
- انواع حافظه
- آپلود کدها
- وریفای یا کامپایل
- کتابخانه
- arduino ide
- مفهوم پورت در نرم افزار
- انتخاب برد در نرم افزار
- توابع برنامه نویسی
- دستورات کاربردی
- مفهوم void setup و void loop
- پایه های آنالوگ و دیجیتال
- پروتکل I2C
- پروتکل SPI
- رابط سریال
- VCC و GND
- شیلد آردوینو
- مبدل سریال به usb
- فایل .ino
- نمونه برنامه های آماده آردوینو
- پروژه Blink با آردوینو
بوتلودر Bootloader
بوتلودر (Bootloader) در آردوینو یک نرمافزار کوچک است که در حافظهی فلش میکروکنترلر قرار میگیرد. وظیفهی آن بارگذاری (بوت کردن) برنامههای کاربردی از طریق رابط سریال (Serial) میکروکنترلر است. بعد از نوشتن برنامهی کاربردی خود در محیط توسعه آردوینو، بوتلودر ابتدا در میکروکنترلر بارگذاری میشود. سپس با اتصال برد آردوینو به کامپیوتر با استفاده از کابل USB، برنامهی کاربردی جدید از طریق رابط سریال به میکروکنترلر ارسال میشود و بوتلودر آن را در حافظهی فلش ذخیره میکند.
با وجود بوتلودر، برنامههای کاربردی جدید میتوانند بهروزرسانی شوند یا تغییراتی در آنها اعمال شود بدون این که نیاز به استفاده از برنامهریز یا همان پروگرامر خارجی باشد. این ویژگی بسیار مفید است زیرا کاربران میتوانند به سادگی برنامههای جدید را بارگذاری کنند و بدون نیاز به تخصص پروگرمرها، انواع پروژهها را با آردوینو انجام دهند. بوتلودر آردوینو به طور پیشفرض از طریق رابط سریال دریافت دستورات برنامهریزی و بارگذاری برنامههای کاربردی است.
با استفاده از نرمافزار محیط توسعه آردوینو، کاربران میتوانند بدون نیاز به تنظیمات پیچیده، برنامههای خود را به برد آردوینو ارسال کنند و از طریق بوتلودر آنها را بارگذاری کنند. بوتلودر آردوینو یک قابلیت مهم است که برنامهریزی و بارگذاری برنامههای کاربردی را بسیار ساده میکند و به کاربران امکان میدهد بهروزرسانیها و تغییرات را بهراحتی اعمال کنند، البته بدون نیاز به تجهیزات و دانش پیچیده این فرآیند انجام میشود.
انواع حافظه در آردوینو Memory
بردهای آردوینو دارای حافظههای مختلفی هستند که برای ذخیرهسازی برنامههای کاربردی و دادههای مورد استفاده استفاده میشوند. در ادامه، نوعهای متداول حافظه در بردهای آردوینو را شرح میدهیم.
- حافظه فلش (Flash Memory): حافظه فلش در بردهای آردوینو استفاده میشود برای ذخیرهسازی برنامههای کاربردی (کد اصلی) و دادههای ثابت مانند آرایهها و رشتهها. این حافظه غیرقابلنوشت است، به این معنی که شما نمیتوانید برنامههای کاربردی را بهطور مستقیم در آن تغییر دهید. برای بهروزرسانی برنامهها، باید از طریق رابط سریال و بوتلودر آردوینو اقدام کنید.
- حافظه SRAM (Static Random Access Memory): حافظه SRAM برای ذخیرهسازی موقتی دادهها و متغیرهای اجرایی در طول اجرای برنامه کاربردی استفاده میشود. این حافظه سریع است و قابلیت خواندن و نوشتن مکرر دارد، اما پس از قطع برق دادهها از بین میروند. بنابراین، حافظه SRAM به طور معمول در بردهای آردوینو به عنوان حافظه اجرایی (Runtime Memory) مورد استفاده قرار میگیرد.
- EEPROM (Electrically Erasable Programmable Read-Only Memory): حافظه EEPROM در بردهای آردوینو برای ذخیرهسازی دادههای دائمی (غیرقابل از دست رفتن پس از قطع برق) استفاده میشود. این نوع حافظه میتواند توسط برنامههای کاربردی خوانده شده و نوشته شود. بنابراین، میتوانید دادهها را بین راهاندازیها یا حتی پس از قطع برق بردها ذخیره کنید. مثالهایی از استفاده از EEPROM در ذخیره سازی تنظیمات کاربری و دادههای کوچک دیگر میباشد.
در هر برد آردوینو، مقدار حافظه موجود بستگی به نوع برد و میکروکنترلر استفاده شده دارد. بعضی از بردهای آردوینو دارای حافظههای بزرگتری هستند که برنامههای کاربردی پیچیدهتری را میتوان در آنها اجرا کرد. قبل از شروع پروژه، بهتر است مقدار حافظههای موجود در برد آردوینو مورد استفاده را بررسی کنید تا با محدودیتها و موارد خاص آن آشنا شوید.
مفهوم آپلود در آردوینو Upload
در زبان آردوینو، مفهوم آپلود (Upload) به بارگذاری برنامههای کاربردی (کد اصلی) از کامپیوتر به برد آردوینو اشاره دارد. برنامههای کاربردی در محیط توسعه آردوینو نوشته شده و به صورت فایل باینری با پسوند .hex به طور خودکار ترجمه میشوند. سپس با استفاده از فرآیند آپلود، برنامههای کاربردی به برد آردوینو منتقل میشوند تا بتوانند در میکروکنترلر اجرا شوند.
برای انجام فرآیند آپلود، ابتدا باید برد آردوینو را به کامپیوتر متصل کنید. این کار به وسیله کابل USB انجام میشود. سپس در محیط توسعه آردوینو، برنامهی کاربردی را آماده کرده و آماده بارگذاری یا همان آپلود میکنید. برای انجام این کار، کافی است دکمه آپلود «Upload» را در محیط توسعه آردوینو فشار دهید. پس از آپلود، برنامه کاربردی به صورت باینری به برد آردوینو منتقل میشود و بر روی حافظه فلش میکروکنترلر ذخیره میشود.
سپس میکروکنترلر آردوینو شروع به اجرای برنامه میکند و دستورات آن به ترتیبی که در کد نوشته شدهاند، اجرا میشوند. فرآیند آپلود برنامه در آردوینو اغلب به صورت خودکار انجام میشود، به این معنی که محیط توسعه آردوینو بعد از ترجمه کد و اتصال برد به کامپیوتر، برنامهی کاربردی را به طور خودکار به برد آردوینو آپلود میکند.
اما شما همچنین میتوانید این فرآیند را به صورت دستی نیز انجام دهید، به طوری که برنامه را ترجمه کنید و سپس دستی دکمه "آپلود" را برای بارگذاری برنامه فشار دهید. آپلود برنامه به آردوینو امکان بهروزرسانی و تغییر برنامههای کاربردی را بدون نیاز به استفاده از برنامهریزی خارجی فراهم میکند. این ویژگی از آردوینو بسیار مفید است و به شما امکان میدهد تا به سرعت و با سادگی برنامههای خود را توسعه و آزمایش کنید.
مفهوم کامپایل در آردوینو Compile
در محیط توسعه آردوینو کامپایل Compile به فرآیند ترجمه کد برنامهی کاربردی از زبان برنامهنویسی C/C++ به باینری قابل فهم توسط میکروکنترلر آردوینو اشاره دارد. در واقع، کامپایلر زبان C/C++ را به کد ماشین قابل اجرا بر روی میکروکنترلر ترجمه میکند. وقتی که برنامهی کاربردی در محیط توسعه آردوینو نوشته شده است، باید ابتدا کد را کامپایل کنید.
در این فرآیند، کامپایلر برنامه (Compiler) به خطاها و اشکالات مربوط به نحو و دستورات کد نگاه میکند و در صورتی که خطاهایی وجود داشته باشد، پیغام خطا را نمایش میدهد. در صورتی که برنامهی نوشته شده بدون خطا باشد، کامپایلر برنامه را به طور موفقیتآمیز به کد باینری ترجمه میکند که میکروکنترلر قادر به فهم آن است.
هدف اصلی کامپایل کردن کد، تولید فایل باینری است که حاوی دستورات ماشینی یا همان کدهای سریالی است که میکروکنترلر برای اجرای برنامه استفاده میکند. فایل باینری نهایی با پسوند .hex تولید میشود و آماده برای آپلود یا همان بارگذاری بر روی برد آردوینو میشود. با استفاده از کامپایلر، مشکلات دستوری و نحوی در کد بررسی میشوند و خطاها و اشکالات زبانی تشخیص داده میشوند. این بررسیها ممکن است شامل اشکالاتی مانند خطاهای نحوی یا همان Syntax Errors، خطاهای نام تابع یا متغیر Undefined Function or Variable و خطاهای نوع داده Type Errors باشد.
کامپایل کد یک مرحله مهم در فرآیند توسعه برنامهی کاربردی برای آردوینو است. با انجام کامپایل، مطمئن میشوید که کد شما به درستی نوشته شده است و بدون خطا است. این کار امکان میدهد تا پیش از آپلود برنامه، خطاهای احتمالی را شناسایی و رفع کنید و به عملکرد بهتر و قابل اعتماد برنامهی خود برسید.
مفهوم کتابخانه در آردوینو Library
در آردوینو، کتابخانهها یا همان Libraries مجموعهای از کدها و توابع آماده هستند که وظایف خاصی را برای کاربر انجام میدهند. این کتابخانهها امکان میدهند که با استفاده از توابع آماده، بدون نیاز به نوشتن کد از ابتدا، وظایف مختلف را به راحتی انجام دهید. به طور کلی، استفاده از کتابخانهها در آردوینو کد نوشتن را سادهتر و کارایی برنامه را افزایش میدهد.
در آردوینو، کتابخانهها به صورت فایلهای هدر (Header Files) با پسوند .h ارائه میشوند. این فایلها حاوی تعریف توابع، متغیرها و ثوابتی هستند که برنامههای کاربردی شما میتوانند از آنها استفاده کنند. استفاده از کتابخانهها در آردوینو به کاربران امکان میدهد که به طور مستقیم با ماژولها، سنسورها، نمایشگرها و سایر قطعات الکترونیکی کار کنند.
به عنوان مثال، اگر میخواهید با ماژول دما و رطوبت DHT11 کار کنید، میتوانید از کتابخانهی DHT استفاده کنید که توابع آمادهای برای خواندن دما و رطوبت از این ماژول را فراهم میکند. به همین ترتیب، کتابخانههای مختلف برای انواع ماژولها و قطعات الکترونیکی موجود است. برای استفاده از یک کتابخانه در آردوینو، ابتدا باید کتابخانه مورد نظر را به محیط توسعه آردوینو اضافه کنید. سپس با استفاده از دستورات تعریف شده در کتابخانه، میتوانید عملکرد ماژول یا قطعه الکترونیکی را کنترل کنید.
همچنین امکان توسعه کتابخانههای تخصص و شخصی سازی شده هم فراهم است. هر متخصصی میتواند بر اساس نیازمندی پروژهای که دارد اقدام به توسعه کتابخانه و استفاده از آن کند. این مورد امکان میدهد تا توابع و قابلیتهای خاصی را برای پروژههای خود ایجاد کنید و باز استفاده آنها را سادهتر کنید. استفاده از کتابخانهها در آردوینو بسیار مفید است و به شما امکان میدهد برنامههای پیچیدهتر را با سرعت و کارایی بیشتر بنویسید. از طریق مرجع آردوینو، شما میتوانید کتابخانههای موجود را بررسی کنید و در پروژههای خود از آنها بهرهبرداری کنید.
مفهوم arduino ide
نرم افزار Arduino IDE (Integrated Development Environment) یک محیط توسعه یکپارچه است که به برنامهنویسان امکان میدهد برنامههای کاربردی برای بردهای آردوینو را ایجاد و ویرایش کنند. این نرمافزار محبوب بین برنامهنویسان آردوینو است و به راحتی قابل استفاده است. با استفاده از Arduino IDE، میتوانید کدهای برنامهنویسی خود را بنویسید، کامپایل کنید و برنامهها را به بردهای آردوینو آپلود کنید.
Arduino IDE یک محیط ساده و کاربرپسند است که دارای ویرایشگر کد است که برای نوشتن و ویرایش کدها استفاده میشود. آن همچنین دارای یک مجموعه کتابخانهها است که حاوی توابع و ابزارهای آماده است که برای توسعه برنامهها و کنترل قطعات الکترونیکی استفاده میشوند. Arduino IDE از طریق رابط کامپیوتری و بردهای آردوینو ارتباط برقرار میکند.
با استفاده از کابل USB، شما میتوانید بردهای آردوینو را به کامپیوتر متصل کنید و برنامههای خود را بر روی بردها آپلود کنید. از آنجا که Arduino IDE به طور خاص برای بردهای آردوینو طراحی شده است، تنظیمات پیشفرض آن برای بردهای آردوینو مناسب است و میتوانید به راحتی کدهای خود را بر روی بردهای آردوینو اجرا کنید. به طور کلی، Arduino IDE یک ابزار کاربردی و آسان برای برنامهنویسی بردهای آردوینو است که به شما امکان میدهد برنامههای خود را بسازید، توسعه دهید و بر روی بردهای آردوینو اجرا کنید.
مفهوم پورت در نرم افزار آردوینو
در نرمافزار Arduino IDE، مفهوم پورت Port به رابط ارتباطی بین کامپیوتر و بردهای آردوینو اشاره دارد. هنگامی که برد آردوینو را به کامپیوتر متصل میکنید، برنامه Arduino IDE نیاز دارد تا بتواند با برد ارتباط برقرار کند و برنامههای کاربردی را به آن آپلود کند.
به عنوان مثال، هنگامی که برد آردوینو را از طریق کابل USB به کامپیوتر متصل میکنید، کامپیوتر یک پورت سریال (Serial Port) برای ارتباط با برد تشخیص میدهد. این پورت سریال عملکرد ارتباطی بین کامپیوتر و برد آردوینو را فراهم میکند. وقتی که در نرمافزار Arduino IDE میخواهید برنامهای را آپلود کنید، باید پورت مربوط به برد آردوینو را در نرمافزار تعیین کنید.
این کار امکان ارتباط بین نرمافزار و برد را برقرار میکند و به نرمافزار اجازه میدهد برنامهی کاربردی را به برد آپلود کند. در محیط Arduino IDE میتوانید پورت مورد نظر خود را از بین پورتهای موجود در کامپیوتر انتخاب کنید. نام پورتی که برد آردوینو به آن متصل است، بسته به سیستم عامل کامپیوتر شما متفاوت است.
برای مثال، در سیستم عامل ویندوز ممکن است پورت با نام COM3 یا COM4 شناخته شود، در حالی که در سیستم عامل macOS ممکن است پورت با نام /dev/cu.usbmodem1411 شناخته شود. در کل، پورت در نرمافزار Arduino IDE نقش مهمی در ارتباط با بردهای آردوینو دارد. با تعیین پورت مناسب، شما میتوانید برنامههای کاربردی خود را به برد آردوینو آپلود کنید و با آن ارتباط برقرار کنید.
مفهوم انتخاب برد در نرم افزار آردوینو
در نرمافزار Arduino IDE، انتخاب برد (Board Selection) به انتخاب نوع برد آردوینو که در حالت فعلی قصد استفاده از آن را دارید اشاره دارد. هر برد آردوینو دارای ویژگیها و پینهای خاص خود است، بنابراین برای برنامهنویسی و آپلود برنامهها، باید نوع برد آردوینو را به نرمافزار Arduino IDE اعلام کنید.
در حقیقت با انتخاب برد مناسب در Arduino IDE به نرمافزار میگویید که برنامههای کاربردی خود را برای کدام برد آردوینو بسازد و آپلود کند. همچنین، این انتخاب به نرمافزار کمک میکند تا تنظیمات پیشفرض مربوط به برد، مانند تنظیمات پورت و سرعت ارتباط، را به درستی تنظیم کند. برای انتخاب برد در نرمافزار Arduino IDE باید مراحل زیر را دنبال کنید.
- نرمافزار Arduino IDE را بر روی کامپیوترتان باز کنید.
- از منوی "Tools" گزینه "Board" را انتخاب کنید. در این منو، لیستی از بردهای آردوینوی موجود به نمایش در خواهد آمد.
- از لیست بردها، برد مورد نظر خود را انتخاب کنید. به عنوان مثال، اگر از برد آردوینو UNO استفاده میکنید، باید "Arduino/Genuino UNO" را انتخاب کنید.
- در صورت نیاز، تنظیمات پورت و سایر تنظیمات مربوط به برد را انتخاب کنید. این تنظیمات بسته به نوع برد و سیستم عامل شما ممکن است متفاوت باشد.
بعد از انتخاب برد در نرمافزار Arduino IDE، همه چیز آماده است، کافیست برنامههای کاربردی خود را بنویسید و آنها را بر روی برد آردوینو آپلود کنید. همچنین، برای هر برد آردوینو، ممکن است ویژگیها و تنظیمات خاص خود را داشته باشید که باید با آنها آشنا شوید تا بتوانید بهرهبرداری بهینه از برد خود را داشته باشید.
توابع برنامه نویسی
در برنامهنویسی آردوینو، توابع یا همان Functions بخشی از کدهای برنامهنویسی هستند که دستورات و عملیات خاصی را به طور مجزا اجرا میکنند. توابع در آردوینو امکان منظم کردن و سازماندهی کردن قسمتهای مختلف کد را در اختیار شما قرار میدهند. همچنین قابلیت استفاده مجدد از کدهای خود را بهبود میبخشید.
توابع در آردوینو از دو جزء تشکیل شدهاند: تعریف تابع و بدنه تابع. در تعریف تابع، نام تابع و پارامترهای مورد نیاز تعیین میشود. بدنه تابع حاوی دستورات و عملیاتی است که درون تابع اجرا میشوند. توابع در آردوینو میتوانند پارامترهای ورودی (Input Parameters) ظاهر شده و در صورت نیاز مقادیر را برگردانند (Return Values). با استفاده از پارامترهای ورودی، میتوانید اطلاعات مورد نیاز برای اجرای تابع را به آن منتقل کنید.
همچنین، با استفاده از مقادیر برگردانده شده، میتوانید نتیجه عملکرد تابع را دریافت کنید. توابع معمولا با استفاده از دستور return به پایان میرسند و در صورت لزوم میتوانند مقداری را برگردانند. اما توابعی نیز وجود دارند که مقدار برگردانده ندارند و صرفا برای اجرای یک سری دستورات طراحی شدهاند. به طور کلی، توابع در آردوینو به شما اجازه میدهند کدهایتان را به بخشهای کوچکتر تقسیم کنید و کد خود را به صورت سازماندهی شده و خوانا بنویسید. این مورد به شما کمک میکند که کدتان را برای خوانندهها و برنامهنویسان دیگر قابل فهمتر کنید و کدهای قابل استفاده مجدد بسازید.
مفوم دستورات کاربردی در آردوینو
دستورات کاربردی (Built-in Functions) در آردوینو، مجموعهای از توابع آماده هستند که توسط زبان برنامهنویسی C/C++ و نرمافزار Arduino IDE فراهم شدهاند. این دستورات کاربردی توابعی هستند که به طور معمول برای کنترل قطعات الکترونیکی و انجام وظایف خاص در بردهای آردوینو استفاده میشوند.
دستورات کاربردی آردوینو شامل توابعی هستند که کارهای مرتبط با ورودی و خروجی دستگاه را انجام میدهند، مانند خواندن و نوشتن از پینها، کنترل رلهها، ارسال و دریافت دادههای سریال، کنترل صدا، کنترل نمایشگرها و سایر قطعات الکترونیکی. همچنین، دستورات کاربردی شامل توابعی است که برای کار با زمان و تاخیرها (Delays)، تصادفی سازی (Random Numbers)، عملیات ریاضی (Mathematical Operations) و سایر عملکردهای مورد نیاز در برنامههای آردوینو مورد استفاده قرار میگیرند. برخی از مهمترین دستورات کاربردی آردوینو شامل موارد زیر میشوند.
- pinMode(): تعیین حالت پین (ورودی یا خروجی)
- digitalWrite(): تنظیم وضعیت پین خروجی
- digitalRead(): خواندن وضعیت پین ورودی
- analogRead(): خواندن مقدار آنالوگ از پینهای ورودی
- analogWrite(): تنظیم مقدار آنالوگ برای پینهای پشتیبانیکننده
- delay(): تاخیر به میلیثانیه مشخص
- millis(): دریافت زمان به میلیثانیه از آغاز برنامه
- Serial.begin(): تنظیم سرعت ارتباط سریال
- Serial.print(): نمایش متن در محیط سریال
- tone(): تولید صدا در یک فرکانس مشخص
- analogReference(): تنظیم منبع مرجع آنالوگ
این موارد فقط چند مثال از دستورات کاربردی آردوینو هستند. توابع کاربردی آردوینو را میتوانید در مستندات آردوینو و منابع آموزشی مربوطه بیشتر بررسی کنید. با استفاده از دستورات کاربردی آردوینو، میتوانید برنامههای کاربردی خود را بهبود بخشید و عملکرد دقیقتر و کارآمدتری را از بردهای آردوینو بدست آورید.
مفهوم void setup و void loop
void setup و void loop دو تابع اصلی در برنامههای آردوینو هستند و در کد آردوینو وجود دارند.
1- تابع setup: تابع setup در برنامه آردوینو اجازه میدهد تنظیمات اولیه برنامه را انجام دهید. این تابع در ابتدای اجرای برنامه فقط یک بار اجرا میشود. در این تابع، میتوانید تنظیمات سختافزاری، مانند تنظیم پینها به عنوان ورودی یا خروجی، تنظیمات مرتبط با سرعت ارتباط سریال و سایر تنظیمات اولیه دیگر را انجام دهید.
2- تابع loop: تابع loop در آردوینو برای اجرای دورهای و تکراری دستورات برنامه استفاده میشود. این تابع پس از اجرای تابع setup توسط آردوینو بلافاصله فراخوانی میشود و دستورات داخل آن به صورت مداوم تکرار میشوند. به طور معمول، دستورات موجود در تابع loop به صورت دورهای اجرا میشوند تا برنامه آردوینو به صورت بینهایت اجرا شود.
معمولا دستوراتی که داخل تابع loop قرار میگیرند، شامل کنترل وضعیت و عملکرد قطعات الکترونیکی متصل به برد آردوینو است. به عنوان مثال، خواندن سنسورها، کنترل خروجیها مانند LED و موتورها، ارتباط با دستگاههای خارجی و غیره. این دستورات در هر چرخه اجرا میشوند و بسته به برنامهی توسعه داده شده، عملکرد دلخواه را انجام میدهند.
ترتیب اجرا: بعد از اجرای تابع setup توسط آردوینو، تابع loop به صورت مداوم فراخوانی میشود. یعنی بعد از اجرای کامل تابع loop، آردوینو به تابع setup برنامه برنمیگردد و مستقیما به تابع loop میرود و آن را تکرار میکند. این فرآیند تکرار دائمی بوده و برنامه آردوینو تا زمانی که روشن است، ادامه خواهد داشت. با استفاده از توابع setup و loop در برنامه آردوینو، میتوانید به سادگی تنظیمات اولیه را انجام داده و دستورات تکراری را برای کنترل و عملکرد مداوم قطعات الکترونیکی برد آردوینو تعریف کنید.
پایه های آنالوگ و دیجیتال آردوینو
پایههای آنالوگ و دیجیتال در آردوینو ارتباط بین برد آردوینو و قطعات الکترونیکی را فراهم میکنند. هر برد آردوینو دارای پایههایی است که برای ارتباط با قطعات الکترونیکی استفاده میشوند، و این پایهها به دو دسته آنالوگ و دیجیتال تقسیم میشوند.
- پایههای آنالوگ: پایههای آنالوگ بردهای آردوینو، به طور معمول با علامت A و یک عدد مشخص مانند A0، A1، A2 و غیره نشان داده میشوند. این پایهها برای اتصال به قطعات الکترونیکی که ورودی و خروجی آنها به صورت سیگنال آنالوگ استفاده میشود. به عنوان مثال، ماژولهای سنسور دما و رطوبت، پتانسیومترها، سنسورهای نوری و غیره معمولاً به پایههای آنالوگ متصل میشوند. این پایهها مقادیر آنالوگ را از 0 تا 1023 میتوانند خوانده و تولید کنند.
- پایههای دیجیتال: پایههای دیجیتال بردهای آردوینو با شمارهگذاری از 0 به بالا (مثل 0، 1، 2 و غیره) نشان داده میشوند. این پایهها برای اتصال به قطعات الکترونیکی که به صورت سیگنال دیجیتال (0 و 1) عمل میکنند استفاده میشوند. به عنوان مثال، اتصال دکمهها، LEDها، رلهها، سنسورهای دیجیتال و سایر اجزا دیجیتال به پایههای دیجیتال انجام میشود. این پایهها میتوانند فقط مقادیر 0 (خاموش) و 1 (روشن) را دریافت و ارسال کنند.
پایههای آنالوگ و دیجیتال بردهای آردوینو امکان کنترل و تعامل با قطعات الکترونیکی را فراهم میکنند. با استفاده از دستورات و توابع مربوطه در نرمافزار Arduino IDE، میتوانید ورودیها را از پایههای آنالوگ و دیجیتال خوانده، خروجیها را به آنها ارسال و کنترل کنید. این امکان به شما میدهد تا با استفاده از بردهای آردوینو، پروژههای الکترونیکی خود را ساخته و کنترل کنید.
مفهوم پروتکل I2C در آردوینو
پروتکل I2C (Inter-Integrated Circuit) یک پروتکل ارتباطی سریال است که برای ارتباط بین قطعات الکترونیکی مورد استفاده قرار میگیرد. این پروتکل برای ارتباط کوتاه فاصله و ارسال دادهها بین قطعات الکترونیکی در یک مدار یا سیستم استفاده میشود. پروتکل I2C از دو خط ارتباطی اصلی تشکیل شده است که به عنوان خط داده (Data Line) و خط ساعت (Clock Line) شناخته میشوند. در طراحی سیستمهای الکترونیکی، پروتکل I2C به صورت مستعمل بردهای الکترونیکی به منظور ارتباط با یکدیگر استفاده میشود.
بردهای آردوینو نیز از پروتکل I2C پشتیبانی میکنند و امکان ارتباط با قطعات دیگری که از این پروتکل پشتیبانی میکنند را فراهم میکنند. با استفاده از پروتکل I2C، میتوانید بردهای آردوینو را با سنسورها، ماژولها، نمایشگرها و سایر قطعات الکترونیکی مرتبط کنید. با استفاده از کتابخانههای آردوینو و توابع مربوطه، میتوانید دادهها را بین این قطعات ارسال و دریافت کنید و کنترل کنید.
مفهوم پروتکل SPI در آردوینو
پروتکل SPI (Serial Peripheral Interface) یک پروتکل ارتباطی سریال است که برای ارتباط بین قطعات الکترونیکی استفاده میشود. این پروتکل برای ارتباط کوتاه فاصله و انتقال دادههای سریال بین قطعات الکترونیکی استفاده میشود. پروتکل SPI برای ارتباط سریع و همزمان بین دستگاه اصلی (Master) و دستگاههای موقت (Slaves) طراحی شده است.
در آردوینو، میتوانید با استفاده از پروتکل SPI، بردهای خود را با قطعات الکترونیکی مانند صفحه نمایشگرها، سنسورها، ماژولها و حسگرهای موقت دیگر مرتبط کنید. با استفاده از توابع کتابخانه SPI در نرمافزار Arduino IDE، میتوانید دادهها را از دستگاه اصلی به دستگاه موقت ارسال و دریافت کنید. این امکان به شما میدهد تا برنامههای کاربردی پیچیدهتری را با استفاده از قابلیتهای پیشرفته ارتباطی پروتکل SPI برنامهریزی کنید.
مفهوم رابط سریال در آردوینو
رابط سریال (Serial Interface) در آردوینو یک رابط ارتباطی است که برای ارتباط بین آردوینو و دیگر دستگاهها یا کامپیوتر استفاده میشود. ارتباط سریال یک ارتباط یکتا و دوطرفه است که بر اساس ارسال و دریافت دادهها بین دو دستگاه عمل میکند.
آردوینو دارای یک پورت سریال است که به عنوان رابط سریال استفاده میشود. این پورت معمولا با نام "Serial" شناخته میشود و برای ارتباط با دستگاههای خارجی مانند کامپیوتر، سنسورها، ماژولها و دیگر میکروکنترلرها استفاده میشود. در آردوینو، ارتباط سریال به صورت سریال UART (Universal Asynchronous Receiver/Transmitter) عمل میکند. این رابط سریال از دو سیم برای ارسال و دریافت داده استفاده میکند.
TX (Transmit): این سیم برای ارسال داده از آردوینو به دستگاه دیگر استفاده میشود.
RX (Receive): این سیم برای دریافت داده از دستگاه دیگر به آردوینو استفاده میشود.
برای استفاده از رابط سریال در آردوینو، باید پارامترهای مربوطه را مشخص کنید، مانند سرعت انتقال داده (Baud Rate) و تنظیمات دیگر مورد نیاز. شما میتوانید از توابع مربوطه در نرمافزار Arduino IDE مانند Serial.begin()، Serial.print() و Serial.read() برای تنظیم رابط سریال و ارسال و دریافت دادهها استفاده کنید. رابط سریال در آردوینو به شما امکان ارسال و دریافت دادهها بین آردوینو و دستگاههای خارجی را میدهد. شما میتوانید دادههایی را از آردوینو به کامپیوتر ارسال کنید یا دادههایی را از دستگاههای خارجی به آردوینو دریافت کنید. این ارتباط میتواند برای انتقال دادههای سنسورها، کنترل قطعات الکترونیکی، ارتباط با نمایشگرها و بسیاری از برنامههای کاربردی دیگر مورد استفاده قرار بگیرد.
مفهوم VCC و GND در آردوینو
VCC و GND دو مفهوم مهم در آردوینو و دیگر مدارهای الکترونیکی هستند.
- VCC: به معنی ولتاژ مثبت یا منبع تغذیه مثبت است. در آردوینو، VCC به عنوان منبع تغذیه مثبت استفاده میشود که به طور معمول با سیم قرمز نمایش داده میشود. VCC از طریق منبع تغذیه خارجی مانند باتری یا آداپتور وارد آردوینو میشود و برای تغذیه اجزای الکترونیکی آردوینو استفاده میشود. به طور کلی، تمام اجزای الکترونیکی آردوینو به VCC متصل میشوند تا بتوانند به درستی عمل کنند.
- GND: به معنی زمین یا اتصال به صفر ولت است. در آردوینو، GND به عنوان نقطه اتصال به سر باتری یا زمین منبع تغذیه مورد استفاده قرار میگیرد و به طور معمول با سیم سیاه نمایش داده میشود. GND به عنوان نقطه مشترک میان اجزای الکترونیکی آردوینو عمل میکند و باعث میشود پتانسیل الکتریکی همه اجزا هماهنگ شود و ارتباط مناسب بین آنها برقرار شود. همچنین، GND به عنوان نقطه اتصال به زمین الکتریکی و برای اتصال به دستگاههای خارجی استفاده میشود.
VCC و GND دو پایه مهم هستند که برای تغذیه و اتصال صحیح اجزای الکترونیکی در آردوینو و سایر مدارهای الکترونیکی استفاده میشوند. اتصال درست VCC و GND باعث میشود قطعات الکترونیکی به درستی عمل کنند و ارتباط الکتریکی صحیح بین آنها برقرار شود.
شیلد در بردهای آردوینو
شیلد آردوینو (Arduino Shield) یک برد الکترونیکی است که به طور اختصاصی برای استفاده با بردهای آردوینو طراحی شده است. شیلدها وظیفه اضافه کردن ویژگیها و قابلیتهای جدید به بردهای آردوینو را دارند.
آنها به عنوان یک توسعهدهنده واسط عمل میکنند و قابلیت ارتباط و افزایش قابلیتها را به بردهای آردوینو میدهند. شیلدها به صورت قابل پیوستن به بردهای آردوینو هستند و روی بردهای آردوینو قرار میگیرند. آنها از طریق سرهای پینهای آردوینو به برد متصل شده و میتوانند قابلیتها و امکانات اضافی را به برد ارائه دهند. برخی از ویژگیها و قابلیتهایی که شیلدها به بردهای آردوینو اضافه میکنند عبارتند از:
- اتصالات خروجی و ورودی: برخی شیلدها اتصالات خروجی و ورودی اضافی را در اختیار شما قرار میدهند، مانند پینهای دیجیتال، پینهای آنالوگ، پینهای PWM و غیره. این اتصالات به شما امکان میدهند تا با سایر قطعات الکترونیکی ارتباط برقرار کنید و آنها را کنترل کنید.
- قابلیتهای ورودی خاص: بعضی از شیلدها دارای قابلیتهای خاصی مانند خواندن اطلاعات از حسگرها، دریافت اطلاعات از دستگاههای خارجی مثل GPS، دستیابی به اینترنت و غیره هستند.
- قابلیتهای خروجی خاص: بعضی از شیلدها قابلیتهای خاصی را برای خروجی دادهها ارائه میدهند، مانند کنترل موتورها، نمایشگرها، LEDها و سایر قطعات خروجی.
- ارتباط بیسیم: برخی از شیلدها امکان ارتباط بیسیم را فراهم میکنند، مانند شیلدهای Wi-Fi، Bluetooth و ارتباطات سلولی. این قابلیت به شما امکان میدهد تا بردهای آردوینو خود را به شبکهها و دستگاههای دیگر متصل کنید.
شیلدها به شما امکان میدهند تا بردهای آردوینو را به سادگی و بهبود بخشیدن قابلیتها و امکانات آنها، به نحوی که با نیازهای خاص پروژههای الکترونیکی شما همخوانی دارد، توسعه دهید. با استفاده از شیلدها، میتوانید پروژههای الکترونیکی پیچیدهتر و کارآمدتری را با بردهای آردوینو انجام دهید.
مبدل سریال به usb در آردوینو
مبدل سریال به USB در آردوینو یک قطعه فیزیکی است که وظیفه تبدیل سیگنال سریال آردوینو به سیگنال USB قابل فهم برای کامپیوتر را دارد. این قطعه به طور معمول یک رابط استاندارد USB به صورت متصل به برد آردوینو است و برای ارتباط و انتقال داده بین آردوینو و کامپیوتر استفاده میشود.
وقتی شما برد آردوینو را به کامپیوتر متصل میکنید، مبدل سریال به USB میانجی بین برد آردوینو و کامپیوتر است. وقتی دستورات و دادههایی از طریق سریال به آردوینو ارسال میشوند، مبدل سریال به USB این سیگنالها را تفسیر و به سیگنال USB تبدیل میکند و به کامپیوتر میفرستد. به همین ترتیب، وقتی آردوینو دادهها را از طریق سریال به مبدل سریال به USB ارسال میکند، مبدل آنها را به سیگنال USB تبدیل کرده و به کامپیوتر میفرستد.
مبدل سریال به USB در آردوینو به شما امکان میدهد تا با استفاده از نرمافزار Arduino IDE و از طریق کامپیوتر، برنامههای کد نویسی شده را به آردوینو ارسال کنید. همچنین، میتوانید دادههایی را که توسط آردوینو تولید میشوند را به کامپیوتر منتقل کنید و از آنها در نرمافزارها و پروژههای خود استفاده کنید.
به طور کلی، مبدل سریال به USB در آردوینو به شما امکان ارتباط آسان و مستقیم بین بردهای آردوینو و کامپیوتر را میدهد و این ارتباط را به وسیله سیگنالهای USB برقرار میکند. در بردهای آردوینو از تراشههای مختلفی برای تبدیل ارتباط سریال به USB استفاده میشود از جمله تراشه Atmega8u2 یا Ch340 دو مورد پر مصرف هستند. در تصویر زیر تراشه مبدل USB در برد آردوینو uno را مشاهده میکنید.
فایل .ino در آردوینو
فایل .ino یک نوع فایل برنامهنویسی است که برای نوشتن برنامهها و کدهای آردوینو استفاده میشود. این پسوند فایل معمولا به عنوان فایل سرآیند Sketch آردوینو شناخته میشود. فایل .ino حاوی کد برنامهنویسی آردوینو است که معمولا شامل دستورات setup() و loop() است.
تابع setup() برای تنظیمات اولیه برنامه استفاده میشود و تابع loop() برای اجرای تکراری دستورات برنامه استفاده میشود. فرمت فایل .ino برای کد نوشتن در نرمافزار Arduino IDE استفاده میشود. این فایلها حاوی کدهای برنامهنویسی به زبان C/C++ هستند که برای کنترل بردهای آردوینو و قطعات مرتبط استفاده میشوند.
هنگامی که شما یک برنامه آردوینو را در نرمافزار Arduino IDE مینویسید و آن را ذخیره میکنید، فایل با پسوند .ino ایجاد میشود. این فایل در واقع متن کد برنامه شما را شامل میشود و شامل تمام دستورات و توابع لازم برای اجرای برنامه است. در این فایل، میتوانید کدهای خود را برای کنترل بردهای آردوینو، خواندن و نوشتن به سنسورها، کنترل قطعات الکترونیکی و انجام عملیاتهای مربوطه بنویسید.
سپس میتوانید کد را به برد آردوینو خود ارسال کنید تا برنامه اجرا شود. فایل .ino یکی از فرمتهای استاندارد برای نوشتن برنامههای آردوینو است و میتوانید آن را باز کرده و ویرایش کنید با استفاده از نرمافزار Arduino IDE یا ویرایشگرهای متنی دیگر این امر امکان پذیر است.
نمونه برنامه های آماده آردوینو
نمونههای برنامههای آماده آردوینو یا Arduino Examples برنامههایی هستند که توسط تیم آردوینو یا جامعه آردوینو تهیه شدهاند و برای ارائه راهکارهای مختلف و نمونههای عملی برای استفادهکنندگان آردوینو در نظر گرفته شدهاند.
این نمونهها معمولا در نرمافزار Arduino IDE در بخش "Examples" یا "نمونهها" قابل دسترسی هستند. آنها به صورت کتابخانههای آردوینو به همراه کدهای برنامهنویسی نمونه برای تمرین و آموزش ارائه میشوند. این نمونهها شامل برنامههای ساده تا پیچیدهتری هستند و موضوعات مختلفی را پوشش میدهند.
به طور کلی، نمونههای برنامه آماده آردوینو امکان ارائه روشها و مثالهای عملی برای استفاده از اجزای الکترونیکی مختلف، کنترل دستگاهها، خواندن و نوشتن به سنسورها، اتصال به شبکه، ارتباط بیسیم و بسیاری از فعالیتهای دیگر را فراهم میکنند. با استفاده از نمونههای آردوینو، شما میتوانید عملکرد و قابلیتهای آردوینو را در پروژههای خود بررسی کنید و با روشهای برنامهنویسی مختلف آشنا شوید.
همچنین، میتوانید این نمونهها را برای توسعه و تغییر دادن برنامههای خود به عنوان پایه و الگو استفاده کنید. به طور کلی، نمونههای برنامه آماده آردوینو میتوانند به عنوان یک منبع آموزشی و مرجع برای یادگیری برنامهنویسی آردوینو و استفاده از قابلیتهای آن مورد استفاده قرار بگیرند. شما میتوانید با مطالعه و تجربه نمونههای مختلف، مفاهیم و تکنیکهای برنامهنویسی را در آردوینو بهبود بخشید و در پروژههای خود از آنها بهره ببرید.
پروژه Blink با آردوینو
پروژه Blink با آردوینو یکی از پروژههای مهم و معروف برای آشنایی با آردوینو است و به عنوان اولین پروژه کار با آردوینو اهمیت دارد. این پروژه ساده اجازه میدهد با برد آردوینو و روشن و خاموش کردن LED آشنا شوید.
پروژه LED Blink یا همان مدار چشمک زن برای این منظور که با مفاهیم اساسی برنامهنویسی و کنترل در آردوینو آشنا شوید بسیار مفید است. در ادامه، به توضیح اهمیت این پروژه و روند اجرای آن میپردازیم. اهمیت پروژه Blink به عنوان اولین پروژه آردوینو:
- آشنایی با برد آردوینو: این پروژه به شما امکان میدهد با برد آردوینو و اجزای آن، مانند پینها، ورودیها و خروجیها آشنا شوید.
- آموزش اولیه برنامهنویسی: با پروژه Blink، شما با مفاهیم اولیه برنامهنویسی آردوینو، مانند توابع setup() و loop()، دستورات کنترل دیجیتال (digital control) و توابع تاخیر (delay functions) آشنا میشوید.
- تست و عیبیابی برد: با اجرای این پروژه، میتوانید صحت عملکرد برد آردوینو و اتصالات سختافزاری را بررسی کنید و از این طریق هرگونه خطا یا مشکل سختافزاری را شناسایی و رفع کنید.
- مبانی برای پروژههای بزرگتر: این پروژه، مفاهیم و تکنیکهای اولیه کنترل برد آردوینو و قطعات الکترونیکی را فراهم میکند که در پروژههای بزرگتر و پیچیدهتر در آینده بهره خواهید برد.