آردوینو آموزش آردوینو پروژه های آردوینو

آموزش راه اندازی سون سگمنت آردوینو

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

آموزش راه اندازی سون سگمنت آردوینو

سون سگمنت‌ها (Seven Segment ) یکی از پرکاربردترین ، ارزان‌ترین و پرمصرف‌ترین نمایشگر‌‌ها در دنیاست.از سون سگمنت‌ها برای نشان دادن اعداد در ساعت‌های دیجیتالی، چراغ راهنما، ماشین حساب، ترازوی دیجیتالی و …استفاده می‌شود. در ادامه آموزش با مرجع تخصصی آردوینو ، دیجی اسپارک همراه باشید.

هر سون سگمنت در حقیقت از چند LED در کنار هم به شکل زیر تشکیل شده است.

آموزش راه اندازی سون سگمنت با آردوینو
آموزش راه اندازی سون سگمنت با آردوینو

 

 

سگمنت‌های یک نمایشگر سون سگمنت به صورت زیر ار حروف A تا G به صورت ساعت‌گرد  نام‌گذاری می‌شوند.

آموزش راه اندازی سون سگمنت با آردوینو
آموزش راه اندازی سون سگمنت با آردوینو

 

 

انواع سون سگمنت:

  • کاتد مشترک

در این نوع سون سگمنت‌ها کاتدهای تمام LED ‌های موجود در سون سگمنت به یکدیگر متصل می‌باشند.به این معنی که برای روشن کردن هر کدام از سگمنت‌های سون سگمنت کافی‌است پایه‌ی متناظر آن را یک منطقی کنیم و پین مشترک سون سگمنت را به GND ( صفر منطقی ) متصل کنیم. برای مثال برای نشان دادن عدد ۱ بر روی این‌گونه سون‌سگمنت‌ها کافی است پین سگمنت متناظر B و C را یک منطقی کنیم و پین مشترک سون‌سگمنت را به زمین متصل کنیم.

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

 

 

 

 

  • آند مشترک

در این نوع سون‌سگمنت‌ها تمام LEDهای موجود در سون سگمنت به یک‌دیگرمتصل می‌باشند.به این معنی که برای روشن کردن هر کدام از سگمنت‌های سون‌سگمنت کافی است پایه‌ی متناظر آن را صفر منطقی کنیم و پین مشترک سون سگمنت را به VCC ( یک منطقی) متصل کنیم. برای مثال برای نشان دادن عدد ۱ بر روی این‌گونه سون سگمنت‌ها کافی است پین سگمنت متناظر B , C را صفر منطقی کنیم و پین مشترک سون سگمنت را به VCC متصل کنیم

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

 

 

 

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

آموزش راه اندازی سون سگمنت با آردوینو
آموزش راه اندازی سون سگمنت با آردوینو

 

 

Decimal
Digit
Individual Segments Illuminated
a b c d e f g
۰ × × × × × ×
۱ × ×
۲ × × × × ×
۳ × × × × ×
۴ × × × ×
۵ × × × × ×
۶ × × × × × ×
۷ × × ×
۸ × × × × × × ×
۹ × × × × ×

 

 

نمایش اعداد بر روی سون سگمنت چهارتایی

 

همانطور که مطالب فوق ذکر شد هر سون سگمنت از LED هایی متصل به هم تشکیل شده است.در سون سگمنت‌های تکی مانند شکل زیر از ۸ عدد LED استفاده شده است بری راه اندازی آن به ۸ پین از آردویتو نیاز داریم.

آموزش راه اندازی سون سگمنت با آردوینو
آموزش راه اندازی سون سگمنت با آردوینو

 

اکنون فرض کنید نیاز به راه‌اندازی یک عدد سون سگمنت چهارتایی داریم ، اگر بخواهیم مطابق روش فوق پیش برویم باید از ۳۲ پین آردوینو(۸*۴=۳۲) استفاده کنیم که این عمل کاملا غیر عاقلانه می‌باشد پس باید از روشی به نام مالتی پلکسینگ به همراه خطای دید انسان استفاده نمود. در این روش تمام سگمنت‌های مشابه به هم دیگر متصل می‌باشند یعنی تمام a ها به یکدیگر ، تمام bها به یکدیگر و….. به هم دیگر متصل می‌باشند و پین مشترکه هر کدام  نیز به هم دیگر متصل هستتند.

 

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

 

 

البته در ماژول‌های سون سگمنت ( همانند تصویر زیر)  نیازی به اتصال سگمنت‌های مشابه به یکدیگر به صورت دستی نمی‌باشد و تمام سگمنت‌های مشابه در داخل ماژول به یکدیگر متصل هستند.

