.:: نویز | آموزش AVR | میکروکنترلر | الکترونیک ::.

وبلاگ آموزشی احسان نوری ::: Ehsan Nouri's Weblog

.:: نویز | آموزش AVR | میکروکنترلر | الکترونیک ::.

وبلاگ آموزشی احسان نوری ::: Ehsan Nouri's Weblog

" نویز رسانه ای است برای آموزش آسان مفاهیم میکروکنترلر و الکترونیک "

دریافت مستندات
آخرین نظرات
  • ۱۵ آبان ۹۵، ۱۸:۵۸ - الهام
    ممنون

آشنایی با سون سگمنت [17]

يكشنبه, ۱۳ بهمن ۱۳۹۲، ۰۴:۴۵ ب.ظ

در این پست بیشتر با سِوِن سِگمِنت آشنا خواهیم شد.

 

پس با ما در ادامه مطلب همراه شوید ...

 

به نام خدا

 

سلام دوستان عزیز

با یه پست دیگه در خدمتتون خواهم بود و یکم دیگه از همراهیتون لذت خواهم برد ...

 

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

ماشاالله میبینید که مطالبم اینقدر گسترده است که اگه بخوام یه جایی رو توضیح ندم و یا کم توضیح بدم،دوستانی که شاید مبتدی تر باشند مطلب رو درست متوجه نمیشند و شاید همین مسئله هم در دیر به دیر آپدیت شدن وبلاگ نقش اساسی داره !!!

برای مثال میخواستم که سون سگمنت رو توضیح ندم،اما گفتم اونایی که تا حالا باهاش کار نکردند چیکار کنند ؟

بعد گفتم طوری نیست توضیح میدم،اما دیدم توضیح همین پست هم خودش چقدر زمانبره هم برای نوشتن من و هم برای خوندن شما ...

از طرفی به سرم زده از وبلاگ کوچ کنیم بریم روی سایت.اما بازم مشکلاتی سر راهمون وجود داره ...

 

خلاصه اینجوریه دیگه ...

بگذریم...


غیر ممکنه که تاحالا این قطعه نمایشگر رو از نزدیک ندیده باشید ؟!

 

نمونه بارزش شمارشگرهای چراغ های راهنمایی هست که سرچهارراه ها حتما دیدید !

سون سگمنت (Seven Segment Display) یا به اختصار SSD یکی از معمولترین،ارزانترین،پر کاربردترین و سهل الاستفاده ترین قطعه های نمایشگر در دنیاست.

اینکه چرا اسمش سون سگمنت هست هم دلیل داره ! (بیخودی که این اسمو نذاشتن !!!)

اگر دقت کنید در شکل بالا تعداد 7 (Seven) قطعه جدا از هم وجود داره + یه دونه نقطه که پایین سمت راست وجود داره و اونو به حسابش نمیارن و برای نمایش ممیز بکار میره !

کلمه سگمنت (Segment) هم که به معنای "دکمه" است.

 

در واقع 7 تا LED هستند که به شکل و شمایل خاص در کنار یکدیگر چیده شده اند و با مدیریت درست در روشن شدنشون،میشه عدد مورد نظرمون رو نمایش بدیم.

 

هرکدوم از سگمنتهای سون سگمنمت با یه حرف از a تا g شناخته میشوند که در شکل زیر میبینید :

 

 

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

پس در مجموع با 14 عدد پایه سروکار داریم.

 

دو نوع سون سگمنت داریم :

 

1.کاتد مشترک :

در این دسته از سون سگمنتها،کاتد تمامی LED های موجود در سون سگمنت به یکدیگر متصل شده است.

به این معنا که برای روشن شدن هرکدام از LED های a تا g کافی است که پایه مشترک (پایه کاتد مشترک) رو به صفر (زمین) وصل کنیم و برای روشن شدن هر سگمنت به پایه ی متناظر اون سگمنت یک (مثبت) بدیم.

 

2.آند مشترک :

در این دسته از سون سگمنتها،آند تمامی LED های موجود در سون سگمنت به یکدیگر متصل شده است.

به این معنا که برای روشن شدن هرکدام از LED های a تا g کافی است که پایه مشترک (پایه آند مشترک) رو به مثبت (یک منطقی) وصل کنیم و برای روشن شدن هر سگمنت به پایه ی متناظر اون سگمنت صفر (زمین) بدیم.

 

