آشنایی با زبان‌های برنامه نویسی آردوینو

0
183
آشنایی با زبان های برنامه نویسی آردوینو
آشنایی با زبان های برنامه نویسی آردوینو

به نام خدا

در این قسمت می‌خواهیم شما رو با زبان برنامه نویسی آردوینو آشنا کنیم و بعضی از دستورات در این زبان رو با هم بررسی کنیم

خب اول بگم زبان برنامه نویسی آردوینو c++  ,   c  هست البته به این معنی نیست که شما فقط با این زبان می‌توانید برنامه نویسی کنید

نرم افزار‌های دیگه‌ای برای برنامه نویسی آردوینو هستند که در زیر چند نمونه معرفی می‌کنم.

چند نرم افزار و زبان مشهور برنامه نویسی:

1- ardublock

آشنایی با زبان های برنامه نویسی آردوینو
آشنایی با زبان های برنامه نویسی آردوینو

2-snap4arduino

آشنایی با زبان های برنامه نویسی آردوینو
آشنایی با زبان های برنامه نویسی آردوینو

3-python

آشنایی با زبان های برنامه نویسی آردوینو
آشنایی با زبان های برنامه نویسی آردوینو

4- زبان ++C,C

خب میریم سراغ زبان رایج آردوینو که همون c  و ++c  هست.

شما وقتی نرم‌افزار آردوینو رو اجرا می‌کنید دو تابع می‌بینید.

setup و loop

void setup()

{

کد هایی که در این قسمت نوشته میشه یکبار اجرا میشن

}

void loop()
{

کد هایی که در این قسمت نوشته میشه قسمت اصلی برنامتون هست و تا بینهایت تکرار میشن

}
تعیین وضعیت پین‌ها
خب برای اینکه یک پین از برد آردینو رو خروجی یا ورودی در نظر بگیریم از دستور زیر استفاده می‌کنیم 
pinMode( وضعیت , شماره پین );
به بزرگی و کوچکی حروف دقت کنین .
وضعیت : یکی از حالت های INPUT ، OUTPUT ، INPUT_PULLUP  می‌تواند باشد.
توضیحات در آردوینو با // مشخص می‌شود  (مثلا برای یک خط برنامه می‌خواین توضیح بنویسین تا یادتون نره این خط برنامه برا چی بود !)
مثال
 pinMode(13, OUTPUT);
در این خط  پین شماره سیزده رو به عنوان خروجی در نظر گرفت که می‌تونیم یه ال ای دی به اون وصل کنیم. یا رله. یا چیزهایی که می‌تونن خروجی باشن
pinMode(2, INPUT);

در این خط پین شماره 2 رو به عنوان ورودی در نظر گرفته که می‌شه به اون یک کلید وصل کرد.

نکته : اگر وضعیت را  INPUT_PULLUP قرار دهیم. پین به عنوان ورودی در نظر گرفته می‌شود و پول آپ داخلی فعال می‌شود. یعنی وضعیت این پایه همیشه یک می‌شود .(مقاومت بالا کش داخلی ).

دستور digital write

برای صفر و یک کردن یک پایه استفاده می‌شود و دو حالت دارد یا HIGH یا LOW

مثال :

 digitalWrite(13, HIGH);

در اینجا پایه شماره سیزده یک شده است.

دستور delay

این دستور برای ایجاد تاخیر زمانی استفاده می‌شود.

delay(مقدار زمان بر حسب میلی ثانیه );

delay(1000);

در این خط برنامه یک ثانیه تاخیر ایجاد می‌کند.

دستور digital read

digitalRead(شماره پین );

این دستور شماره پین مربوطه را چک می‌کند که صفر است یا یک .

خواندن مقادیر آنالوگ با دستور analogRead انجام می‌شود.

پین‌‌های آنالوگ از A0 تا  A5 است.

analogRead(A0);

در این خط برنامه مقدار پین A0 از صفر تا پنج ولت خوانده می‌شود ولی به این معنی نیست که مثلا 2.5 ولت بود آن را 2.5 نشان دهد

آردوینو بر 0 تا 5 ولت را از 0 تا 1023 نشان می‌دهد. مثلا اگر 5 ولت به این پین داده شود مقدار 1023 را نشان می‌دهد.

حالا شما می‌تونید این بازه‌ی 0 تا 5 ولت اندازه گیری رو با دستور زیر تغییر بدین.

analogReference(EXTERNAL);

وقتی این دستور رو نوشتید باید یک ولثاژ مرجع اندازه گیری به پین Aref که رو بردتون هست بدید. با تقسیم ولتاژ مقاومتی.

 

آشنایی با زبان های برنامه نویسی آردوینو
آشنایی با زبان های برنامه نویسی آردوینو

این ولتاژی که به این پین می‌دید می‌شه آستانه ولتاژ اندازه‌گیری آنالوگتون. مثلا 1.5 ولت . که اگر 1.5 ولت به پین A0 بدید مقدار 1023 نشان داده می‌شه.

دستور analog write

در حقیقت آردوینو یا همون میکرو‌کنترلر  نمی‌تونه یک مقدار آنالوگ رو در خروجی اعمال کنه و این کار رو بصورت موج pwm انجام میده.

پایه‌هایی که موج pwm رو تولید می‌کنند 3 و 5 و 6 و 9 و 10 و 11 هستن.

analogWrite(مقدار , شماره پایه );

خب این مقدار می‌تونه از 0 تا 255 باشه این مقدار همون میزان duty cycle هست.

 

آشنایی با زبان های برنامه نویسی آردوینو
آشنایی با زبان های برنامه نویسی آردوینو

pwm یک موج مربعی است که دارای فرکانس ثابتی هست. این فرکانس برای پایه ها 490 هرتز است.

از این دستور می‌تونین در برنامه کم نور و پر نور کردن ال ای دی استفاده کنید یا کنترل سروو موتور!

خب این دستورها تقریبا دستورهای ابتدایی برای شروع برنامه نویسی بود در تصویر زیر تمامی کدهایی که در برنامه نویسی آردوینو مورد استفاده قرار می‌گیره اومده که پیشنهاد می‌کنم شکل زیر رو نگاه کنین.

 

آشنایی با زبان های برنامه نویسی آردوینو
آشنایی با زبان های برنامه نویسی آردوینو

 

 

منبع:  میکرودیزاینرالکترونیک

 

مطلب قبلیخطای کالیبراسیون سنسور
مطلب بعدیابزار Logic Analyser در نرم افزار PROTEUS

پاسخ دهید

لطفا نظر خود را وارد کنید!
لطفا نام خود را در اینجا وارد کنید