جستجو برای:
سبد خرید 0
  • خانه
  • فروشگاه
    • دوره های آموزشی
    • پروژه
    • بسته های آموزشی
      • رباتیک
      • آردوینو
  • هوافضا
    • آموزش هوافضا
      • فیلم های آموزش هوافضا
      • PDF های آموزش هوافضا
    • محصولات هوافضایی
    • نرم افزار های هوافضا
    • تازه های هوافضا
  • رباتیک
    • آموزش رباتیک
      • فیلم های آموزش رباتیک
        • PDF های آموزش رباتیک
    • دیتاشیت فارسی
    • نرم افزار های رباتیک
    • تازه های رباتیک
    • تاریخ مسابقات
  • پروژه
    • پروژه های رایگان
    • پروژه های آماده
    • پروژه های آردوینو
    • پروژه های رزبری پای
    • پروژه های بدون میکروکنترلر
    • پردازش تصویر
    • سفارش پروژه
  • دوره های آموزشی
    • کلاس های آموزشی
    • فیلم های آموزشی
    • جلسه های آموزشی
      • آموزش آردوینو
      • آموزش رسپبری پای
      • آموزش STM32
      • ربات پرنده
      • رباتیک مقدماتی
  • تماس با ما
  • درباره ما
  • مقالات
شروع ثبت نام دوره تابستانی آوات روبو
فرصت تکرار نشدنی ثبت نام در دوره های حضوری با 20% تخفیف!
ساعت
دقیقه
ثانیه
مشاهده دوره های آموزشی
رباتیک و هوافضا
ورود
با ایمیل با شماره موبایل
گذرواژه خود را فراموش کرده اید؟
عضویت
با ایمیل با شماره موبایل
  • 09152556924
  • sup@avatrobo.ir
رباتیک و هوافضا
  • خانه
  • فروشگاه
    • دوره های آموزشی
    • پروژه
    • بسته های آموزشی
      • رباتیک
      • آردوینو
  • هوافضا
    • آموزش هوافضا
      • فیلم های آموزش هوافضا
      • PDF های آموزش هوافضا
    • محصولات هوافضایی
    • نرم افزار های هوافضا
    • تازه های هوافضا
  • رباتیک
    • آموزش رباتیک
      • فیلم های آموزش رباتیک
        • PDF های آموزش رباتیک
    • دیتاشیت فارسی
    • نرم افزار های رباتیک
    • تازه های رباتیک
    • تاریخ مسابقات
  • پروژه
    • پروژه های رایگان
    • پروژه های آماده
    • پروژه های آردوینو
    • پروژه های رزبری پای
    • پروژه های بدون میکروکنترلر
    • پردازش تصویر
    • سفارش پروژه
  • دوره های آموزشی
    • کلاس های آموزشی
    • فیلم های آموزشی
    • جلسه های آموزشی
      • آموزش آردوینو
      • آموزش رسپبری پای
      • آموزش STM32
      • ربات پرنده
      • رباتیک مقدماتی
  • تماس با ما
  • درباره ما
  • مقالات
شروع کنید
آخرین اطلاعیه ها
لطفا برای نمایش اطلاعیه ها وارد شوید
0

وبلاگ

رباتیک و هوافضا > مقالات > پروژه > آموزش آردوینو > آموزش پروژه محور آردوینو – جلسه سوم

آموزش پروژه محور آردوینو – جلسه سوم

فروردین 14, 1396
ارسال شده توسط Admin
آردوینو ( Arduino )، آموزش آردوینو، پروژه، جلسه های آموزشی
جلسه های آموزش پروژه محور آردوینو

به نام خدا

آموزش پروژه محور آردوینو – جلسه سوم

در این جلسه میخواهیم یک ال ای دی RGB را توسط برد آردوینو راه اندازی کنیم . RGB مخفف سه کلمه RED ، GREEN و BLUE میباشد .

در این پروژه آردوینو از تابع analogWrite برای کنترل رنگ ال ای دی RGB استفاده خواهیم کرد .

 

arduino_project_3_on_breadboard

 

در واقع ال ای دی RGB از سه ال ای دی قرمز و سبز و آبی تشکیل شده است که ما میتوانیم با تغییر میزان شدت روشنایی هر یک از این سه رنگ توسط پین های PWM برد آردوینو به صورت جداگانه ، به رنگ های جالبی برسیم .

قطعات مورد نیاز برای پروژه :

 

rgb_10mm

 

R-270_web

 

breadboard 2

 

learn_arduino_uno_r3_web

 

learn_arduino_jumpers

 

توضیحات مدار :

ال ای دی RGB چهار پایه دارد . یک پایه مشترک است که به زمین وصل میشود و سه پایه دیگر که هر کدام مربوط به سه رنگ قرمز و سبز و آبی میباشد به ولتاژ مثبت وصل میشود .

 

led

 