شکل زیر گویای داستان گفته شده است :

 

 

یه نکته ای رو حاشیه وار بگم :

برای اینکه جریان مورد نیاز هر LED را بتوان تامین کرد،معمولا داخل سون سگمنتها چندین ترانزیستور وجود دارد که وظیفه تامین جریان مورد نیاز برای روشن شدن LED ها رو بر عهده دارند.

جزئیات این مسئله برای ما مهم نیست چون قرار نیست که ما سون سگمنت بسازیم،بلکه میخوایم روش کارکردن باهاش رو یاد بگیریم !

 

مالتی پلکس (Multiplexing) چیست ؟

 

نمیدونم اولین بار این واژه رو کجا شنیدید !؟

شایدم اینجا اولین بار هست که میشنویدش !!!

اما بنظر میرسه که اولین بار در درس مدارهای منطقی با این واژه روبرو شدید ! یادتون میاد ؟؟؟ (عجب روزگاری بود،یادش بخیر ...)

 

مالتی پلکسر (تسهیم کننده) : مداری است که دارای چندین خط ورودی و تنها یک خط خروجی است و در هر لحظه تنها یک خط ورودی میتواند بر روی خط خروجی ظاهر شود.

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

 

بزارید اینجوری توضیحاتم رو شروع کنم :

ببینید ما گفتیم که در هر سون سگمنت 8 تا LED داریم (+ نقطه دات) و هر LED هم 2 پایه.

به عبارتی میکنه 8*2=16 ! و داریم 16 پایه !!!

 

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

مثلا برای مدل 4 تایی داریم : 4*16=64 پایه !

اینطور بنظر میرسه که اگه خواستیم یه سون سگمنت 4 تایی رو به میکرو وصل کنیم،باید تعداد 64 عدد از پایه های میکرو رو اشغال کنیم.

اما خودتون بگید،زیاد نیست ؟؟؟

اصلا میکرو ATmega32 کلا 40 پایه داره و یا ATmega8 کلا 28 پایه داره !!!

 

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

 

چاره چیه ؟!

معلومه : مالتی پلکس کردن !!!

 

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

در روش مالتس پلکس،تمامی سگمنت های مشابه به یکدیگر متصل هستند.مثلا تمامی a ها با یکدیگر در ارتباطند و یا تمامی b ها همینطور و ...

ضمن اینکه حالت کاتد مشترک و یا آند مشترک بودن اونها هم برقراره !

 

شکل زیر رو ببینید :

البته برای اونایی که یکم حرفه ای ترند بگم که تو این شکل برای ساخت سون سگمنت 4 تایی،از 4 تا سون سگمنت تکی استفاده شده که اومده و با هم مالتی پلکسشون کرده.ضمن اینکه آند مشترک هم هست !!!

اما در نمونه هایی که ما میخریم از بازار عمل مالتی پلکس داخلش انجام شده و فقط پایه های مورد نیاز از داخلش بیرون اومدند !

 

بر میگردم به مثال خودمون؛

فرض کنید میخوایم سگمنت a رو در سون سگمنت سوم روشن کنیم.(سوم از چپ به راست !)

گفتیم که a ها همه به هم متصل هستند،پس به پایه a مقدار یک منطقی رو میدیم و به پایه کاتد مشترک سون سگمنت سوم  صفر منطقی میدیم.

 

توضیح بیشتر : پشت سون سگمنت 4 تایی در مجموع 12 پایه بیرون اومده که 8 پایه مربوط به سگمنتهای a تا g + دات هستند و 4 پایه دیگر نیز مربوط به پایه کاتد مشترک هر سون سگمنت میباشد.

 

از مجموع مطالب گفته شده،اینطور باید تا حالا نتیجه گرفته باشید که در هر لحظه فقط میتوان LED های یک سون سگمنت را مدیریت کرد و اگر عدد مورد نظر ما دو رقمی شد و مجبور به استفاده همزمان از 2 سون سگمنت شدیم به مشکل برمیخوریم !

مثلا میتونیم عدد 2 رو نمایش بدیم اما نمیتونیم عدد 72 رو همزمان نمایش بدیم.


افتاد ؟!

 

cheekylaughcool

اگه تا الان به این نتیجه نرسیده بودید و یا هنوز هم متوجه نشدید،پیشنهاد میکنم ادامه مطلب رو نخونید !!!

 

