نمایش/عدم نمایش سایدبار
رفتن به بالای صفحه
آزادی حجاز از دست نااهلان
مهدی دمیرچیلو

آموزش جامع آردوینو جلسه ۳

به نام خدا

آموزش جامع آردوینو جلسه ۳ : بازم سلام smile ، تو این مطلب از آموزش اردوینو که جلسه سومشه میخوام پروژه کنترل نور LED با آردوینو رو بزارم ، پروژه خواندن ولتاژ با آردوینو رو بزارم ، تابع analogWrite رو توضیح بدم و به آموزش PWM بپردازم ، در ضمن مطلب  LCD کاراکتری در آردوینو رو اگه نخوندید همین الان برید بخونید.
آموزش جامع آردوینو جلسه 3

مـ ـ ـ ـ ـ ـ ـثـ ـ ـ ـ ـ ـالـ ـ ـ ـ ـ ـ ـ ـ ـ

خوب این پروژه که در زیر میبینید به این صورته که یه ولتاژی(بین ۰ تا ۵ ولت) به پایه A0 (پایه آنالوگ) میدیم و توسط تابعی (که در جلسه قبل توضیح دادم نمیخوام اسمش رو بگم laugh ....برید جلسه قبل رو بخونید اگه یادتون نیست blum ) ولتاژ رو محاسبه میکنیم و یه ضرب و تقیم روش انجام میدیم و بعد میایم رو LCD کاراکتری نشونش میدیم....همون طور که میبینید پایه AREF آردوینو به جایی وصل نیست که یعنی از ولتاژ مرجعه داخلی استفاده کردیم. rtfmو همون طور که تو جلسه قبل گفتم باس برید مطلب LCD با آردوینو رو بخونید تا تو این پروژه به مشکل بر نخورید.
فک نکنم چیز دیگه ای برا توضیح دادن باشه....کد ها رو هم که تقریبا خط به خط توضیح دادم....ولی بازم سوال و مشکل بود در خدمتیم heart
شماتیک پروژه
 آموزش آردوینو
کد های پروژه

دانلود پروژه آردوینو این قسمت

analogWrite : (خوب رسیدیمو رسیدیم کاش … pardon ) این تابع رو بهش میگن DAC (فارسیش میشه “مبدیل دیجیتال به آنالوگ”) ، کارش اینه که ولتاژی رو که ما میخوایم روی پایه های برد آردوینو ایجاد میکنیم….مثلا من میخوام ولتاژ ۱٫۷ بندازم رو یکی از پایه های آردوینو ، کاری که باس بکنم اینه که بیام از این تابع استفاده کنم.

pin : پایه ای که میخواین ازش استفاده کنید.
value : مقداری که میخواین به این پایه(pin) بدین ، هر چی عدد بزرگتر باشه ، ولتاژ بیشتری روی پایه میوفته(ماکزیمم مقداری که میتونید بدید بستگی به دقت DAC تون داره)

نکته ها + توجه ها !!!
توجه ۰ : پایه هایی که میتونین برای بحث DAC ازشون استفاده کنید به شرح زیر است (به این پایه ها PWM هم میگن....اگه روی برد رو نگاه کنید میبینید که رو بعضی پایه ها نوشته ~ که یعنی این پایه ها برا PWM هستن.) :

  • اکثر برد های آردوینو(با ATmega168 یا ATmega328) : پایه های ۳ ، ۵ ، ۶ ، ۹ ، ۱۰ ، ۱۱
  • برد های قدیمی آردوینو با ATMEGA8 : پایه های ۹ ، ۱۰ ، ۱۱
  • برد های Arduino Mega : پایه های ۲ تا ۱۳ و پایه ای ۴۴ تا ۴۶
  • :  Arduino Due 
    The Arduino Due supports analogWrite() on pins 2 through 13, plus pins DAC0 and DAC1. Unlike the PWM pins, DAC0 andDAC1 are Digital to Analog converters, and act as true analog outputs

توجه ۱ : فرکانس پایه های PWM (برای برد UNO) ?
اکثر پایه ها : ۴۹۰ Hz
پایه ۵ و ۶ : ۹۸۰ Hz

