عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created...

89
جموعه مینوسی آردو برنامه نوی آموزش های(Arduino) رباتیک هاییت پروژه با محور مدرس: زاهدی ابوذر تمسکنیاترونیکسی ارشد مک کارشنا تهرانحقیقاتم و تاحد علومی وه آزاد اسنشگا دا رباتیک هاییت پروژهینو با محورسی آردو برنامه نوی آموزش هایجموعه مfaradars.org/fvrd93011

Transcript of عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created...

Page 1: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

با محوریت پروژه های رباتیک(Arduino)آموزش های برنامه نویسی آردوینومجموعه

:مدرس

ابوذر تمسکنی زاهدی

کارشناسی ارشد مکاترونیک

دانشگاه آزاد اسالمی واحد علوم و تحقیقات تهران

مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیکfaradars.org/fvrd93011

Page 2: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

برنامه نویسی چیست ؟یعنینویسیبرنامه•

کندمیتبدیلمشهودواجراقابلایبرنامهصورتبههایمان،خواستهتحققبرایرامامحاسباتکهفرآیندی

2

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 3: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

برنامه نویسی چیست ؟

اجراراشدهمحولهایبرنامهکهافزاریستسختچهوکنیممیریزیبرنامهراچیزیچهماکهبیایدپیشسوالاینشاید•؟کندمی

3

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 4: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

چرا باید برنامه نویسی را یاد بگیریم؟

استنوینتکنولوژیوهاکامپیوتربهمتعلقآینده،دنیای•

...همان طور که ما برای تبادل نظر با دیگر کشورها، نیازمندیم تا زبان رسمی آن کشور را فرا بگیریم.میسر استر برنامه نویسی کامپیوتدر آینده نیز باید زبان سخن با کامپیوترها را فرا گرفت که این کار از طریق

4

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 5: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

؟!در این فیلم آموزشی چه چیزهایی فرا می گیرید

.الکترونیکیمختلفوسایلانواعساختوکاربردیصورتبهنویسیبرنامهآموزش-1

.باشدمجزاپروژهیکخودتواندمیآنهاازهرکدامکهکاربردیوسادههایبرنامهنوشتنیادگیری-2

.ایمیادگرفتهآموزشطولدرکههایپروژههمانازکوچکرباتیکساخت-3

5

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 6: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

پروژه هایی که قرار است یادبگیریم

پروژه های اصلی

راه اندازی چراغ چشمک زن و ساخت چراغ راهنمایی•...های مختلف اعم از مادون قرمز، فتوسل، اولتراسونیک و ( حسگر) راه اندازی سنسور•

DCبرنامه نویسی درایورهای موتور •

کاراکتری LCDراه اندازی •صوتیآموزش اتصال بلندگو و دیگر ماژول های ••....فاصله یاب/ و نهایتاً ساخت یک ربات کوچک مسیریاب•

6

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 7: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

چیست ؟( Arduino)آردوینو

مارافرامینکهداریم(CPU)پردازشگرنامبهافزایسختیکبهنیازنویسیبرنامهبرایماگفتیمقبالکههمانطور•کنداجراومحاسبه

2

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 8: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

چیست ؟( Arduino)آردوینو

وکامپیوترCPUازکهاستمنطقیآیاکنیم،کنترلوریزیبرنامهراشوییلباسماشینیکبخواهیماگرکنیمفرضحال•؟؟شوداستفادهآنامثال

3

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 9: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

چیست ؟( Arduino)آردوینو

امادباشداشتهراآنهایقابلیتکامپیوتر،یکهمانندکهافتادندایوسیلهساختفکربهدانشمندانهنگامایندر•بودخواهدپایینبسیارآنانرژیمصرفوارزانبسیارآنقیمتنتیجهدروباشدکمآنپردازشقدرت

...شدساختهمیکروکنترلرها،کهشداینگونهو

4

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 10: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

چیست ؟( Arduino)آردوینو

Development)پذیرتوسعهآزمایشیبردیکآردوینو• Board)،میکروکنترلریکآنهستهدرکهاستAVRمدل Atmega328pATMELاستگرفتهقرار.

5

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 11: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

چیست ؟( Arduino)آردوینو