حالا برای نمایش یه عدد چند رقمی چکار باید کرد ؟

مشکل ما تنها از اینجاست که نمیتونیم همزمان چند رقم رو با هم روشن کنیم. این که غصه نداره !!! همزمان روشنشون نمیکنیم !

 

مگه میشه ؟! چرا چرت میگی ؟!

نه عزیزم چرت نمیگم !

یه پدیده ای هست به نام "اثر فلیکر" که تعریفش رو هم آوردم براتون :

 

اثر فلیکر :

اثر نور در چشم انسان،برای مدتی کوتاه باقی می ماند.

 

میایم یه ترفندی رو بکار میبریم؛

 

فرض کنید میخوایم عدد 1234 رو روی سون سگمنت 4 تایی نمایش بدیم :
 

1.سون سگمنت اول رو روشن میکنیم.

2.روی سون سگمنت اول عدد 1 رو نمایش میدیم.

3.تاخیر

4.سون سگمنت اول رو خاموش میکنیم .

5.تاخیر

6.سون سگمنت دوم رو روشن میکنیم.

7.روی سون سگمنت دوم عدد 2 رو نمایش میدیم.

8.تاخیر

9. ...

 

بین نمایش این 4 عدد،4 بار از تاخیر استفاده میکنیم.منتهی اینقدر این تاخیرها کوتاهه که ما متوجه روشن و خاموش شدن سون سگمنت ها نمیشیم و احساس میکنیم که هر 4 تا باهم روشنند!

و این است تکنیک استفاده از سون سگمنت !

 

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

معمولا مقدار این تاخیر رو 20 میلی ثانیه در نظر میگیرند.

با توجه به فرکانس کاری میکروکنترلر و همچنین آزمون و خطا میتوان به بهترین نتیجه دست یافت.

 

 

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

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

 

نظر هم یادتون نره !!!

 

فعلا ...

۱۵ بهمن ۹۲ ، ۱۵:۰۷ عمار خامنه ای
مطلب خوبی بود...انشالله منتظر بعدیا هستیم
سلام
خیلی ممنون از اینکه اطلاعاتتون رو در اختیار همه قرار می دهید من که از برنامه نویسی می ترسم امیدوارم با خوندن مطالب خوب و رسا شما این ترسم بریزه.
بازم ممنون
پاسخ:
ممنونم
موفق باشید.
سلام آقای نوری ؛دستتون درد نکنه
کجایید؟چرا ادامه مطالبو نمی ذارید؛من که مشتاااااااااااااااااااااااق دیدن 18مین متنتون هستم.

با تشکر
پاسخ:
منتظر باشید.
با تشکر
ان شاالله
هم در این دنیا و هم در ان دنیا
خیر ببینی ننه!
دمت گرم
مطالبتون واقعا ساده و پر محتوا هستن
پاسخ:
سپاسگذارم !
سلام
من یه مدرس دانشگاهم ،اگه کل مطالبتون را یک جا بزارید
میشه ازش به عنوان جزوه درسی دانشجویی
استفاده کرد.
ممنون
پاسخ:
سلام
عذر میخوام،متوجه منظورتون نشدم !
مطالب بصورت پیوسته نوشته میشند و در وبلاگ قرار میگیرند.
کل مطلب نداریم ؟!

لطفا اگه میشه خودتون رو بیشتر معرفی کنید.مثل اینکه همشهری هم هستیم !!!

ممنون
۰۸ اسفند ۹۲ ، ۲۰:۰۰ محمدرضا خسروی

سلام علیکم

خسته نباشید

لازم دیدم به خاطر مطالب آموزشیتون استفاده بردم تشکر کنم .

خدا خیرت بده

ذکات العلم نشرها

پاسخ:
سپاسگذارم !
۲۲ فروردين ۹۳ ، ۱۴:۲۰ گروه متاهلین
سلام دوست عزیز.مطلبت کامل و عالی بود و بهم خیلی کمک کرد.میشه یه کمک دیگه هم بکنی؟میخوام مداری طراحی کنم که با پالس ساعت کار کنه و در هر 100 پالس ساعت یکبار خروجی 1 شود و دوباره در 100 پالس ساعت بعدی خروجی صفر بماند.نمیتونم طراحی کنم.میشه برام طراحی کنی اگه میتونی.اگه خواستی کمکم کنی به ایمیلم بفرست.ممنونمیشم.

