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

وبلاگ

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

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

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

به نام خدا

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

امروز میخواهیم 8 ال ای دی را توسط آردوینو و البته بدون نیاز به 8 پین در آردوینو ، کنترل کنیم .

breadboard

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

برای این کار از آی سی مبدل سریال به موازی 74HC595 استفاده میکنیم . این آی سی دارای 8 خروجی و 3 ورودی میباشد .

قطعات مورد نیاز :

هشت عدد ال ای دی 5 میلی متر

 

red_led_5mm

 

مقاومت 270 اهم ( قرمز – بنفش – قهوه ای )

R-270

 

آی شیفت رجیستر 74HC595

74HC595

 

بردبورد

breadboard_half

 

برد آردوینو UNO

uno_r3

 

تعدادی سیم

jumpers_web

 

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

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

circuit

 

پین شماره یک این آی سی پین بالا سمت چپ میباشد .(مطابق شکل بالا )

پین دیجیتال شماره 4 آردوینو به پین شماره 14 آی سی شیفت رجیستر وصل میشود .

پین دیجیتال شماره 5 آردوینو به پین شماره 12 آی سی شیفت رجیستر وصل میشود .

پین دیجیتال شماره 6 آردوینو به پین شماره 11 آی سی شیفت رجیستر وصل میشود .

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

قبل از این که سراغ کد های آردوینو برویم بریم سراغ عملکرد آی سی شیفت رجیستر 74HC595 .

 

shift_register

 

میشود گفت این شیفت رجیستر یک مکان حافظه 8 بیتی دارد که هر کدام ازین بیت ها میتوانند 1 یا 0 باشند . برای مشخص کردن ارزش هر یک از این ها باید از دو پین Clock و Data در این آی سی استفاده کرد .

پین کلاک به پالس های هشتایی احتیاج دارد . اگر مقدار پالس High باشد مقدار 1 شیفت رجیستر را هل میدهد! و در غیر این صورت عدد 0 . پس از این که پالس های هشتایی دریافت شدند پین Latch فعال میشود و مقدار 8 بیت شیفت رجیستر در رجیستر Latch کپی میشود . اگر این کار صورت نگیرد ال ای دی ها به ترتیب روشن و خاموش نمیشوند .

این آی سی یک پین OE دارد که برای فعال سازی یا غیر فعال سازی پین های خروجی استفاده میشوند . میتونیم این پایه رو به موج PWM وصل کنیم و توسط تابع analogWrite در آردوینو میزان شدت روشنایی ال ای دی ها را نیز کنترل کنیم . این پین موقعی خروجی ها را فعال میکند که صفر باشد یعنی به عنوان مثال برای فعال سازی خروجی ها میتوانیم این پین را به زمین مدارمان وصل کنیم .

کد های آردوینو :

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

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

[maxbutton id=”35″ url=”http://avatrobo.ir/wp-content/uploads/2015/11/shift-register.txt” text=”دانلود فایل” ]

 

در ابتدای این کد ما سه پین را تعریف کرده ایم که این پین ها ، خروجی های دیجیتال آردوینو هستند که به پین های Latch ، Clock و Data آی سی 74HC595 وصل میشوند .

    int latchPin = 5;
    int clockPin = 6;
    int dataPin = 4;

بعد از آن ، یک متغیر به نام leds تعریف کرده ایم . این متغیر ، الگوی روشن و خاموش شدن ال ای دی ها را نگه میدارد . این متغیر از نوع بایت است که نشان دهنده مقدار بیت های هشتایی است . هر یک از این بیت ها میتواند یک شود یا صفر پس میتوانیم با آن ال ای دی های خود را روشن و خاموش کنیم .

byte leds = 0;

تابع setup فقط نام پین هایی که ما به عنوان خروجی استفاده کرده ایم را مشخص میکند .

    void setup() 
    {
      pinMode(latchPin, OUTPUT);
      pinMode(dataPin, OUTPUT);  
      pinMode(clockPin, OUTPUT);
    }

این تابع loop ابتدا همه ال ای دی ها را روشن میکند . این کار با دادن مقدار صفر به متغیر leds انجام میشود . سپس updateShiftRegister فراخوانی میشود تا الگوی متغیر leds را به شیفت رجیستر بدهد بنابراین همه ال ای دی ها خاموش میشود . این حلقه برای نیم ثانیه میایستد و سپس از 0 تا 7 برای حلقه for میشمارد این شمارش با متغیر i انجام میشود . در هر بار اجرای حلقه for (که با هر بار اجرا یک واحد به i اضافه میشود ) تابع bitSet اجرا میشود .

    void loop() 
    {
      leds = 0;
      updateShiftRegister();
      delay(500);
      for (int i = 0; i < 8; i++)
      {
        bitSet(leds, i);
        updateShiftRegister();
        delay(500);
      }
    }

تابع updateShiftRegister در ابتدا پین latchPin را low (صفر ) میکند . سپس قبل از این که پین latchpin یک ( high ) شود تابع shiftOut فراخوانی میشود . این تابع از چهار پارامتر استفاده میکند که دو تای اول آن مربوط به پین های Data و Clock است . پارامتر سوم مربوط به موقعیت شروع ال ای دی ها است که ما همان طور که در خطوط زیر میبینید از بیت های LSB شروع کرده ایم . پارامتر چهارم هم همانطور که گفته شد متغیری از نوع بایت برای مقدار دهی به شیفت رجیستر است .

    void updateShiftRegister()
    {
       digitalWrite(latchPin, LOW);
       shiftOut(dataPin, clockPin, LSBFIRST, leds);
       digitalWrite(latchPin, HIGH);
    }

 

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

پست های مرتبط

اردیبهشت 9, 1398

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

mjavad
ادامه مطلب

اسفند 5, 1397

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

mjavad
ادامه مطلب

بهمن 10, 1397

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

mjavad
ادامه مطلب

بهمن 10, 1397

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

mjavad
ادامه مطلب

بهمن 2, 1397

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

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

2 دیدگاه

به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.

  • shahram گفت:
    خرداد 16, 1396 در 02:53

    سلام دمت گرم خیلی ممنون از مطالبتون

    پاسخ
    • Admin گفت:
      خرداد 17, 1396 در 18:47

      سلام.
      خیلی ممنون از انرژیتون… 🙂

      پاسخ

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

دسته های محصولات
آخرین دیدگاه‌ها
  • 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 با آردوینو و دو موتور براشلس

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

 

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

دسترسی سریع

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

کاوش

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

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

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

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