توجه ۲ : فرق ADC و DAC چیه؟ : تو پایه های ADC ولتاژ بین ۰ تا ۵ که روش هست رو میخونیم که توسط تابع analogRead این کار خوندن انجام میشه و یه سری پایه هستش تو آردوینو به نام DAC که برا این پایه ها میتونیم ولتاژ ۰ تا ۵ ولت ایجاد کنیم و بدیم بهشون که این کار توسط تابع analogWrite انجام میشه و به روشی که این ولتاژ رو درست میشه(میشه-میکنیم-میکنن و...) میگن PWM.

سوال + جواب
سوال ۱ : PWM چیه ؟؟؟ 
جواب ۱ : چیز خاصی نیست laugh  ، برای این که ما مثلا ولتاژ ۲٫۵ ولت تولید کنیم میایم و کلک رشتی میزنیم shock ، کارمون این طوره که ولتاژ پایه رو ۰ میکنیم ۵ ولت میکنیم ، ۰ ولت میکنیم ، ۵ ولت میکنیم >>>> این عمل رو که هی انجام بدیم ، میانگینش میوفته روی پایه مورد نظر >>> در واقع ما یا LED یا موتور یا ولت متر این میانگین رو متوجه مییشه و احساس میکنه ، حالا اگه بخوایم ولتاژی بالاتر از ۲٫۵ ایجاد کنیم باید زمانی که ولتاژ اون پایه هه ۵ ولت هستش رو بیشتر کنیم و زمانی که ولتاژ پایه ۰ ولت هستش رو زمانش رو کم کنیم......و بلعکس برا ولتاژ زیر ۲٫۵ ولت ، زمان ۰ بودن بیشتر از ۵ ولت بودن  باید بشه
به این کار میگن PWM یا به این روش میگن PWM.....یا هر چی خودتون دوس دارید crazy
البته یه تابع هست که ما بهش مقدار میدیم و با این مقدار دادن ولتاژ رو کنترل میکنیم ، و دیگه نمیخواد کاری رو که در بالا گفتم رو شما انجام بدین ، از تابعش استفاده میکنید ، خیلی راحت buba
pwm چیست

سوال ۲ : تو بالا شما گفتید که فرکانس پایه های PWM ، حالا فرکانس پایه تغییر کنه یا برا یه پایه x باشه و برا پایه دیگه y باشه چه فرقی با هم دارن مگه؟؟؟
جواب ۲ : مثلا فرض کنید میخوایم پروژه کنترل نور led رو با آردوینو انجام بدیم ، برا این کار باید ولتاژ led رو کم و زیاد کنیم تا نورش کم و زیاد بشه ، لذا میایم و از pwm استفاده میکنیم ؛  همون طور که میدونید فرکانس با دوره تناوب رابطه عکس داره ، هر چی دوره تناوب pwm ما کمتر باشه بهتره ، لذا هر چی فرکانس pwm بیشتر باشه بهتره.

سوال ۳ : حالا چرا فرکانس بیشتر باشه برا pwm بهتره ؟
جواب ۳ : چون تعداد دفعات روشن و خاموش شدن led بیشتر میشه و ما دیگه چشمک زدن led رو احساس نمیکنیم.(در بالا گفتم که اساس pwm اینه که پایه رو ۰ میکنه ۵ میکنه و این عمل رو این قدر تکرار میکنه تا ولتاژ میانگینش یعنی مثلا ۲٫۵ولت رو ما سنس کنیم....که وقتی ۰ ولت میشه led خاموش میشه و وقتی ۵ ولت میشه led روشن و یان عمل وقتی تکرار بشه باعث چشمک زدن led میشه.....لذا اگه ما فرکانس رو ببریم بالا یعنی دوره تناوب بیاد پایین یعنی زمان روشن و خاموش شد کمتر بشه اون وقت دیگه چشمک زدن led رو ما احساس نمیکنیم. )