بابا خیلی خیلی دمت گرم

good for you

fogholade bood az bas too net gashtam dashtam divoone mishodam

خییلی ممنونم


پاسخ:
خواهش ...
به قول یکی بچه ها ، مرسی داری...
۲۴ تیر ۹۳ ، ۱۹:۴۶ امید ساسانی
سلام


cheek  laugh cool:سرد گونه خنده
با تشکر از مطالب خوب و کامل تون
عالی بود . موفق باشید
سلام.خیلی عالی بود فقط این قسمت توی لیست قسمتا نبود.منظورم اینه که از 16 میپره به 18.این قسمتو تو قسمت 18که لینک شده بود تونستم بیارم.
با عرض سلام و خسته نباشید . مطلبی که گذاشتید جواب سوال خیلیارو داده. خود من هم از این روش استفاده میکنم. اما یه مشکل کوچیک دارم اونم اینه که کمی لززش توی نور سگمنتها مشاهده میشه. خواستم ببینم راهی وجود داره که این لرزه خیلی کم رو از بین ببرم ؟؟؟ ممنون
پاسخ:
سلام
مشکل لرزش نور در سون سگمنتهای مالتی پلکس شده،از میزان تاخیر زیاد ناشی میشه.
اگه پست های مربوط به برنامه نویسی سون سگمنت رو خونده باشین،اونجا گفتم که باید بین هر نمایش یه تاخیر چند میلی ثانیه ای قرار بدین.
حالا اگه این میزان تاخیر زیاد باشه،چشمک زدن رو شاهد هستیم.
سعی کنید با کم و زیاد کردن میزان تاخیر و البته روش آزمون و خطا،به شرایط نوری ایده آل برسید.

موفق باشید.

khyli ali bood

mamnoonam

با سلام
من یک برنامه کانتر برای یک سون سگمنت نوشم که با زدن هربار کلید یک عدد اضافه میشه تا 9 وبازدن کلید دیگه برعکس میشمره مشکل اینجاست که توی پروتئوس برنامه جواب میده ولی در عمل عدد ابتدا بجای عدد 0 عدد 8ظاهر میشه(هر 7 پایه ایسی ولتاژ دارند) و با زدن کلیدها هیچ تغییری در سون سگمنت ایجاد نمیشه 
پاسخ:
پروژه جواب داده نمیشود !
فقط می تونم بگم عالی بود
پاسخ:
مرسی
سلام
کنار اون عکس سگمنت 4تایی اشتباه تایپی وجود داره. microconroller
microcontroller

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

خعلی ممنونات فراوان


پاسخ:
خواهش
سلام همه چی تنظیم بود.
پاسخ:
بعله
داداش دمت خیلی گرررررررررم
حال کردم
مردی داداش
پاسخ:
ممنون
سلام ممنون از مطالب خوبتون
سوال من اینه که چرا تو عدد 9 و6 کامل نمیشن اگه ممکنه پاسخ بدین
پاسخ:
یعنی چه ؟
واقعا ممنون کارتون عالیه
پاسخ:
خواهش
خیلی ممنون، مفید بود
۲۹ مرداد ۹۴ ، ۰۰:۴۳ محمد مهدی حجازی
عالیییییی
ولی عجب ترفند جالبیه من نمیدونستم
وبلاگتون عالیههه
سلام خسته نباشید پست مفیدی بود
۱۹ آذر ۹۴ ، ۰۹:۰۳ محمدعلی دستغیب
سلام. خیلی خوب و مفهومی بود.

خیلی ممنون
ممنون از وقتی که گذاشتید.

سلام.ممنون از مطالب مفیدتون وخداقوت

میشه کد اسمبلی نمایش شماره دانشجویی با استفاده از سون سگمنت رو بزارین .

ممنون.

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

با سلام وخسته نباشید خدمت شما دوستان زحمتکش

ببخشید میشه بگید که کارپایه های  blank in وblank out چیه؟

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

باسلام‌آیامیتوان‌جز‌اعداد‌وحروف‌تعریف‌شده‌علاعم‌دیگری‌را‌هم‌با‌سون‌سگمنت‌تعریف‌ونمایش‌داد
مطالب را بسیار عالی توضیح دادید از زحمات شما بسیار ممنوم

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">