لطفا وارد شوید یا ثبت‌نام کنید تا به انجمن‌ها دسترسی کامل داشته باشید.



 
امتياز موضوع :
  • 0 رأي - معدل امتيازات : 0
  • 1
  • 2
  • 3
  • 4
  • 5
LCDPROC
2006-07-24, 02:57 AM,
ارسال : #1
LCDPROC
با سلام
اینهم یک پ‍روژه دیگر الکترونیک در لینوکس

منتهااینباراز سخت افزارهای مرغوب و گرانقیمت حرف نمی زنم
ماژولهای LCD در بازار الکترونیک بوفور و با قیمت ارزان یافت میشوند
این ماژولها بطور کلی به دو دسته تقسیم میشوند:

1.انواعی که برای نمایشtext ساخته شده اند(ارزان قیمت)
این ماژولها بر اساس تعداد خطوط و تعداد کاراکترهایی که در هر خط میتوانند نمایش دهند از هم متمایز میشوند
مثلا یک ماژول16x2 میتواند 2خط کاراکترو در هر خط16کاراکتر را نمایش دهد هر چقدر تعداد خطوط و کاراکترها افزایش پیدا کندLCD بزرگتر شده و قیمت ان هم بیشتر میشود

انواع کاراکتری با رنگهای مختلف(هم رنگ کاراکترهاو هم نور پس زمینه) در بازار بفروش میرسند
مرسومترین انها کاراکترهای سیاه با نور پس زمینه سبز میباشند

انتخاب انها بسته به سلیقه و محل استفاده ان میباشد
اگر محل استفاده ان محلی روشن و پر نور باشد از همان نوع مرسوم ان(کاراکترهای سیاه با نور سبز) استفاده کنید
ولی اگر قصد دارید در محیطی کم نور از ان استفاده کنید کاراکترهای سفید با نور پس زمینه ابی بهتر بنظر میرسد

2.انواعی که برای نمایش حالتهای گرافیکی هستند و از تعداد زیادی پیکسلهای مربع شکل کنار هم تشکیل شده اند(درست مثل مانیتورهای LCD)و بر اساس تعداد پیکسلها از هم متمایز میشوندمثلا128x64
این ماژولها در انواع تک رنگ و رنگی وجود دارند

ما در این مقاله از LCDهای کاراکتری استفاده میکنیم
نمونه ای که من ازمایش کردم ازنوع20x4با مارک techstarبود که شما میتوانید انرا از فروشگاههای الکترونیک خ جمهوری بعد از پل حافظ با قیمت حدود6 هزار تومان خریداری کنید

وقتی انرا با دقت بررسی کنید متوجه میشوید که از 16 سیم برای اتصال استفاده میکند این اتصالات از شماره 1 تا 16 مشخص میشوند
[ltr]
  1. Vss زمين
  2. Vcc ولتاژ 5 ولت براي کنترلر
  3. Vee ولتاژ تنظيم درخشندگي(contrast)
  4. RS انتخابگر ثبات دستور / داده
  5. RW انتخابگر خواندن / نوشتن
  6. Enable فعال کننده
  7. DB0 خط گذرگاه داده
  8. DB1 خط گذرگاه داده
  9. DB2 خط گذرگاه داده
  10. DB3 خط گذرگاه داده
  11. DB4 خط گذرگاه داده
  12. DB5 خط گذرگاه داده
  13. DB6 خط گذرگاه داده
  14. DB7 خط گذرگاه داده
  15. BLA قطب مثبت برای نور پس زمینه
  16. BLK قطب منفی برای نور پس زمینه
[/ltr]
پایه3براي تنظيم درخشندگي کاراکترها بکار مي رود که بايد ولتاژي بين صفر و 5 ولت به اين پايه اعمال نمود.
براي بيشترين درخشندگي اين پايه را به زمين متصل کنيد.

برای داشتن کنتراست متغیر میتوانید از یک پتانسیومتر10کیلو اهمی استفاده کنید(سروسط ان به پین3 و دو پایه کناری ان به خطوط تغذیه)

پینهای 15و16 برای روشن کردن پشت صفحه کاربرد دارند اگر دوست دارید در محیطی کم نور از ان استفاده کنید باید انها را به ترتیب به+وـیک ولتاژ5ولت تثبیت شده ارتباط دهید
البته در این حالت نور پ‍شت صفحه خیلی زیاد میشود بنا به سلیقه میتوانیدبرای کاهش نور از یک مقاومت100 اهمی استفاده
کنید

روش اتصال به کامپیوتر

ابتدا برای ان یک منبع تغذیه مناسب بسازید

[عکس : lcdpwrs.png]