سوال ۴ : وقتی زمان روشن و خاموش شدن بیاد پایین چطور باعث از بین رفتن چشمک زدن led میشه؟؟؟
جواب ۴ : «پایه ۵ ولت میشه + تاخیر زمانی + پایه ۰ ولت میشه+ تاخیر زمانی»
عمل بالا هی انجام میشه تا نور led تغییر کنه ، حالا اگه مقدار اون تاخیر های زمانی رو کم کنیم(دوره تناوب بیاد پایین=فرکانس بره بالا) سرعت چشمک زدن (خاموش روشن شدن) میره بالا و ما دیگه چشمک زدن led رو احساس نمیکنیم ، یا این که چشمک زدن led کمتر میشه و به حد قابل قبولی میرسه.
لذا بالای ۱۰۰ hz باشه فرکانس ، برا led هم از سرش زیاده laugh

مردی بازم سوال بپرس تا حالت رو بگیرم... bomb 

مطالب خوب در این باره تو سایت های دیگه heart (برید حال کنید ، میبینید چقدر به فکرتون هستم blush )
PWM چیست ؟ (مطلب ۱)
PWM چیست ؟ (مطلب ۲)
PWM (مطلب ۳ - انگلیسی)

ـ ـ ـ ـ ـ ـ مـ ـ ـ ـ ـ ـثـ ـ ـ ـ ـ ـالـ ـ ـ ـ ـ ـ ـ

پروژه کنترل نور LED با آردوینو

توجه مهم : در پروتئوس وقتی مدار رو اجرا میکنید میبینید که led چشمک میزنه ، ولی مشکل از پروژه نیست و مشکل از پروتئوس هستش ، اگه در عمل تست کنید پروژه رو به حرفم میرسید.(عکس های زیر به ازای مقادیر مختلف برای تابع analogWrite هستش که میبینید نور led تغییر کرده )
پروژه کنترل نور LED با آردوینو

شماتیک پروژه

پروژه آردوینو

کدهای پروژه

 

دانلود پروژه کنترل نور LED با آردوینو

خوب این مطلب هم ۱۴۰۰ کلمه شد wacko ….که یکم زیاده….امیدوارم حوصلتون رو سر نبرده باشم…و از مطلب خوشتون اومده باشه و بدردتون بخوره……خوشهال میشم نظراتتون رو بگید….اگه مطلب مفید بود “برا شادی روح شهدا صلوات بفرستید” (هزینه مطلب smile ) …. فعلا یا علی…..بریم بازی والیبال ایران رو ببینیم. laugh

گروه پرسش و پاسخ الکترونیکی در سروش
مهدی دمیرچیلو گوگل میفرماید : إِنَّ اللّه مَعَ الساچِرین ( خداوند با سرچ کنندگان است )
ارسال دیدگاه
70

1) نظرات غیر فارسی به صورت خودکار حذف میشوند ( حداقل 5 حرف فارسی وارد کنید ).

2) به موارد درخواست پروژه/کد آماده و سوالاتی که بلد نباشم پاسخ داده نمیشه.

3) برای گزاشتن کدهاتون از این سایت استفاده کنید ( طبیعتا لینک کدتون رو باید برای من بفرستید! ) : debian