؟داردهاییمزیتچهآردوینو•

نداریدکاریلحیمبهنیازیآنازاستفادهبرای-1

open)بازمتنورایگانکامالاًافزارنرمیک-2 Source)قابلوموجودآناطالعاتتمامیکهداریدبازمتنافزارسختهمراهبهاستاشتراک

مخصوصزارافنرمازاستفادهباآننویسیبرنامهو(بودهنزدیکانسانزبانبه)باالسطحصورتبهآن،درنویسیبرنامهزبان-3Arduino)آردوینو IDE)استموجودهایکامپایلردیگرازترسادهمراتببه

(USBرابطوجوددلیلبه).نداریدخودبوردکردنپروگرامبرایجانبیافزارسختبهنیاز-4المللیبینسطحدرمتنوعهایآموزشورایگانکدهایوغنیهایکتابخانهبودندارا-5.....و

6

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 12: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

انواع مختلف آردوینو

7

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 13: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

از کجا شروع کنیم ؟

کنیمخریداریآردوینوبردیکاستنیازاولقدمدر•

Arduino UNO

2

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 14: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

از کجا شروع کنیم ؟

:کنیممیمعرفیرااینترنتیفروشگاهچندجانبی،تجیزاتوآردوینوبردهایخریدجهت•

www.Shop.aftabrayaneh.com

www.Roboeq.ir

www.Eca.ir

3

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 15: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

...خرید حداقل وسایل الزم برای شروع

4

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 16: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

است( open source)آردوینو یک برد متن باز

open)بازمتنبردیکآردوینوگوییممیکهاین• Source)،؟چهیعنیاست

5

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 17: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

است( open source)یک برد متن باز آردوینو

Boot)لودربوتکردنپروگرام• loader)میکروکنترلررویبرآردوینوATMEGA328 , ATMEGA168

6

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 18: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

شرح انجام کار

2

فرادرسرآشنایی با سخت افزا

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 19: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

3

شرح انجام کار

معرفی و نصب نرم افزاررآشنایی با سخت افزا

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 20: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

4

شرح انجام کار

معرفی و نصب نرم افزاررآشنایی با سخت افزا

یبستن مدارات الکترونیک

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 21: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

5

شرح انجام کار

معرفی و نصب نرم افزاررآشنایی با سخت افزا

یبستن مدارات الکترونیک

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

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 22: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

چشمک زن با آردوینوLEDپروژه

6

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 23: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

7

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 24: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

نصب آردوینومراجعه کرده و در قسمت دانلود، آخرین نسخه Arduino.ccابتدا به سایت •

نرم افزار را دریافت نمایید( stable)پایدار

8

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 25: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

مدار شکل زیر را بر روی برد آزمایش می بندیم

9

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 26: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

برای برنامه نویسی++C/Cمعرفی ساختار زبان

• Void setup() {

نویسیبرنامهدستورات}

در آن اجرا می شودیک بار برنامه به کار می رود، و تمامی دستورات فقط آماده سازی برای ( Function)این تابع •

در این قسمت استSerialو تنظیمات pinModeبرای مثال دستوراتی مانند •

• Void loop(){

نویسیبرنامهدستورات}

این تابع تابع خطوط برنامه را یکی پس از دیگری اجرا می کند، و دائماً برنامه را تکرار می کند•!!هسته ی اصلی برنامه در آردوینو، برنامه نویسی در این تابع می باشد•

2

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 27: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

برای برنامه نویسی++C/Cمعرفی ساختار زبان

سوال ؟•تابع دیگری نیز داشته باشیم ؟؟, آیا می توانیم جز این توابع

3

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 28: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

برای برنامه نویسی++C/Cمعرفی ساختار زبان

ما می توانیم به تعداد دلخواه تابع در برنامه خود ایجاد کنیم!!! بله •