برای اتصال این ماژول به کامپیوتر چندین روش اتصال وجود دارد
یک نوع ان روش 4 بیتی است مزیت این روش تعداد سیمهای ارتباطی کمتر و عیب ان سرعت پ‍ایین ان است

[عکس : 4bits.png]

دوم روش8بیتی که خود شامل چندین روش فرعی است که یک نوع ان موسوم بهwinamp به این صورت است

[عکس : winamps.png]

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


معرفی برنامهLCDPROC

این برنامه شامل دوقسمت میباشد
قسمتclientکه وظیفه ان دریافت اطلاعات و ارسال ان بهserver
قسمتserverکه وظیفه اصلی ان راه اندازی سخت افزاریا همانLCDو ارسال اطلاعات دریافت شده ازclientبهLCD
جالب است بدانید دو قسمتserver وclient را میتوانید روی دو کامپیوتر که از طریق شبکه به هم ارتباط دارند
نصب کنید
شما میتوانید برای ان یک صفحه کلید سفارشی ساخته و منوهای انرا کنترل کنید

[عکس : keypad1.gif]

طریقه نصب

ابتدا اخرین نسخه برنامهLCDPROC (ورژن0.5.1) راازاینجا بگیرید

پس ازextract بسته به این صورت کامپایل میکنیم

[ltr]
کد :
./configure --prefix=/usr/local --enable-drivers=all

or

./configure --prefix=/usr/local --enable-drivers=hd44780
[/ltr]

توضیح اینکهhd44780شماره چیپی است که در ساختارLCDبکار رفته(هر چند در ظاهرLCD هیچ شماره ای مشخص نیست!!!)

[ltr]
کد :
make
make install
cd scripts
chmod 744 init-LCDd.debian
chmod 744 init-lcdproc.debian
cp init-LCDd.debian /etc/init.d/LCDd
cp init-lcdproc.debian /rtc/init.d/lcdproc
[/ltr]

اگر از توزیعهای مبتنی برrpm استفاده میکنید بجایinit-LCDd.debianوinit-lcdproc.debian ازinit-LCDd.rpm
وinit-lcdproc.rpm استفاده کنید

اگر دوست دارید برنامهlcdproc server هنگام بوت شدن کامپیوتر بصورت خودکار اجرا شود عملیات زیر را
هم انجام دهید


[ltr]
کد :
cd /etc/rc2.d
ln -s /etc/init.d/LCDd S99LCDd
[/ltr]

حالا موقعconfig برنامه است که شامل سرور و کلاینتها میباشد

فایلهای پیکر بندی در قسمتusr/local/etc/نصب شده اند

الف-config برای سرور
فایل پیکر بندی سرورLCDd.conf نام دارد
مهمترین خطوطی که باید ویرایش شوند از قرار زیر هستند
خط44 که باید نام درایور را وارد کنید
[ltr]Driver=hd44780[/ltr]
خط79 مسیر درایورها است که باید به این صورت ویرایش شوند
[ltr]DriverPath=/usr/local/lib/lcdproc/[/ltr]
خط389 که باید نوع اتصال را مشخص کنید
[ltr]ConnectionType=winamp[/ltr]
خط392 که ادرس پورت پارالل است
[ltr]Port=0x378[/ltr]
خط 395 را به کمک# کامنت کنید چونdeviceشما به پورتcom متصل نیست
[ltr]#Device=/dev/ttyS0[/ltr]
در خط420 هم اندازهlcdرا تعیین کنید
[ltr]Size=20x4[/ltr]

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

ب-config برای کلاینتها
که عبارتند ازlcdexec.confوlcdproc.confوlcdvc.conf
مهمترین انهاlcdproc.conf میباشد
شیوه ویرایش این فایل بسیار ساده بوده و با مطالعه ان متوجه شیوه ویرایش ان خواهید شد
در این قسمت مواردی که در هنگام اجرایlcdproc در صفحه نمایش داده میشوند در داخل[]قرار دارند
کافی است برای فعال شدن انها در قسمتactiveعبارتtrue و برای غیر فعال کردن عبارتfalse را تایپ کنید
بعضی از ایتمها موارد دیگری هم برای ویرایش وجود دارد که با مطالعه کامنت ان متوجه طرز ویرایش ان
خواهید شد

طرز راه اندازی
برای استفاده ازLCD باید کرنل شما از پورتparalelساپورت داشته باشد یعنی ماجولهایparport,parport_pcدرکرنل
حضور داشته باشند

ابتدا سرور را راه اندازی میکنیم
[ltr]
کد :
#/etc/init.d/LCDd start
[/ltr]

