به نام خدا
در این قسمت میخواهیم شما رو با زبان برنامه نویسی آردوینو آشنا کنیم و بعضی از دستورات در این زبان رو با هم بررسی کنیم
خب اول بگم زبان برنامه نویسی آردوینو c++ , c هست البته به این معنی نیست که شما فقط با این زبان میتوانید برنامه نویسی کنید
نرم افزارهای دیگهای برای برنامه نویسی آردوینو هستند که در زیر چند نمونه معرفی میکنم.
چند نرم افزار و زبان مشهور برنامه نویسی:
1- ardublock
2-snap4arduino
3-python
4- زبان ++C,C
خب میریم سراغ زبان رایج آردوینو که همون c و ++c هست.
شما وقتی نرمافزار آردوینو رو اجرا میکنید دو تابع میبینید.
setup و loop
void setup() { کد هایی که در این قسمت نوشته میشه یکبار اجرا میشن } void loop()
{ کد هایی که در این قسمت نوشته میشه قسمت اصلی برنامتون هست و تا بینهایت تکرار میشن }
تعیین وضعیت پینها
در این خط پین شماره 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 هرتز است.
از این دستور میتونین در برنامه کم نور و پر نور کردن ال ای دی استفاده کنید یا کنترل سروو موتور!
خب این دستورها تقریبا دستورهای ابتدایی برای شروع برنامه نویسی بود در تصویر زیر تمامی کدهایی که در برنامه نویسی آردوینو مورد استفاده قرار میگیره اومده که پیشنهاد میکنم شکل زیر رو نگاه کنین.
منبع: میکرودیزاینرالکترونیک