4) پسورد فایل های سایت : www.dmf313.ir

  1. Avatar

    مهمان

    محمد

    سلام دستورpwm analogwrite چه فرکانسی تولید میکنه؟

    • مهدی دمیرچیلو

      نویسنده این مطلب

      مهدی دمیرچیلو

      سلام- تو مطلب گفتم :
      توجه ۱ : فرکانس پایه های PWM (برای برد UNO) ?
      اکثر پایه ها : ۴۹۰ Hz
      پایه ۵ و ۶ : ۹۸۰ Hz

  2. Avatar

    مهمان

    محمد امین

    من کد جدید را اپلود کردمولی ارور داده است

  3. Avatar

    مهمان

    محمد امین

    سلام منظورم کدی است که در برد ریخته شده

    • مهدی دمیرچیلو

      نویسنده این مطلب

      مهدی دمیرچیلو

      آها- آردوینو؟
      خب تو آردوینو برنامه جدید که آپلود کنی قبلی پاک میشه دیگه
      اگه منظورت میکرو هستش با پروگرامر که خب تو پروگرامر یه گزینه هستش با نام پاک کردن برنامه – البته معمولا تو اکثر پروگرامرا یه دکمه هستش که تمام کارای پروگرام کردنو میکنه.

  4. Avatar

    مهمان

    محمد امین

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

    • مهدی دمیرچیلو

      نویسنده این مطلب

      مهدی دمیرچیلو

      سلام-دستور چی؟ متوجه نشدم.

      • Avatar

        مهمان

        محمد امین

        سلام منظورم کد پروژه قبلا هست

      • Avatar

        مهمان

        محمد امین

        اخه دکمه ریست رو می زنم پاک نمیشه search

        • مهدی دمیرچیلو

          نویسنده این مطلب

          مهدی دمیرچیلو

          خب نباید پاک بشه که – کد پروژه داخل حافظه FLASH ذخیره میشه اگه اشتباه نکنم – و با قطع و وصل شدن برق از بین نمیره.

  5. Avatar

    مهمان

    یوسف صداقت

    سلام قطعاتی که در برنامه کنترل نور ال ای دی استفاده کردین چیه؟
    mail

    • مهدی دمیرچیلو

      نویسنده این مطلب

      مهدی دمیرچیلو

      سلام
      آردوینو UNO
      LED
      مقاومت 330 تا 4.7 کیلو – مقدارش بین این حدود باشه – زیاد مهم نی به اون صورت.
      پتاسیومتر 10 کیلو

  6. Avatar

    مهمان

    سعید

    سلام
    این پروژه رو انجام دادم lcd فقط خاموش روشن میشه و عددی نشون نمیده . مشکل از کجاست ؟

  7. Avatar

    مهمان

    الناز

    سلام خسته نباشید.من میخام یه مداری بسازم که وقتی نور محیط کم میشه نور led زیاد بشه و برعکس ینی وقتی نور محیط زیاد میشه نور led کم بشه.الان مداری که ساختم برعکس کار میکنه ینی نور led با نور محیط کم و زیاد میشه.اگه میشه راهنماییم کنید خیلی فوریه??

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      خب از مقدار حداکثر کم کن
      مثلا مقدار حداکثر 100 هستش
      شما مقدار 10 رو از نور محیط میخونی – از 100 کمش کنی میشه 90 –

  8. Avatar

    مهمان

    mansour

    سلام.بابت راهنماییاتون ممنون. یه سوال.. چطوری میتونم مقدار فرکانس پایه های pwm رو افزایش بدم؟؟؟ مثلا 3کیلو کنم

  9. Avatar

    مهمان

    امین

    سلام . ممنون از آموزش خوبت . این قسمتو یکم بیشتر توضیح میدی؟
    // ADC = 10bit(max is 1024) – DAC = 8bit(max is 256) >>>> 1024/4=256
    analogWrite(9, Voltage/4);

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام-خب ما میخوایم با یه پتاسومتر نور یه led رو کنترل کنیم – و dac! ما ۱۰ بیت هستش ( مقدارش بین ۰ تا ۱۰۲۳ میشه ) و adc ما ۸ بیت ( مقدارش بین ۰ تا ۲۵۵ میشه) –
      لذا ما باید مقدار dac رو بر ۴ تقسیم کنیم تا تو رنج adc قرار بگیره.

  10. Avatar

    مهمان

    ZoRo

    دادا میشه یه عکس از خودت بدی ؟!؟!
    میخام ببینم چند سالته ؟؟؟
    آخه طرز بیان مطالبت خیلی جالبه و مطالب خوبی هم میزاری cool

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      قیافم و سنم به هم نمیخورن! – سنم زیاد – قیافم بچه نشون میده laugh

  11. Avatar

    مهمان

    setayesh

    سلام خسته نباشید.
    من یه برنامه میخواستم که بتونم نور led رو کنترل کنم مثلا از ۰ تا ۲۵۵ به ترتیب بالا بره و برگرده بشه.
    با حلقه ی for و پورت pwm استفاده میکنم نور به صورت ضربه ای زیاد یا کم میشود.
    راهی نیست که افزایش نور این شکلی نباشد؟

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

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

  12. Avatar

    مهمان

    Arduino

    رمز فایلهای زیپ چیه؟
    پروژه های پایان هر آموزش رایگانه؟

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      www.dmf313.ir
      تو این سایت از نظر مادی همه چیز رایگانه

  13. Avatar

    مهمان

    hamed

    میخوام با دستور analogwrite انجام بدم

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      نفهمیدم چی میگی

  14. Avatar

    مهمان

    hamed

    من میخوام pwm تولید کنم جوری که تو ده میلی ثاتیه دوتا روشن باشن تو ده میلی ثانیه دیگه اون دوتای دیگه

  15. Avatar

    مهمان

    سعید توکلی

    مهدی جان من پروژه اولی رو توی پروتئوس اجرا کردم ولی همش مقدار 2.5V رو نمایشگر نشون میده هر نوع مقاومت متغیری هم میذارم همینجوره ایراد از کجاست،

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      بابا آردوینو اومد تا ملت برن سمت عملی کار کردن چون کار باهاش ساده بود – بیخیال پروتئوس. اگه پروژت همینه و کدهات همینن نباید مشکلی وجود داشته باشه – ببین کجا اشتباه کردی

      • Avatar

        مهمان

        سعید

        در عمل جواب داد و مشکلی نبود متشکرم

  16. Avatar

    مهمان

    سعید توکلی

    سلام مهندس جان تو آموزش lcd فرموده بودی بهترهه مد ۴ بیتی نوع اول ببندیم مگر بخوایم از lcd چیزی رو بخونیم نوع دوم میبندیم. اینجا چرا نوع اول وصل نکردی rw رو گراند کنی. خواستم ببینم دلیل خاصی داشته که من متوجه نشدم؟

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      عادت کردیم RW رو زمین نکنیم – ترک عادت موجب مرض است laugh

  17. Avatar

    مهمان

    آشکار

    خیلی خوب توضیح میدی داش … دس مریزاد

  18. Avatar

    مهمان

    sum

    سلام و خسته نباشید ، کارت خیلی درسته دمت گرم
    من یه مشکلی دارم و اون این که میخوام از گاربل برای سی ان سی استفاده کنم ولی برد اونو یه همچین چیزی نداره آیا امکانش هست مقدار ایکس و وای و زد رو تو ال سی دی ببینم ؟ و این که تو یه سایت برد مگا استفاده کرده و حتی نیاز به سیستم هم نیست و کنترلرشم گاربله و اگه نیازه من سایتشو قرار بدم
    بازم تشکر میکنم از این همه وقتی که گذاشتی که ما یچیزی یاد بگیریم

  19. Avatar

    مهمان

    امینی

    سلام خسته نباشید … ی سوال فوری فوتی دارم…. میشه ی رشته دیجیتالو به آنالوگ تبدیل کرد؟؟/
    لطفا سریع جواب بدین پروژم رو هواست…

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      متوجه منظورت نشدم.

  20. Avatar

    مهمان

    Ali

    سلام چرا از تابع digitalwrite به جای تابع analogWrite استفاده نمیکنیم؟ یا اصن کلی بگم چرا برای کم کردن نور LED ولتاژ رو به طور خطی با digitalwrite کم نمیکینم؟چرا حتما باید به صورت آنالوگ این کار انجام بشه؟

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      analogWrite یعنی تولید ولتاژ بین 0 تا VCC روی پایه خروجی! به این کار میگن DAC
      خب حالا میکرو فقط ADC داره و DAC نداره!
      خب پس چطور این کار analogWrite انجام میشه؟
      بله به کمک PWM که اگه با اصول PWM شناختی نداری باید بگم که شبیه همین digitalwrite هستش کارش – مطالب PWM سری AVR رو خواستی بخون.

  21. Avatar

    مهمان

    mohsen

    سلام آقا مهدی.
    وقت بخیر.
    آقا مهدی یک سوال از خدمتتون داشتم. لطفا جوابشو برای ایمیل بنده نیز ارسال فرمایید.
    آیا با آردینونو امکان انجام پروژه یک گیرنده Fm رادیو وجود داره؟ اگر امکانش وجود داره آیا این امکان نیز وجود داره که این گیرنده به اینترنت وصل شه و از مکان دور بتوان فرکانس موج Fm را تغییر داد و اقدام به گوش دادن برنامه نمود.
    به عنوان مثال من در تهران باشم و مدار طراحی شده در قم. و بتوانم فرکانس گیرنده را از تهران تغییر بدهم و به راحتی یرنامه های رادیویی را گوش بدم.
    اگر این امکان فراهم است نیاز به کدام برد آردینو و شیلدهای آن دارم؟
    قبلا از سایت خوب شما کمال تشکر و سپاس را دارم.

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام – فرستنده مطلبش تو سایت هستش.
      وصل شدن به اینترنت هم در آینده میاد تو سایت.

  22. Avatar

    مهمان

    It\'s me

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

  23. Avatar

    مهمان

    شاکری

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

  24. Avatar

    مهمان

    علیرضا

    عالی بود.ممنون

  25. Avatar

    مهمان

    رضا

    سلام.فرکانس pwm در intel galileo gen2 چه مقدار هست؟
    یک تابعی گفتییاااا ولی نگفتیش.بگوش دعات میکنیمsmile
    چطور با خازن و سلف این pwm رو به ولتاژ عادی تبدیل کنم؟

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام-نمیدونم
      فک کنم تو یکی از مطالب avr اینو گفته باشم…فک کنم

  26. Avatar

    مهمان

    حمید

    سلام….دمت گرم بابت آموزش های خوبت
    یه قسمت رو درست متوجه نشدم…….
    VoltageValue = (VoltageValue*5)/1023;
    چرا * 5—-/ 1023
    ممنون میشم راهنمایی کنی…..

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      فرمول محاسبه ولتاژ
      مقدار خونه شده توسط تابع * ولتاژ مرجع —> تقسیم بر تعداد دقت adc که این جا adc ما 10 بیتی هستش که میشه 1024 و چون شمارش از 0 شروع میشه میشه 1023

  27. Avatar

    مهمان

    arman

    سلام داش پس جلسه چهارمش کجاس؟

  28. Avatar

    مهمان

    بنده

    خدا قوت , دلاور

  29. Avatar

    مهمان

    مهدیار313

    آقا نخسته…خداقوت

  30. Avatar

    مهمان

    امير حسين

    بخدا آخر آخر آخرشی.دمت گرم بهت افتخارمیکنم حرف نداری زنده باشی

  31. Avatar

    مهمان

    سینا

    ببخشید دو تیکه شد این کد برای کنترل led rgb خوبه؟؟؟ استاد دمرچیلو

  32. Avatar

    مهمان

    سینا

    int redLEDPin = 9;
    int greenLEDPin = 10;
    int blueLEDPin = 11;
    int redSwitchPinUP = 0;
    int greenSwitchPinUP = 1;
    int blueSwitchPinUP = 2;
    int redSwitchPinDOWN = 3;
    int greenSwitchPinDOWN = 4;
    int blueSwitchPinDOWN = 5;
    int red = 0;
    int blue = 0;
    int green = 0;
    void setup()
    {
    pinMode(redLEDPin, OUTPUT);
    pinMode(greenLEDPin, OUTPUT);
    pinMode(blueLEDPin, OUTPUT);
    pinMode(redSwitchPinUP, INPUT_PULLUP);
    pinMode(greenSwitchPinUP, INPUT_PULLUP);
    pinMode(blueSwitchPinUP, INPUT_PULLUP);
    pinMode(redSwitchPinDOWN, INPUT_PULLUP);
    pinMode(greenSwitchPinDOWN, INPUT_PULLUP);
    pinMode(blueSwitchPinDOWN, INPUT_PULLUP);
    }
    void loop() {
    if (digitalRead(redSwitchPinUP) == LOW)
    {
    red ++;
    if (red > 255) red = 0;
    }
    if (digitalRead(greenSwitchPinUP) == LOW)
    {
    green ++;
    if (green > 255) green = 0;
    }
    if (digitalRead(blueSwitchPinUP) == LOW)
    {
    blue ++;
    if (blue > 255) blue = 0;
    }
    if (digitalRead(redSwitchPinDOWN) == LOW)
    {
    red –;
    if (red > 255) red = 0;
    }
    if (digitalRead(greenSwitchPinDOWN) == LOW)
    {
    green –;
    if (green > 255) green = 0;
    }
    if (digitalRead(blueSwitchPinDOWN) == LOW)
    {
    blue –;
    if (blue > 255) blue = 0;
    }
    analogWrite(redLEDPin, red);
    analogWrite(greenLEDPin, green);
    analogWrite(blueLEDPin, blue);
    delay(10);
    }

  33. Avatar

    مهمان

    سینا

    ببخشید استاد چطوری با pwm در اردوینو یه led rgb رو کنترل کنیم؟؟؟ با شیش تا button
    دستورات پایش رو میشه بگید.

  34. Avatar

    مهمان

    asad

    سلام استاد…
    آیا میشه ما برنامه ای رو که نوشتیم روی یک آی سی جدا پروگرام کرده و در جای دیگر استفاده کنیم؟
    البته با استفاده از زبان آردویینو…..
    منظورم آی سی به غیر از چیپ خود بورد هست ….؟

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      استاد خودتی laugh
      بله میشه چرا نشه آخه…..

  35. Avatar

    مهمان

    محمد

    من هم با نظر مهدی آقا موافقم متاسفانه دانشجو ها عادت کردن پروژه بخرن تا یاد بگیرن

  36. Avatar

    مهمان

    احسان

    سلام
    خدا خیرت بده.
    آرزوی موفقیت برات دارم.

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      yes

  37. Avatar

    مهمان

    saman

    توضیحات در مورد فرکانس عالی بود

  38. Avatar

    مهمان

    مهرداد

    اموزش خوبی بود

  39. Avatar

    مهمان

    سید محمد

    ولی خدایی پولش بی برکته !!!!!!!!!!!!!!!
    آه دانشجوی تنبل پشتشه.
    دیر میگیره ولی میگیره !!!!!!!!!!!!!!!! rofl

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      laugh
      من خودم پروژه انجام میدادم و خرج دانشگام رو از همنی طریق به دست میابردم
      ولی هر چی فکر کردم دیدم مشکل داره…زنگ زدم به دفتر مرجعم گفتش اگه خلاف قوانین هستش این کار مشکل شرعی داره
      به نظرم منم انجام پروژه مشکل قانونی داره
      چون دانشجو باید خودش بره سراغ این چیزا و یاد بگیره و انجام بده
      نه این که طرف هیچی بلد نیست پول میده و یکی براش درست میکنه….
      من دوست دارم کشورم پیشرفت کنه blum
      و به نظرم اگه پروژه انجام ندم و خود دانشجو مجبور بشه بره یاد بگیره و انجام بده…کمک کوچولویییی در پیشرفت کشورم کردم
      و به نظرم استاد هایی که پروژه پایان نامه چرت میدن به دانشجو به دانشجو بدبخت و کشور دارن خیانت میکنن…. bomb
      البته این نظر منه….

      • Avatar

        مهمان

        آیدین

        خیلی بی معنیه چرا! خوب معلومه اینکه شما یه پروژه رو انجام میدید و زحمت علم خودتونو میگیرید اشکال شرعی داره؟ مگه شما یا بنده و یا امثال ما ضامن استفاده کاربر هستیم؟ یکی شوکر میسازه پلس استفاده میکنه همون شوکر رو تبهکارم استفاده میکنه حالا تقصیر سازندست که استفاده غلط میشه؟

        • مهدی دمرچیلو

          نویسنده این مطلب

          مهدی دمرچیلو

          پروژه دانشجویی خلاف فانون هستش انجام دادنش – اون طوری هم که من سوال کردم و تو ذهن من هستش کار خلاف قانون کردن مشکل شرعی داره.
          در ضمن از این مورد هم بگذریم، من و امثال من اگه پروزه انجام بدیم به نظرم خیانته به کشور، جلوی پیشرفت کشور گرفته میشه – عامل اصلیش هم اون استادای خائن هستن که هر جیز چرندی رو به عنوان پروژه به دانشجو میدن و دانشجو هم چیییییییزززززززززز میاد به من و امثال من میده اون پروژه چرند رو…………یعنی دانشچو این قدر چیییییییییییززززززززز شده که چیز ساده رو هم نمیتونه – چون اصلا سمتش نرفته نمیدونه چیه اصلا – بگذریم حوصله حرف زدن رو ندارم بیش از این

  40. Avatar

    مهمان

    سید محمد

    انجام پروژه دانشجویی مشکل شرعی داره ؟؟؟ shock
    crazy
    یعنی من شکمم پر از لقمه شبهه آلوده ؟
    bad

    • Avatar

      مهمان

      محمد امین

      شاید