راه اندازی client
[ltr]
کد :
#/etc/init.d/lcdproc start
[/ltr]

در این حالت client به فایل سیستمprocگوش کرده و اطلاعاتی نظیر میزان مصرفCPUومیزانswapوغیره را نشان میدهد که میتوانید تصاویری از انرا در اینجا مشاهده کنید

جهت مطالعه مستندات این برنامه به اینجا مراجعه کنید
غیر ازlcdproc چندین client دیگر هم نوشته شده
جهت اشنایی با انواع کلاینتها اینجا را ببینید
مثلا یک نوع ان برایVDRنوشته شده که در ان دارندگان کارتهایDVBمیتوانند
هنگام مشاهده کانالهاي تلویزیوني شماره و نام کانالEPGومنوو چندین مورد دیگر رادرLCD مشاهده کنند

[عکس : lcd1.jpg]

البته پلاگینهایی که برایVDR جهت راه اندازیLCD نوشته شده اند محدود به همین یک مورد نمی شوند جهت اشنایی با دستپخت
عاشقانVDR بهتر است نگاهی به اینجا هم بیندازید


این هم یک نکته جالب برای دوستانی که ماجولLCD ندارند ولی دوست دارند برنامه را ازمایش کنند:
فایل پیکر بندی سرور یعنیLCDd.conf را در قسمتusr/local/etc/ بیابید
در خط 44 نام درایور راcurses قرار دهید
متوجه میشوید هنگام اجرای برنامه از طریق ترمینال قسمتی از ترمینال به ماجول فرضی شما اختصاص پیدا میکند
برای تنظیمات بیشتر به خطوط215 تا235 توجه کنید!!!

پایان

توضیح و پوزش:
این مقاله ویرایش شده است
مثلا نقشه اتصال ماجول به کامپیوتر ابتدا بصورت متنی توضیح داده شده بود ولی جهت درک بهتر و جلوگیری
از سردرگمی علاقمندان از تصویر استفاده شده است
کسانی که برای اولین بار مقاله را مطالعه میکنند ممکن است برایشان سوالات تعدادی از دوستان در ادامه
این مقاله بیمورد بنظر برسد که علت ان ویرایش مجدد مقاله میباشد
همینجا از این دوستان صمیمانه پ‍وزش میطلبم
ازاده پیروز و سربلند باشید
جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ


پيام هاي اين موضوع
LCDPROC - توسط huxus - 2006-07-24, 02:57 AM
[بدون عنوان] - توسط kiat - 2006-07-24, 05:06 AM,
[بدون عنوان] - توسط huxus - 2006-07-24, 08:40 PM,
[بدون عنوان] - توسط مهمان - 2006-07-24, 11:21 PM,
[بدون عنوان] - توسط مهمان - 2006-07-24, 11:25 PM,
[بدون عنوان] - توسط huxus - 2006-07-24, 11:41 PM,
[بدون عنوان] - توسط مهمان - 2006-07-24, 11:52 PM,
[بدون عنوان] - توسط huxus - 2006-07-25, 12:17 AM,
[بدون عنوان] - توسط carp3 - 2006-07-25, 12:25 AM,
[بدون عنوان] - توسط huxus - 2006-07-25, 01:03 AM,
[بدون عنوان] - توسط carp3 - 2006-07-25, 01:44 AM,
[بدون عنوان] - توسط مهمان - 2006-07-25, 02:23 AM,
[بدون عنوان] - توسط مهمان - 2006-07-25, 02:33 PM,
[بدون عنوان] - توسط huxus - 2006-07-25, 10:10 PM,
[بدون عنوان] - توسط huxus - 2006-07-26, 01:16 AM,
[بدون عنوان] - توسط huxus - 2006-07-28, 01:17 AM,
[بدون عنوان] - توسط مهمان - 2006-07-31, 08:29 PM,
[بدون عنوان] - توسط huxus - 2006-08-01, 12:03 AM,
[بدون عنوان] - توسط مهمان - 2006-08-04, 12:57 AM,
[بدون عنوان] - توسط huxus - 2006-08-07, 09:37 PM,
[بدون عنوان] - توسط huxus - 2006-08-07, 09:41 PM,
[بدون عنوان] - توسط مهمان - 2006-08-08, 01:05 AM,
[بدون عنوان] - توسط huxus - 2006-08-08, 10:16 AM,
[بدون عنوان] - توسط مهمان - 2006-09-25, 10:22 PM,
[بدون عنوان] - توسط huxus - 2006-10-02, 07:47 PM,
[بدون عنوان] - توسط مهمان - 2006-10-21, 09:43 PM,

رفتن به انجمن :


کاربران در حال مشاهده موضوع : 1 مهمان