آموزش راه اندازی سون سگمنت با آردوینو
ماژول سگمنت ۴ تایی

 

 

 

سخت افزار مورد نیاز

سون سگمنت ۴تایی

آردوینو Uno

 

 

 

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

آموزش راه اندازی سون سگمنت با آردوینو
آرایش پین‌ها

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

دانلود کتابخانه سون سگمنت

 

در ابتدا کتابخانه سون سگمنت را باید طبق دستور زیر به برنامه فراخوانی کنیم:

سپس باید از کلاس SevSeg یک آبجکت بسازیم:

 

سپس نوبت به تعریف تعداد بلاک‌ها ، پین‌های مشترک و پین‌های سگمنت‌ها می‌باشد:

 

 

معرفی چند تابع

sevseg.begin (Type, NumberOFBlock, CommenPin, segmentPins)

توسط این تابع کانفیگ سون سگمنت انجام می‌شود. آرگمان اول نوع سون سگمنت را مشخص می‌کند ، اگر آند مشترک باشد به جای آرگمان Type از COMMON_ANODE ، اگر کاتد مشترک باشد از  COMMON_CATHODE  استفاده می‌شود ، هچنین می‌تواند دارای مقادیر زیر باشد:

N_TRANSISTORS ، P_TRANSISTORS ، NP_COMMMON_CATHODE و NP_COMMMON_ANODE

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

 

 

 

sevseg.setNumber (your number, DP location)

توسط این تابع می‌توان عدد دلخواه خود را برای نمایش بر روی سون سگمنت مشخص کنیم.آرگمان اول ، عدد مورد نظر ما می‌باشد و آرگمان دوم تعداد رقم اعشاری است که به عددمان نسبت می‌دهیم .برای مثال برای نمایش عدد ۱۵٫۷۵ باید مطابق قطعه کد زیر عمل کنیم:

همچنین اگر بخواهیم  عددی را بدون ممیز نمایش دهیم باید به جای آرگمان دوم عدد ۰ نوشته شود.

 

sevseg.refreshDisplay ()

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

 

 

در قسمت زیر با استفاده از توابع فوق ، یک عدد را به صورت اعشاری بر روی سون سگمنت نمایش می‌دهیم به طوری که با فشردن کلید متصل به پینA0 ، به عدد ۰٫۱ اشافه می‌شود و در صورت فشرده شدن کلید متصل به پین A1 ، از عدد ۰٫۱ کم می‌شود.

 

اتصالات:
آموزش راه اندازی سون سگمنت با آردوینو
آرایش پین‌ها

 

 

 

 

 

b

آموزش سون‌سگمنت آردوینو
شماتیک مدار

 

در این پروژه از عملیات دیبانسینگ کلید استفاده شده است که برای اطلاعات بیشتر می‌توانید به لینک زیر مراجعه نمایید:

آموزش دیبانسینگ در آردوینو

کدهای پروژه :

 

 

 

۳۳۳

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

علیرضا قربانی

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

تبادل نظر و رفع عیب با ثبت دیدگاه

۱۲ دیدگاه

  • با سلام خدمت شما و خسته نباشید خدمتتون شما که اینقدر کارتون خوبه و زحمت میکشید این مطالب رو تهیه میکنید حیف نیست تو نوشتن و قرار دادن عکسهای مطالب دقت کنید و متناسب باقالبتون نوشته ها رو تنظیم کنید. قالب خیلی بهم ریخته هست و اگه بتونید درستش کنید عالی میشه من اول فکر کنم مشکل از لپ تاپه و با دو سیستم دیگه هم تست گرفتم بازم مشکل داره یا عکسا خیلی بزگن یا متن از صفحه میزنه بیرون مثلا عکس اول این مطلب هم بزرگه هم ۱۱۶ کیلو بایت هست.قصدم فقط نقد سازنده هست و این کار ها هیچ ارزش از کار و وقتتی که برای ما میزارید کم نمیکنه. من خودم هم سایت دارم می دونم چقدر تهیه مطلب سخته باید روش وقت گذاشت اگه نظر رو منتشر نکردید مهم نیست مهم برام این هست که بخونید نظر منو. با آرزوی موفقیت در تمام مراحل زندگیتون. و پیشا پیش سال نو شما مبارک باشه.

  • بابــــــــــــــــــــــــــــــــــــــــــــــا …
    سایتتون خیلی توپه مـــــــــــــــــــــــــــــــــــــــــــــرد …

  • سلام. فک کنم که تنضیمات سایتتون به هم خورده.
    ابعادش قاطی شده و متن از اواسط خط نمایش داده میشه. لطفا درستشون کنید
    با تشکر فراوان

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