آموزش آردوینو
در قسمت های قبلی در باره ی مزیت های آردوینو بحث کردیم. و روش استفاده از میکروکنترلر های AVR بدون خرید برد های آردینو در این پلتفرم رو آموزش دادیم. در این قسمت به آموزش آردوینو به آموزش برنامه نویسی به زبان آردوینو می پردازیم این مطالب قبلا در انجمن الکترولب مطرح شده و در اینجا جمع بندی می شود.
آموزش آردوینو برنامه نویسی به زبان آردوینو:
هر برنامه ای که در زبان c نوشته می شود باید دارای تابع main باشد در زبان آردوینو نیز هر برنامه ای که نوشته می شود باید شامل توابع setup و loop باشد.
نمونه ای از یک کد آردوینو:
void setup() { pinMode(13, OUTPUT); } void loop() { digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000); }
تابع setup:
این تابع هنگام اجرای برنامه اجرا می شود برای تنظیم پین ها به صورت خروجی یا ورودی یا شروع به استفاده از کتابخانه ی خاص و … استفاده می شود. تابع setup فقط یک بار اجرا خواهد شد با روشن شدن برد یا ریست شدن برد تابع setup یک بار اجرا می شود.
تابع loop:
بعد از ایجاد تابع setup باید تابع loop را ایجاد کنیم همان طور که از اسمش پیداست حلقه ای ایجاد می کند که همیشه اجرا می شود یعنی کدهایی که در این تابع نوشته می شود به صورت مداوم اجرا می شوند تقریبا معادل while(1) 0 در زبان c .
دستورات عمومی مانند if , for و غیره :
دستوراتی مانند for – if – if … else – while و … تفاوتی با زبان c نداشته و می توانید این دستورات را همانند زبان c به کار ببرید.
ثوابت در زبان آردوینو Constant :
ثابت ها در زبان آردوینو متغییر هایی از پیش تعیین شده هستند. در زبان آردوینو ثابت ها باعث می شوند تا خوانایی برنامه آسان تر شود.
مهم ترین ثوابت در زبان آردوینو: INPUT , INPUT_PULLUP , HIGH , LOW , false و true در ادمه هر کدام به طور مفصل شرح داده خواهد شد.
ثابت false:
false در آردوینو صفر تعریف شده است.
ثابت true:
اغلب true را یک در نظر میگریم اما true تعریف گسترده تری دارد به این صورت که هر متغییر integer غیر صفر true است.
ثابت های HIGH و LOW:
از عبارت های HIGH و LOW برای یک یا صفر کردن پایه های برد آردوینو استفاده می کنیم نحوه ی این کار در ادمه آموزش توضیح داده خواهد شد.
ثابت هایی برای تعیین خروجی یا ورودی بودن پین ها:
INPUT: پایه ی مورد نظر را ورودی می کند.
INPUT_PULLUP: با ورودی کردن پایه pull up داخلی هر پین را نیز فعال می کند.
OUTPUT: پایه را خروجی میکند.
معادل رجیستر های DDR – PORT – PIN در آردوینو:
برای خروجی کردن یا ورودی کردن یا خواندن و نوشتن پورت در آردوینو از دستورات زیر استفاده می کنیم که هر کدام در ادمه شرح داده خواهد شد.
pinMode
digitalWrite
digitalRead
تابع PinMode:
تابع PinMode جهت خروجی یا ورودی بودن یک پین را تعیین می کند.
PinMode(pin,mode)
به جای عبارت pin شماره ی پین مورد نظر قرار می گیرد
و به جای عبارت mode از عبارت های INPUT – INPUT_PULLUP – OUTPUT برای تعیین جهت پین ها استفاده می کنیم مثال:
PinMode(13, INPUT_PULLUP)
پین شماره ی 13 از برد آردینو را ورودی کرده و pull up داخلی را فعال می کند.
تابع DigitalWrite:
تابع DigitalWrite برای تغییر وضعیت پین high یا low استفاده می شود.
DigitalWrite(pin , value)
به جای PIN شماره ی پین مورد نظر قرار می گیرد و به جای value از عبارت های HIGH یا LOW استفاده می کنیم. به طور مثال:
DigitalWrite(10,HIGH)
تابع DigitalRead:
از تابع DigitalRead برای تعیین وضعیت pin مورد نظر استفاده می شود.
DigitalRead(pin)
سلام.موفق شدم.میشه لطفا راه اندازی سون سگمنت با اردینو رو اموزش بدید؟
چشم در قسمت بعد این مورد رو هم بررسی می کنیم.
ممنون منتظرم
ممنون از راه اندازی الکترولب.امیدوارم همیشه موفق باشید اقای عزتی.
همچنان منتظر اموزش راه اندازی سونسگمنت هستیم ^__^
با عرض سلام مجدد میخواستم بدونم ایا دستوری هست که بشه مثلا پینهای ۷ تا ۱۳ رو به عنوان یک بایت خروجی در نظر گرفت تابشه یه بایت اطلاعات رو روش قرار داد.
من دیروز یه کد رو امتحان کردم برای راه اندازی سون سگمنت با آردوینو ولی دنبال یه مثال راحت تر برای کار با سون سگمنت می گردم تا آموزشش رو قرار بدم سعی می کنم زود تر تکمیل کنم.
البته ۶ تا ۱۳ ^__^
خسته نباشید
هنوز اماده نشد قربان؟
مشکلاتی هست که موجب میشه وقت نکنم پست جدید بنویسم آخرین پست مربوط به 25 روز پیش هست اشالله سعی می کنم هرچه زودتر پست جدید اماده کنم بد قول شدم :((
سلام میخاستم بدونم نمیشه با bascom یا codevision روش برنامه ریخت؟
بله در ورژن های جدید کدویژن و بسکام امکان پروگرم کردن مستقیم بردهای آردوینو هستش