پایه مشترک ال ای دی RGB پایه دوم از سمت تخت ال ای دی میباشد . این پایه بلندترین پایه بین 4 پایه این ال ای دی است . البته توسط تست دیود مولتی متر نیز میتوان آن را پیدا کرد . این پایه مشترک به زمین وصل میشود .

هر کدام از سه پایه دیگر را با یک مقاومت 270 اهم همان طور که در شکل زیر نشان داده شده به پین های آردوینو وصل میکنیم .

 

learn_arduino_ circuit

 

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

 

rgb_color

 

توضیحات برنامه :

برای دانلود کد های برنامه بر روی لینک زیر کلیک کنید .

[maxbutton id=”39″ url=”http://avatrobo.ir/wp-content/uploads/2015/11/Arduino-Lesson-3.zip” text=”دانلود فایل” ]

این برنامه با سه خط زیر شروع میشود که هر کدام از این خط ها یک پین آردوینو را به یکی از سه رنگ نسبت میدهد .

    int redPin = 11;
    int greenPin = 10;
    int bluePin = 9;

گام بعدی نوشتن تابع setup است . همانطور که در جلسه های قبل آموزش آردوینو گفتیم ، این تابع با روشن شدن برد آردوینو فقط یک بار اجرا میشود . همان طور که در زیر میبینید ما پین های 9 و 10 و 11 آردوینو را که به سه رنگ نام گذاری کرده بودیم به عنوان خروجی تعریف کرده ایم .

    void setup()
    {
      pinMode(redPin, OUTPUT);
      pinMode(greenPin, OUTPUT);
      pinMode(bluePin, OUTPUT);  
    }

قبل از این که تابع حلقه ( loop ) را بررسی کنیم اجازه دهید آخرین تابع برنامه را توضیح دهیم .

 

    void setColor(int red, int green, int blue)
    {
      analogWrite(redPin, red);
      analogWrite(greenPin, green);
      analogWrite(bluePin, blue);  
    }

این تابع دارای 3 آرگومان برای میزان روشنایی 3 رنگ قرمز و سبز و آبی است . هر کدام از این آرگومان ها میتوانند عددی بین 0 تا 255 داشته باشند که صفر به معنی خاموش و 255 به معنای حداکثر روشنایی میباشد . این عدد را توسط تابع analogWrite به ال ای دی ها میدهیم . این تابع در واقع یک موجع pwm است که با افزایش عدد آن پهنای پالس افزایش میابد .

همانطور که در خطوط برنامه زیر میبینید ما توسط تابع تابع loop میزان روشنایی سه رنگ را تغییر میدهیم . به عنوان مثال در خط اول این تابع که عدد 255 به قرمز نسبت داده شده و به دو رنگ دیگر 0 نسبت داده شده در عمل ما رنگ قرمز را خواهیم دید یا در خط هفتم به دو رنگ قرمز و سبز عدد 255 را نسبت داده ایم و به رنگ آبی عدد صفر را داده ایم که نتیجه آن در عمل رنگ زرد میباشد . شما میتوانید به جای این اعداد هر عددی بین 0 تا 255 بگذارید مثلا تابع را به صورت setcolor(190 , 46 , 21) قرار دهید و نتیجه را ببینید . همان طور که در خطوط زیر میبینید بعد از هر تغییر ، یک تاخیر 1000 میلی ثانیه ای ایجاد کرده ایم این کار به این منظور است که شما تغییر رنگ را واضح ببینید ، اگر این تاخیر نباشد آنقدر تغییر رنگ سریع صورت میگیرد که شما نمیتوانید رنگ ها را از هم تفکیک کنید . برای درک بهتر حرف من میتونید تاخیر ها را بردارید و برنامه را بر روی برد آپلود کنید .

    void loop()
    {
      setColor(255, 0, 0);  // red
      delay(1000);
      setColor(0, 255, 0);  // green
      delay(1000);
      setColor(0, 0, 255);  // blue
      delay(1000);
      setColor(255, 255, 0);// yellow
      delay(1000);  
      setColor(80, 0, 80);  // purple
      delay(1000);
      setColor(0, 255, 255);// aqua
      delay(1000);
    }

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

این رو مد نظر داشته باشید که میتونید به جای اعداد از 0 تا 255 از اعداد دسیمال استفاده کنید . به صورت زیر :

    setColor(0x4B, 0x0, 0x82);  // indigo

تئوری PWM :

مدولاسیون پهنای پالس یا همان PWM یک تکنیک برای کنترل توان میباشد . که ما پروژه امروز خود برای کنترل توان ال ای دی های قرمز و سبز و آبی استفاده کردیم و توانستیم روشنایی ال ای دی ها را کنترل کنیم .

توسط پین های PWM آردوینو میتوانیم این کار را انجام دهیم .

 

learn_arduino_pwm_works

 

در نمودار اول که پهنای پالس ما در کل دوره 5 درصد است و ولتاژ 5 ولت را قطع و وصل کرده ایم یعنی 5 درصد ولتاژ 5 ولت را در اختیار قرار داده ایم این یعنی 0.25 ولت .

در نمودار دوم که پهنای پالس ما در کل دوره 50 درصد است و ولتاژ 5 ولت را قطع و وصل کرده ایم یعنی 50 درصد ولتاژ 5 ولت را در اختیار قرار داده ایم این یعنی 2.50 ولت .

در نمودار سوم که پهنای پالس ما در کل دوره 90 درصد است و ولتاژ 5 ولت را قطع و وصل کرده ایم یعنی 90 درصد ولتاژ 5 ولت را در اختیار قرار داده ایم این یعنی 4.50 ولت .

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

 

برچسب ها: آردوینوآردینوآموزش آردوینوآموزش آردینوآوات روبوبرنامه نویسی آردوینوپروژه آردوینو
قبلی آموزش پروژه محور آردوینو – جلسه دوم
بعدی راه اندازی ماژول مخابراتی 315 با آردوینو

پست های مرتبط

اردیبهشت 9, 1398

برنامه نویسی به زبان پایتون برای رزبری پای

mjavad
ادامه مطلب

اسفند 5, 1397

تشخیص رنگ با استفاده از رزبری پای

mjavad
ادامه مطلب

بهمن 10, 1397

راه اندازی ال سی 2 در 16 با استفاده رزبری پای قسمت دوم

mjavad
ادامه مطلب

بهمن 10, 1397

راه اندازی ال سی 2 در 16 با استفاده رزبری پای قسمت اول

mjavad
ادامه مطلب

بهمن 2, 1397

ساخت اسپیدکنترلر موتور براشلس 3 ( با سنسور )

Author Avatar
Admin
ادامه مطلب

دیدگاهتان را بنویسید لغو پاسخ

دسته های محصولات
آخرین دیدگاه‌ها
  • Admin در پروژه ی ساخت یک ریموت کنترل 2.4 گیگا هرتز برای 10 کانال
  • Admin در درباره ما
  • Admin در پروژه ی ساخت یک ریموت کنترل 2.4 گیگا هرتز برای 10 کانال
  • Admin در رادیوکنترل 4 کاناله با قابلیت افزایش تا 10 کانال
  • امیر در رادیوکنترل 4 کاناله با قابلیت افزایش تا 10 کانال
ژوئن 2026
ش ی د س چ پ ج
 12345
6789101112
13141516171819
20212223242526
27282930  
« آوریل    
فهرست 1
  • عضویت
  • ویرایش حساب کاربری
  • ورود
  • خانه
فهرست 2
  • حمایت مالی
  • تبلیغات
  • فروشنده
  • داشبورد فروشندگان
  • سفارش پروژه
  • تماس با ما
  • درباره ما
فهرست 3
  • ویرایش حساب کاربری
  • فراموشی رمز عبور
  • ثبت نام
  • ویرایش حساب کاربری
محل کد نماد...
جستجو برای:
محصولات
  • دوره کوادکوپتر سرعتی FPV دوره آموزش ساخت کوادکوپتر مسابقاتی FPV
    نمره 4.00 از 5

    4,830,000 
  • دوره هواپیما مقدماتی تا پیشرفته دوره آموزش ساخت پهپاد بال ثابت ( هواپیما ) - مقدماتی تا پیشرفته
    10,480,000 
  • دوره کوادکوپتر مقدماتی دوره آموزش مقدماتی ساخت مولتی کوپتر (کوادکوپتر، هگزاکوپتر و ...)
    2,490,000 
  • دوره کوادکوپتر فیلم بردار دوره آموزش ساخت پهپاد فیلم بردار ( مولتی کوپتر )
    8,970,000 
  • دوره هواپیمای مدل موتور کشی دوره آموزش ساخت هواپیمای موتور کشی
    2,030,000 
نوشته‌های تازه
  • برنامه نویسی به زبان پایتون برای رزبری پای
  • تشخیص رنگ با استفاده از رزبری پای
  • راه اندازی ال سی 2 در 16 با استفاده رزبری پای قسمت دوم
  • راه اندازی ال سی 2 در 16 با استفاده رزبری پای قسمت اول
  • کنترل PID با آردوینو و دو موتور براشلس

درباره آوات روبو

 

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

دسترسی سریع

  • دوره های آموزشی
  • کیت
  • کلاس های حضوری
  • پروژه

کاوش

  • درباره ما
  • تماس با ما
  • مقالات

شبکه های اجتماعی

  • اینیستاگرام
  • یوتیوب
  • تلگرام

استفاده از مطالب سایت برای مقاصد غیر تجاری و با ذکر منبع بلامانع است. تمامی حقوق برای آوات روبو محفوظ است.