چهارشنبه, بهمن 17, 1403
ادامه منو
    خانهپروژه های میکروکنترلر AVRپروژه با سون سگمنت و LEDراه اندازی سون سگمنت 4 تایی با میکروکنترلر AVR

    راه اندازی سون سگمنت 4 تایی با میکروکنترلر AVR

    در این پست از سایت اِمیک, ما نحوه راه اندازی یک سون سگمنت 4 تایی (seven segment 4 digit) را با استفاده از میکروکنترلر AVR یاد خواهیم گرفت. قبلا پستی در مورد راه اندازی سون سگمنت قرار داده بودم که در ان پست با سون سگمنت های تکی و انواع ان اشنا شدیم که توصیه می کنم اگر با سون سگمنت ها اشنا نیستید, ابتدا ان پست را مطالعه کنید و در ادامه به سراغ این پست بیاید. برای مشاهده پست راه اندازی سون سگمنت تکی اینجا کلیک کنید.

    ابتدا بهتر است که با سون سگمنت 4 تایی (4 دیجیت) اشنا شویم. در زیر تصویری از این سون سگمنت که قصد راه اندازی ان را داریم, مشاهده می کنید:

    4digit-seven-segment-emic

    این سون سگمنت دارای 12 پایه می باشد که ترتیب پایه های ان بصورت زیر است:

    4digit-seven-segment-pinout-emic

    همانطور که می دانید یک سون سگمنت تکی از 7 عدد LED تشکیل شده که در تصویر بالا با حروف A تا G مشخص شده اند. گاهی اوقات یک LED هشتم نیز در سون سگمنت وجود دارد که به ان DP (نقطه) می گویند و زمانی که دو یا چند سون سگمنت کنار هم قرار می گیرند, کاربرد دارد.

    سون سگمنت 4 رقمی از چهار عدد سون سگمنت در کنار یکدیگر تشکیل شده است که طبق تصویر بالا پایه های مشترک هر کدام از سون سگمنت ها با D1,D2,D3,D4 مشخص شده است که بر اساس اینکه سون سگمنت ما از نوع اند مشترک است یا کاتد مشترک, باید این پایه ها را به مثبت تغذیه یا منفی تغذیه (GND) متصل کنیم. پایه های A تا G نیز مشخص شده اند که باز هم بر اساس اینکه سون سگمنت ما از چه نوعی هست, با دادن مقادیر مناسب به این پایه ها می توانیم ارقام مورد نظر خود را روی سون سگمنت نمایش دهیم. پایه نقطه یا DP نیز پایه 3 سون سگمنت می باشد.

    در سون سگمنت 4 تایی پایه های غیرمشترک سون سگمنت ها یعنی پایه های A,B,C,D,E,F,G,DP به هم متصل شده است یعنی به عنوان مثال پایه A هر چهار سون سگمنت به هم وصل شده است و یا پایه D هر چهار سون سگمنت به هم وصل است و در واقع پایه A که در تصویر بالا مشاهده می کنید مربوط به هر چهار سون سگمنت است. برای نمایش یک عدد, شما باید با استفاده از پایه های مشترک یعنی D1,D2,D3,D4 سون سگمنت مورد نظر خود را فعال کنید و با دادن مقادیر مناسب به پایه های A تا G اعداد مورد نظر خود را روی سون سگمنت نمایش دهید.

    به عنوان مثال در صورتی که سون سگمنت ما از نوع اند مشترک باشد برای نمایش عدد 4 روی سون سگمنت سوم, باید پایه D3 را به مثبت تغذیه (ولتاژ تغذیه سون سگمنت حدود 3.5 ولت است) و پایه های مشترک دیگر یعنی D1 و D2 و D4 را به GND متصل کنیم. در این حالت سون سگمنت سوم فعال شده و سه سون سگمنت دیگر غیرفعال هستند. طبق تصویر زیر پایه های B,C,F,G به GND و دیگر پایه ها (A,D,E,DP) نیز به مثبت تغذیه متصل می شوند. در این شرایط عدد 4 روی سون سگمنت سوم نمایش داده می شود.

    4digit-seven-segment-pinout-2-emic

    پروژه راه اندازی سون سگمنت 4 تایی با میکروکنترلر AVR :

    در این پروژه ما از یک سون سگمنت 4 تایی اند مشترک استفاده می کنیم. عملکرد این پروژه به این صورت است که ما اعداد 1 تا 4 را به ترتیب روی سون سگمنت های اول تا چهارم نمایش می دهیم. در انتهای مطلب می توانید کلیپ تست عملی پروژه را مشاهده کنید.

    AVR-prj-4digit-seven-segment-common-anode-emic

    همانطور که مشاهده می کنید در این پروژه ما از میکروکنترلر ATmega16 به همراه یک سون سگمنت 4 تایی اند مشترک استفاده کرده ایم. بجز میکروکنترلر و سون سگمنت از تعدادی مقاومت و ترانزیستور هم استفاده شده که در ادامه دلیل ان را می گویم.

    همانطور که در بالا گفته شد ولتاژ تغذیه سون سگمنت حدود 3.5 ولت است. بنابراین ما نباید بطور مستقیم سون سگمنت را به میکرو که دارای ولتاژ خروجی 5 ولت است متصل کنیم. به همین منظور پایه های A تا G (همچنین پایه DP) توسط مقاومتهای 330 اهم به میکرو متصل شده اند. از 4 عدد ترانزیستور هم برای راه اندازی سون سگمنت های 1 تا 4 استفاده شده است, از انجایی که جریان خروجی پایه های میکرو محدود است از ترانزیستور در حالت سوئیچینگ برای درایو کردن سون سگمنت ها استفاده شده است.

    ولتاژ تغذیه این پروژه هم 5 ولت هست, دقت کنید که محلی در شماتیک که با VCC مشخص شده را باید به مثبت تغذیه متصل کنید و پایه های تغذیه میکروکنترلر (پایه 10 و 11) را که در شماتیک بالا نیست, فراموش نکنید به تغذیه 5 ولت متصل کنید.

    P-AVR-prj-4digit-seven-segment-common-anode-emic

    برنامه کدویژن:

    در این پروژه فرکانس میکروکنترلر 1 مگاهرتز تنظیم شده است. در زیر برنامه نوشته شده به زبان C و کامپایلر کدویژن را مشاهده می کنید:

    توضیحات قسمت های مهم برنامه نوشته شده, اگر سوالی داشتید می تونید در قسمت نظرات مطرح کنید. فایل های کدویژن و شبیه سازی پروتئوس را هم می تونید از انتهای مطلب دانلود کنید.

    کلیپ تست عملی پروژه :

     

    دانلود فایل ها

    پسورد فایل زیپ : www.emic.ir

    نظر یادتون نره…

    عابد رازانی
    عابد رازانیhttps://emic.ir/
    فارغ التحصیل کارشناسی الکترونیک از دانشکده باهنر شیراز و علاقمند به برنامه نویسی و طراحی مدارات الکترونیکی, در حال حاضر به تولید محتوای آموزشی و طراحی و انجام پروژه مشغول هستم.

    12 نظرات

    1. سلام میشه اینو کمک کنین
      برنامه ای بنویسید که روی یک سون سگمنت چهار رقمی،ثانیه شمار و دقیقه شمار به صورت زیر نمایش داده شود
      45.55
      در مقدار بالا عدد ۴۵ نشان دهنده دقیقه و عدد ۵۵ نشان دهنده ثانیه است و بین این دو عدد یک نقطه اعشار قرار می گیرد.
      ابتدا زمان از 00.00 شروع شود و هر یک ثانیه به مقدار ثانیه شمار یکی اضافه شود و پس از ۵۹ ثانیه یک واحد به دقیقه شمار اضافه شود.

    2. سلام وقت بخیر اگر بخواهیم ورودی را از کاربر بگیریم چه کاری باید انجام بدیم ؟

    3. سلام
      ترانزیستورها اشتباه قرار نگرفتن؟ چونکه باید کلکتور به پایه سون سگمنت وصل باشه و امیتر به مثبت تغذیه؟

    4. سلام من وقتی تو یکی از سونسگمنتها ممیز رو فعال می کنم بهم می ریزه عدد ان سون سگمنت از دستور زیر استفاده می کنم 0x80 علاوه بر عدد خودش این چه شکلی انجام میشه ممنون توضیح بدید
      حسن

      • سلام, برای فعال کردن ممیز در سون سگمنت اند مشترک باید پایه DP را صفر کنید. در خط 7 برنامه می توانید ارایه ای که شامل معادل هگز اعداد 0 تا 9 است را تغییر دهید و پایه DP را صفر کنید تا نقطه یا ممیز نیز روشن شود.

    5. سلام
      من از سون سگمنت 15011BS استفاده میکنم هر برنامه که میدم خروحی یا 0 نشون میده یا 8
      مثلا در برنامه بالا همه رو 8 نشون میده
      مشکلش چیه؟

    ارسال دیدگاه

    لطفا نظر خود را وارد کنید!
    لطفا نام خود را اینجا وارد کنید

    spot_img