int sensor(){(مثال

int sensorValue = analogRead(A0);

sensorValueتبدیل می کند255-0را به 1023-0مقدار /= 4; //

;return sensorValue//را به برنامه اصلی بازمی گرداند sensorValueمقدار نهایی {

4

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 29: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

برای برنامه نویسی++C/Cمعرفی ساختار زبان

گذاشتن چند خط توضیحات در برنامه•

/*

توضیحات

*/

گذاشتن توضیحات فقط در یک خط •

//توضیح در یک خط

5

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 30: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

برای برنامه نویسی++C/Cمعرفی ساختار زبان

انواع متغیرها•

6

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 31: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

برای برنامه نویسی++C/Cمعرفی ساختار زبان

انواع متغیرها•( :Arrays)آرایه

int MyArray[] = {0متغیر, 1متغیر , 2متغیر , … }

:برای خواندن مقدار از یک آرایه به شکل زیر عمل می کنیم

Example Value = MyArray[2];

7

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 32: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

برای برنامه نویسی++C/Cمعرفی ساختار زبان

عملیات ریاضی•

X++ X=X+1

X-- X=X-1

X+=Y X=X+Y

X-=Y X= X-Y

X*=Y X=X*Y

X /= Y X=X/Y

X % Y باقی مانده تقسیم

8

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 33: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

برای برنامه نویسی++C/Cمعرفی ساختار زبان

عملیات مقایسه ای•X == Y مساوی

X != Y نامساوی

x کوچکتر ازX < Y

xبزرگتر ازX > Y

Xکوچکتر مساویX <= Y

Xبزرگتر مساویX >= Y

AND منطقیX && Y

OrمنطقیX || Y

NOT منطقی!X

9

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 34: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

پیشنهادwww.FaraDars.Org

10

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 35: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

ویژه آردوینو++C/Cمعرفی دستورات زبان

• HIGH / LOW

ولت و 5زمانی منطق یک برقرار است که سطح ولتاژ در . یا صفر است1این دستورات به طور کلی برای نشان دادن منطق •.بر قرار است که سطح ولتاژ در صفر ولت باشد( صفر)0زمانی منطق

• Example digitalWrite(13, HIGH); (ولت شود5)را به سطح منطقی یک برسان 13یعنی پایه شماره

2

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 36: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

ویژه آردوینو++C/Cمعرفی دستورات زبان

• INPUT / OUTPUT

می آید، و برای نشان دادن ورودی یا خروجی بودن یک پایه ()pinModeغالباً همراه با دستور •مورد نظر است

• Example pinMode(13, OUTPUT);

3

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 37: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

ویژه آردوینو++C/Cمعرفی دستورات زبان

• digitalWrite(وضعیت ,نام پایهHIGH یا LOW);

تغییر وضعیت منطقی یک پایه، از یک به صفر و یا بالعکس•

• digitalRead(نام پایه)(فقط صفر و یک)خواندن مقدار یک پایه به صورت منطقی •

• Example value = digitalRead(12);

4

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 38: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

ویژه آردوینو++C/Cمعرفی دستورات زبان

• analogRead(نام پایه آنالوگ )(1023تا 0یعنی )بیت 10خواندن یک مقدار به صورت آنالوگ از پایه های آنالوگ با دقت •

ندارد()pinModeپایه های آنالوگ برخالف دیجیتال نیازی به تعریف کردن به صورت : نکته•

Example value = analogRead(A0);

5

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 39: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

ویژه آردوینو++C/Cمعرفی دستورات زبان

• analogWrite( PWM هایپایه نام 255مقدار صفر تا , );

های مختلفduty Cycleبا PWMتولید پالس های مربعی •

Example

void loop(){

int value = analogRead(A0); // از پتانسیومتر1023خواندن مقدار صفر تاvalue /=4 ; // 255-0به 1023-0تقسیمanalogWrite(13, value); // 13اعمال پالس به پایه شماره}

6

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 40: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

ویژه آردوینو++C/Cمعرفی دستورات زبان

• delay(بر حسب میلی ثانیه);

7

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 41: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

ویژه آردوینو++C/Cمعرفی دستورات زبان

• Serial.begin( نرخ تبادل اطالعات );

• 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, 115200

بیاید{ } ()void setupباید در تابع ()Serial.beginدستور : نکته•

8

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 42: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

ویژه آردوینو++C/Cمعرفی دستورات زبان

• Serial.println(اطالعات جهت نمایش در پورت سریال);

این دستور جهت نمایش اطالعات و نوشته های شما، بر روی پورت سریال مورد استفاده •.قرار می گیرد

Serialدر آن است که دستورات را در خط جدید اجرا کرده و در ()Serial.printفرق آن با •Monitorخروجی را بهتر می توان مشاهده کرد

• Example

• Serial.println(“Faradars.org”); // چاپ و نمایش فقط نوشته• Serial.println(SensorValue); // چاپ و نمایش مقدار سنسور

9

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 43: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

و آردوینو++C/Cمعرفی ساختار های شرطی در

if-elseساختار شرطی•

if (شرط برقرار شد ) {

دستوراتی که باید اجرا شود{

else} در غیر این صورتدستورات دیگری که باید اجرا شود{

2

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 44: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

و آردوینو++C/Cمعرفی ساختار های شرطی در

if-else 2ساختار شرطی•

if (شرط اول برقرار شد ) {

دستوراتی که باید اجرا شود{

else if( شرط دوم برقرار شد ) {

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

{else { صورتدر غیر ایندستورات دیگری که باید اجرا شود{

3

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 45: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

و آردوینو++C/Cمعرفی ساختار های شرطی در

Forحلقهساختار•

For ( مقدار اولیه شرط ; } (میزان گام ;دستوراتی که باید اجرا شود{

Example

for (int i=0; i<10; i++){

digitalWrite(led,HIGH);

delay(1000);

digitalWrite(led,LOW);

Delay(1000);}

4

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 46: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

و آردوینو++C/Cمعرفی ساختار های شرطی در

Whileحلقهساختار •

while (مادامی که شرط برقرار است) {دستوراتی که باید اجرا شود{

این دستور برای آن به کار می رود که ما یک شرط را به عنوان ابزار کنترلی برای یک حلقه در نظر بگیریم، و مادامی که این شرط برقرار است، دستورات داخل حلقه همواره اجرا می شود

وجود داشت، برای ساخت یک حلقه بی نهایت تکرار به کار می { }while(1)اگر در برنامه ای : نکته(صفر نیست.) و برقرار است ( True)چون همواره شرط داخل پرانتز صحیح . رود

5

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 47: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

و آردوینو++C/Cمعرفی ساختار های شرطی در

- doحلقهساختار • While

do{

دستوراتی که باید انجام بپذیرد{

while( شرط مورد بررسی );

حداقل یکبار اجرا می شود { } doدر آن است که دستورات داخل کروشه whileفرق این دستور با ودر پایان حلقه شرط آن بررسی می شود که آیا برقرار است یا خیر؟

6

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 48: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

پیشنهاد

7

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 49: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

فتوسل چیست ؟

کندمیتغییرآنخروجیمقاومتنور،شدتمیزانتغییرباکهاست،نوربهحساسمقاومتیکفتوسل•

LDR(آندیگرنام• (Light dependent Resistorبیشترینوراگروبودهزیادتاریکونورکمدرآنمقاومتکهشدخواهدکمترآنمقاومتبتابدآنبه

2

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 50: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

اتصال فتوسل به آردوینو

3

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 51: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

سنسور مادون قرمز چیست ؟

Infara)قرمزمادونسنسور• Red)وذاتیخوبهایویژگیدلیلبهواست(هاانسانمادیداز)نامرئینوریفروسرخ،یا.گیردمیقراراستفادهموردیابیفاصلهواطالعات،انتقالجهتمناسب،موجطول

2

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 52: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

سنسور مادون قرمز چیست ؟

وانکودرهادردورسنجشمسافت،تعییندراستفادهجهتشدهپکیجوقیمتارزانسنسورنمونهیکTCRT5000سنسور•.داردکاربردنیزیابمسیرهایرباتدرهمچنین

3

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 53: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

به آردوینوTCRT5000اتصال سنسور

4

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 54: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

چیست ؟( UltraSonic)سنسور فراصوت

یقطعهیوسیلهبه،(نیستآنشنیدنبهقادرانسانگوشکه)فراصوتامواجازاستفادهبا،Ultrasonicسنسور•.کندمیکمکییباالتقریباًدقتباهامسافتتشخیصجهتمابهوشدهتولیداست،شدهتعبیهآنرویبرکهپیزوالکتریکی

رندگانپایندانیدمیکههمانطورکهاستشدهگرفتهالهامها،خفاشمسیریابیالگویازسنسورهااینبدانیداستجالب•خیصتشراموانعشودمیدریافتمحیطازکهصدایی(پژواک)بازخوردشنیدنباونیستندخوداطرافمحیطدیدنبهقدردهندمی

2

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 55: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

چیست ؟( UltraSonic)سنسور فراصوت

برخوردازپس،کندمیارسالوتولیدراباالفرکانسدرصوتیککهاستشکلاینبهاولتراسونیکسنسورعملکردینحوه•معکوسالتحدرکهالکتریکیپیزوسنسورازاستفادهباگیرندهدروشود،میدادهبازگشتآنپژواکمحیطی،موانعباصوتاین

.کنیممیمحاسبهراآنبازگشتوصوتارسالازپسشدهطیزماناستشدهتنظیمفرستنده!زدتخمینرانظرموردجسمتافاصلهتوانمی(ثانیهبرمتر340)صوتسرعتمحاسبهطریقازو

•1 ثانیهمتر340

×1000000 میکروثانیه

1 ثانیه×

1 متر100 متر سانتی

≈ 29میکروثانیهمتر سانتی

3

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 56: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

UltraSonicمعرفی یک سنسور فراصوت

باشدمیماپروژهدراستفادهجهتمناسبوقیمتارزانماژولیکSRF04ماژول•

4

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 57: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

LM35راه اندازی سنسور دماسنج

:lm35دماسنجسنسورمهمهایویژگی•

(سلسیوس)گرادسانتیدرجهبهدماخروجی•ازایبهولتمیلی10شده،سازیخطیخروجی•

سلسیوسدرجههرتغییرسلسیوسدرجه+150تا-55ازگیریاندازهرنج•ولت30تا4بینکاریولتاژ•

2

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 58: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

LM35راه اندازی سنسور دماسنج

نحوه ی اتصال سنسور چگونه است ؟

3

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 59: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

LM35راه اندازی سنسور دماسنج

:آردوینوبهسنسورهایپایهاتصالینحوه

AnalogهایپایهازیکیبهراVoutپایهاستکافیفقط• inputکنیممتصلکنیممیمتصلآدروینو5v+وGNDبهراVs+وGNDهایپایهترتیببهو•

4

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 60: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

LM35راه اندازی سنسور دماسنج

؟شودمیتعیینچگونهدماگیریاندازهدقت•

5𝑉𝑟𝑒𝑓

1024= 4.8 mv واحدیکهرتغییرازاییهدیجیتالبهآنالوگمبدلقسمتگیریاندازهدقت

T (° C) = 4.8 * ADC Count / 10 دمایحداکثردیجیتال،بهآنالوگمبدلبرای1023مقدارماکزیممفرضبابودخواهدگرادسانتیدرجه491برابررابطهاینطریقازگیریاندازهقابل

:تقریباًیعنیاست،بودهگرادسانتیدرجهیکولت،میلی10هرازایبهدماتغییراتدیتاشیتدردانیممیهمچنین10 𝑚𝑣

4.8 𝑚𝑣= 2.08 داریمدماتغییرگرادسانتیدرجهیکآنالوگ،قسمتشمارش2.08هربایعنی

analogReference(DEFAULT); دیجیتالبهآنالوگمرجعقسمتبرایولت5ولتاژسازیفعالبهمربوطدستور

5

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 61: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

LM35راه اندازی سنسور دماسنج

؟شودمیتعیینچگونهدماگیریاندازهدقت•

1.1𝑉𝑟𝑒𝑓

1024= 1.0742 mv واحدیکهرتغییرازاییهدیجیتالبهآنالوگمبدلقسمتگیریاندازهدقت

T (° C) = 1.0742 * ADC Count / 10 دمایحداکثردیجیتال،بهآنالوگمبدلبرای1023مقدارماکزیممفرضبابودخواهدگرادسانتیدرجه110برابررابطهاینطریقازگیریاندازهقابل

:تقریباًیعنیاست،بودهگرادسانتیدرجهیکولت،میلی10هرازایبهدماتغییراتدیتاشیتدردانیممیهمچنین10 𝑚𝑣

1.0742 𝑚𝑣≈ 9.30 شمارش قسمت آنالوگ، یک درجه سانتی گراد تغییر دما داریم9.30یعنی با هر

analogReference(INTERNAL); دیجیتالبهآنالوگمرجعقسمتبرای1.1ولتاژسازیفعالبهمربوطدستور

6

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 62: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

کاراکتریLCDراه اندازی

•Lcd7دررفتهبکارتکنولوژیهمانمشابهازاستفادهباکاراکتریهای Segment(بیشترپیکسلتعدادبااما)ها.استشدهساخته

.دهدمینشان(کمتراکمبا)پیکسلیصورتبهراحروفواعدادتمامیعلتهمینبه•

2

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 63: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

کاراکتریLCDراه اندازی

16x2کاراکتریLCDهایپایه•

3

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 64: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

کاراکتریLCDراه اندازی

16x2کاراکتریLCDهایپایهمشخصات•

4

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 65: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

کاراکتریLCDراه اندازی

:LCDدراستفادهموردمهمدستورات•• #include <LiquidCrystal.h> LCD هاینمایشصفحهبهمربوطکتابخانهفراخوانی

• LiquidCrystal lcd(rs, enable, d4, d5, d6, d7) LCD هایپایهبندیپیکرهینحوهرایجشکل(شودمیصفر)شودمیمتصلزمینبهRWپایهبندیپیکرهایندر:نکته•

• lcd.begin( ستونتعدادیاعرض , سطرتعدادیاطول ) موردنمایشصفحهنوعکردنمشخصبرایدستوراینازشودمیاستفادهبرنامهدراستفاده

5

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 66: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

کاراکتریLCDراه اندازی

:LCDدراستفادهموردمهمدستورات•• lcd.setCursor( نظرموردستون , نظرموردسطر ) LCD هاینمایشصفحهبهمربوطکتابخانهفراخوانی

.شودمیشروعصفرعددازهاستونهموسطرهاهم:نکته•

,lcd.setCursor(0شکلبهدستوربرویدخودLCDدومسطرازستوناولینبهخواهیدمیوقتیمثالبرای بودخواهد(1

• lcd.print( شوددادهنمایشاستقرارکهاطالعاتی ) دادهنمایشصفحهرویبرخواهیممیکهاطالعاتیتمامیدهیممیانجامدستوراینازاستفادهباشود،

“تادوداخلبایددهیمنمایشLCDرویبرمتنیکبخواهیمفقط:مثال• lcd.print(“FaraDars.org”)بگیردقرار“

lcd.print(sensorValue)بنویسیمرامتغیرناماستکافیدهیمنمایشرامغتیریکمقداربخواهیماگر:مثال•

6

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 67: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

کاراکتریLCDراه اندازی

:LCDدراستفادهموردمهمدستورات•• lcd.clear() LCD نمایشصفحهکردنپاک

• lcd.noDisplay() اطالعاترفتندستازبدون LCD نمایشصفحهکردنخاموش

• lcd.display() اطالعاترفتندستازبدون LCD نمایشصفحهکردنروشن

7

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 68: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

16x2کاراکتریLCDمداربستن•

8

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 69: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

9

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 70: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

(Arduio)ایجاد صدا و آهنگ با آردوینو

:کهاستشکلبدین(Speaker)بلندگوهاعملکردخالصه،طوربه•

شدهپیچیدهآناییآهنربهستهدورکهبلندگوداخلیپیچسیمبهبلندگوهایسیمطریقاز(شدهتقویتغالباً)الکتریکیسینگالدرونآهنییهستهجاییجابهسببکهشودمیآهنرباییخاصیتومغناطیسیمیدانآمدنوجودبهسببوشود،میوارداست

.شودمیاسپیکرنازکردهپجابیجابهسببکهکند،میایجادآندرونفشارپروفشارکمهوایموجیکآهنیهستهجاییجابهوحرکتتغییرات.شودمیصداتولیدنهایتواسپیکر

کندجاجابهراهستهمیزانچهکهدارد،بستگیشدهواردسیگنالبهآنToneوصداشدتیرابطه

2

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 71: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

(Arduio)ایجاد صدا و آهنگ با آردوینو

:پروژهدرموسیقیبامقدماتیآشنایی•

3

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 72: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

(Arduio)ایجاد صدا و آهنگ با آردوینو

Pitch.hکتابخانهدرموجودهایToneازاینمونه•

#define NOTE_B0 31

#define NOTE_C1 33

#define NOTE_CS1 35

#define NOTE_D1 37

#define NOTE_DS1 39

استC#1همانCS1مثالبرایاست،#منظوردیدید،راSعبارتهرکجا:نکته

4

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 73: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

(Arduio)ایجاد صدا و آهنگ با آردوینو

(duration)هانُتزمانیارزش•

جایبهبرنامهدر:نکته•1

4،1

2شودمینوشته..و2،4،8فقط...و،

5

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 74: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

(Arduio)ایجاد صدا و آهنگ با آردوینو

• tone( پایهنام , هانُتشاملآرایهمتغیر [for شوندهتکرارحلقهمتغیر ] , زمانیارزش );

آورده()delayآنازبعدحتماًًاستنیاز)زمانیبازههردرکهکندمیعملهانُتاساسبرهاآهنگاجرایبرایتابعاین•کندمیتولیدمارامطلوبآهنگمجموعدرکهکردهاجرانُتیک(شود

6

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 75: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

7

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 76: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

DCراه اندازی درایور موتور

؟چیستاندازراهیا(Driver)درایور•

2

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 77: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

L298با تراشه DCموتورراه اندازی درایور

L298تراشهفنیمشخصاتباآشنایی•

3

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 78: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

L298با تراشه DCراه اندازی درایور موتور

(DCموتوردرایورماژولصورتبه)بازاردررایجاشکال

4

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 79: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

مختلفهایقسمتشرحماژول

5

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 80: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

مقدماتیاندازیراه

بهراموتوریکخواهیممیماحالتایندراریفشکلیدطریقازوکنیممتصلAکانال

(Push Button)کنترلراآنجهت.کنیم

6

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 81: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

7

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 82: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

PWMاز طریق DCراه اندازی درایور موتور

•PWM؟چیست•PWMمخفف(Pulse Width Modulation)

پالسعرضمدوالسیونیعنی

2

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 83: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

PWMاز طریق DCراه اندازی درایور موتور

...بدانیمPWMازبیشترکمی•

• Duty cycle =𝑻𝒊𝒎𝒆 𝑶𝑵

𝑻𝒊𝒎𝒆 𝑶𝑵 + 𝑻𝒊𝒎𝒆 𝑶𝑭𝑭× 𝟏𝟎𝟎

3

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 84: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

PWMاز طریق DCراه اندازی درایور موتور

4

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 85: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

PWMاز طریق DCراه اندازی درایور موتور

5

در آردوینوPWMدستور ایجاد پالس

• analogWrite(نام پایه 255عدد از صفر تا , );

Arduinoدر : نکته• Uno امکان پیاده سازی ( 11، 10، 6، 5، 3) فقط پایه هایPWMرا به ما می دهد

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 86: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

6

• analogWrite(نام پایه 255عدد از صفر تا , فرادرس;(

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 87: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

پیشرفتهاندازیراه

بهراموتوریکخواهیممیماحالتایندراریفشکلیدطریقازوکنیممتصلAکانال

(Push Button)کنترلراآنجهت.کنیم

بهرموتوسرعتکلید،فشردنباکهبنحویتدریج

خودسرعتماکزیممبهتایافتهافزایش.بالعکسوبرسد

7

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 88: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

8

L298به ماژول Arduinoنحوه ی اتصال

IN1 Pin7 ArduinoIN2 Pin8 ArduinoENA Pin9 Arduino

فرادرس

FaraDars.org مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک

faradars.org/fvrd9311

Page 89: عنوان آموزش…جموعه... · Title: عنوان آموزش Author: Sahandar Created Date: 5/20/2015 11:58:54 AM

با (Arduino)آردوینونویسی برنامه »مجموعه فرادرس های این اسالید ها بر مبنای نکات مطرح شده در

.تهیه شده است« محوریت پروژه های رباتیک

.برای کسب اطالعات بیشتر در مورد این آموزش به لینک زیر مراجعه نمایید

faradars.org/fvrd9311