برای شروع برنامه نویسی در محیط آردوینو Arduino، اولین قدم شناخت کامل ساختار محیط برنامه نویسی است. نرم افزار آردوینو اوپن سورس است و دسترسی به منابع نرم افزار آردوینو به راحتی در دسترس است. در این آموزش با هم با بخش های مختلف نرم افزار آشنا خواهیم شد. در ادامه با مرجع تخصصی، آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.
زبان برنامه نویسی آردوینو
زبان برنامه نویسی آردوینو ++C است. زبان برنامه نویسی ++C از زبان برنامه نویسی C توسعه پیدا کرده و از سبک برنامه نویسی شی را پیروی میکند. زبان برنامه نویسی شی گرا یک شیوه ی نوین برای کدنویسی است که از ترکیب قطعات نرم افزاری ساخته شده است. هدف زبان برنامه نویسی شی گرا مثل ++C این است که اشیای دنیای واقعی را مدلسازی و نمونه سازی میکند. زبان برنامه نویسی ++C انعطاف پذیر است و محدودیتی برای آردوینو ایجاد نمیکند. مهم ترین نکته این است که زبان برنامه نویسی سی پلاس پلاس نسبت به حروف حساس است. در این زبان بین حروف کوچک و بزرگ تفاوت است و تمامی کلمات کلیدی با حروف کوچک نوشته میشود.
دستوالعمل های برنامه ++C دارای چند پارامتر مهم است.
- هر دستور زبان برنامه نویسی به سمیکالن ; منتهی میشود.
- حداکثر طول هر خط برنامه ۲۵۵ کاراکتر است.
- برای مشخص شدن هر خط از برنامه از کامنت استفاده میکنیم تا پس از زباد شدن تعداد خط های برنامه نویسی امکان رفع عیب سریع تر باشد.
اگر تا به حال برنامه نویسی نکرده اید، نگرانی نداشته باشید، بخش به بخش جزییات ضروری راه اندازی را بررسی خواهیم کرد.
Sketch
برنامه ی آردوینو Arduino به سه بخش اصلی تقسیم میشود.
- Structure
- Values
- Functions
بخش اول Structure
دو بخش اصلی در این قسمت نهفته است، که با هر بار ورود به نرم افزار آردوینو و ایحاد یک تب جدید برای شروع برنامه نویسی با آن رو به رو میشوید.
- Setup () Function
- Loop () Function
معرفی Voidsetup()
در voidsetup توابع اصلی برای شروع برنامه نویسی تعریف میشود. از این تابع برای معرفی متغیرها، مدهای پایه، استفاده از دستورات کتابخانه ای استفاده میشود. فانکشن هایی که در setup تعریف میشود فقط یک بار اجرا میشود. از بخش های مهم دیگری که در voidsetup تعریف میشود، ورودی Input و خروجی Output است. در نهایت در این بخش از Return هم استفاده میشود. برنامه نوشته شده در این بخش با باز و بسته شدن سریال مانیتور و یا ریست توسط کلید قرار گرفته شده با آردوینو مجدد از اول اجرا میشود.
1 2 3 4 |
void setup() { // put your setup code here, to run once: } |
معرفی Voidloop()
زمانیکه دستورات نوشته شده در voidsetup اجرا شد، نوبت به voidloop یا همان توابع حلقه در برنامه میرسد. تا زمانیکه حلقه در برنامه تعریف شده باشد، تمامی دستورات نوشته شده اجرا میشود. تنها با قطع ارتباط و یا ریست برنامه متوقف خواهد شد. دستورات در تابع حلقه از بالا به پایین به صورت پیوسته اجرا میشود. به عنوان مثال اگر دارای دو دستور باشد، دستورات به ترتیب اجرا میشود. فاکشن لوپ lOOP یکی از اساسی ترین بخش های برنامه نویسی در آردوینو است و بدون آن تداخل در عملکرد میکروکنترلر ایجاد میکند. حتی اگر در این قسمت برنامه ای هم نوشته نشده باشد، نیاز به آن خواهد بود.
1 2 3 4 |
void loop() { // put your main code here, to run repeatedly: } |
Custom functions – فانکشن های سفارشی
دو بخش اصلی که تا به حال به آن پرداخته شده است، فقط از دو تابع اصلی است. در برنامه های طولانی و پیچیده که شامل چندین بخش منطقی و مستقل از هم هستند، بهتر است برای هر قسمت منطقی برنامه ای جداگانه نوشته شود. برای نوشتن تابع باید اهداف تابع مشخص باشد. چه وظیفه ای بر عهده دارد، .ورودی و خروجی ها مشخص باشد. بخش های اصلی برنامه به صورت زیر است.
- a return type
- a name
- a list of parameters
نوع تابع یکی از روش های برنامه نویسی ++c است که توسط ما تعریف میشود. اگر تابعی بخواهد مقداری را به تابع فراخوان برگرداند، آن مقدار در نام تابع قرار میگیرد. هر مقدار دارای نوع است و نام تابع هم بابد دارای نوع باشد. اگر تابع هیچ مقداری را به برنامه فراخوان برنگرداند، نوع آن VOID خواهد بود.
1 2 3 4 5 6 7 8 9 10 11 |
< نوع تابع > نام تابع ( لیست پارامترها )4 { <دستور اول> <دستور دوم> . . . دستور n } |
- اگر تعداد پارامترها بیش از یکی باشد، باید با کاما , از یکدیگر جدا شود.
- برای اجرای توابع آن ها را با نامشان فراخوانی کنید.
- متغیرهای مورد نیاز توابع را در داخل توابع تعریف کنید. هیچ تابعی نمیتواند از متغیرهای توابع دیگر استفاده کند.
- تعریف تابع در داخل تایع دیگر امکان پذیر نیست.
تست برنامه با void setup
یک برنامه بسیار ساده برای روش تست voidsetp در ادامه نوشته ایم. در ابتدا برنامه ی آردوینو را باز کنید.
1 2 3 4 5 6 7 8 9 10 |
void setup() { // put your setup code here, to run once: Serial.begin(9600); Serial.println("Hello World!"); } void loop() { // put your main code here, to run repeatedly: } |
در بخش voidsetup توابع اصلی که فقط یک بار در برنامه اجرا میشود را مینویسیم. در این برنامه از سریال مانیتور که برای نمایش دیتا در نرم افزار آردوینو است، استفاده میکنیم.
- از سریال مانیتور برای ارتباط بین دو آردوینو با یکدیگر، آردوینو به کامپیوتر و یا ارتباط آردوینو با سایر دستگاه ها استفاده میشود.
- آردوینو یک پورت سریال دارد که با نام UART یا Universal Asynchronous مشخص شده است که به فرآیند ارسال داده با n بیت اطلاعات در یک لحظه گفته میشود.
- در آردوینو از پین های دیجیتال ۰ و ۱ برای راه اندازی پورت سریال استفاده میشود.
برای ورود به سریال مانیتور CTRL + SHIFT + M را همزمان نگه دارید و یا بر روی آیکون آن در سمت راست نرم افزار کلیک کنید.
تست برنامه با VOIDLOOP
همان کد قبلی را در حلقه ی برنامه تعمیم میدهیم.
1 2 3 4 5 6 7 8 9 10 11 |
void setup() { // توابع اصلی که فقط یک بار اجرا میشود. Serial.begin(9600); Serial.println("HELLO WORLD"); } void loop() { // توابعی که مداوم تا پایان حلقه در برنامه اجرا میشود. Serial.println("GOOD LOCK!"); delay(1000); } |
دستورات سریال مانیتور دقیقا مشابه قبل است.
در این بخش برای تکرار دستور مورد نظر از تابع زمانی DELAY استفاده میکنیم.
برای ورود به سریال مانیتور CTRL + SHIFT + M را همزمان نگه دارید و یا بر روی آیکون آن در سمت راست نرم افزار کلیک کنید.
جمع بندی لیدی پای
اصلی ترین بخش در برنامه نویسی صحیح نویسی دستورات در جای درست و فراخوانی به موقع است. قرار گرفتن یک دستور و یک تابع در برنامه تداخل عظیمی در برنامه ایجاد خواهد کرد. لذا یادگیری نکات اولیه برای کدنویسی از مهم ترین بخش های یادگیری آردوینو از پایه است. در این آموزش ساختار زبان برنامه نویسی آردوینو یعنی voidsetup و voidloop و توابع سفارشی را آموختیم. نمونه کد جهت فراخوانی در متن آموزش نوشته شده است. یک به یک اجرا و در صورت سوال از همین طریق بپرسید تا راهنمایی صورت گیرد.
سپاس
سپاس از همراهی شما
سلام تو این صفحه ایحاد جستجو کنید مشکل تایپی دارد اما مسئله اصلی اینه که اشتباه همیشه هست برای تایپ صحیح فارسی کیبورد گوشیم اگه اشتباه بنویسم زیرش خط قرمز میکشه برای پیشرفت لازمه آدما یکم بار مشکلات ازش برداشته بشه از نظر من باید بشه با زبان اسمبلی به راحتی برنامه نوشت اگر برنامه نویسها بخوان. و بابت آموزش ❤
با سلام
سپاس از همراهی و پیام شما
متشکرم
با سلام
سپاس از همراهی شما
خیلی خوب و ساده می نویسید. ممنون.
یه سوال: نوشتن نگارش یک مطلب تخصصی مثل این که نیاز به درج کد و تولید تصویر داره، چقدر زمان میبره برای یه مبتدی؟؟
با سلام
سپاس از همراهی شما کاربر گرامی
اگر منظور شما نوشتن محتوای تخصصی است، نیاز به درک صحیح و انتقال مفاهیم به صورت متنی است که نمیتوان زمان برای آن مشخص کرد.
اطلاعاتی دارید که بورد انو چند لاین خط را میشه درونش ذخیره کرد؟چه راهی برای افزایشش هست؟
با سلام
لطفا کامل تر توضیح دهید تا راهنمایی شود.