انجمن کاربران لینوکس ایران - تکنوتاکس سابق

نسخه ي کامل: LCDPROC
شما در حال مشاهده نسخه ي متني اين صفحه هستيد. مشاهده نسخه کامل تر با قالب بندي صحيح
صفحات : 1 2
با سلام
اینهم یک پ‍روژه دیگر الکترونیک در لینوکس

منتهااینباراز سخت افزارهای مرغوب و گرانقیمت حرف نمی زنم
ماژولهای 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 توجه کنید!!!

پایان

توضیح و پوزش:
این مقاله ویرایش شده است
مثلا نقشه اتصال ماجول به کامپیوتر ابتدا بصورت متنی توضیح داده شده بود ولی جهت درک بهتر و جلوگیری
از سردرگمی علاقمندان از تصویر استفاده شده است
کسانی که برای اولین بار مقاله را مطالعه میکنند ممکن است برایشان سوالات تعدادی از دوستان در ادامه
این مقاله بیمورد بنظر برسد که علت ان ویرایش مجدد مقاله میباشد
همینجا از این دوستان صمیمانه پ‍وزش میطلبم
ازاده پیروز و سربلند باشید
سلام
خیلی ممنون بابت این مقاله جالب! بسیار جالب بود ! ولی باید تا آخرش را می خواندم تا می فهمیدم که هدف از پروژه الکترونیک شما چی است؟
برای اطاق های سرور و در کنار سرور ها جالب می شه اگر یک چنین مانیتور های کوچکی نصب بشوند.
ببخشید من نفهمیدم که در طرف کامپیوتر این مانیتور ها را به کجا وصل می کنید؟
برای انجام این کار چه وسایلی لازم است؟
با سلام
در پاسخ به سوالkiat عزیز
1.این پروژه الکترونیک من نیست من فقط انرا معرفی کردم
2.هدف از این پروژه بستگي به این دارد که شما از چهclientاستفاده کنیدمثلاlcdproc به نوعی سیستم مانیتور است ممکن است شما در یک سرور به دلایل امنیتی نخواهید از مانیتور استفاده کنید در اینجا ارزش این قطعه کوچک مشخص میشود
3.ماژول LCD به پورت پارالل کامپیوتر وصل میشود
4.وسایل لازم عبارتند از
-یک ماژولLCD حداقل با اندازه4x20
-یک کابل 10 رشته جهت اتصال LCD به پورت پارالل
-پورتDB25 از نوع نر
-کابل دو رشته جهت ارتباطLCD با خط تغذیه کامپیوتر
-حوصله به مقدار کافی!!!
میزان جریان مصرفی LCD با نور پشت صفحه حداکثر60 میلی امپر است با مقاومت محدود کننده جریان برایbacklight حداکثر15
میلی امپر ودر حالت بدونbacklight فقط2 میلی امپر!

مهمان

این یعنی چی؟

LPT LCD
D0(2)========>D0(7)
D1(3)========>D1(8)
D2(4)========>D2(9)
D3(5)========>D3(10)
D4(6)========>D4(11)
D5(7)========>D5(12)
D6(8)========>D6(13)
D7(9)========>D7(14)
nSTRB(1)========>EN(6)
INIT(16)========>RS(4)
RW(5) (connected to GND (1) of the LCD)
GND (18-25

مهمان

البته اون شکلک ها خودشون اضافه شد
خوب
یک اصلاح کوچک در متن مقاله
جهت راهنمایی بیشتر
<!-- m --><a class="postlink" href="http://pinouts.ru/ParallelPorts/ParallelPC_pinout.shtml">http://pinouts.ru/ParallelPorts/ParallelPC_pinout.shtml</a><!-- m -->

مهمان

این یعنی چی؟

1.نوع درایور
درخط43علامت بگذاریدودر خط 45 انرا حذف کنید
منظورم علامت#است که برایcommentکردن کاربرددارد
هر مشکل دیگری داشتید در خدمتتان هستم Smile
راهنمایه کاملی درباره پورت parallel
دارید ؟
if you wolud like to find more info about parallel port only google it
you will find very things
when you are going to solder be very very careful
for prevent from damaging your port
خوب چی میشه ؟
میسوزه مادر بورد ؟

مهمان

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

وبعد این یعنی چی؟


GND (1) (used the PC's power suppy (black cable))
+5V (2) (used the PC's power suppy (red cable))
Vadj (3) (contrast, conneced to GND works fine for me)

مهمان

کسی توضیح نمیده؟
در پاسخ به سپوالcarp3عزیز
خیر مادر بورد بطور کامل نمیسوزد فقط پورت پارالل از دست میرود
و پاسخ مهمان عزیز
در این مقاله طرف صحبت من کسانی هستند که اشنا به الکترونیک باشندپس نمیتوانم عامیانه صحبت کنم اگر کسانی به الکترونیک اشنایی نداشته باشند و بخواهند LCD را به کامپیوتر خود وصل کنند بطور حتم به کامپیوتر خود اسیب وارد خواهند کرد
اگر در این کار تجربه ندارید این کار را در حضور افراد با تجربه انجام دهید

پاسخ سوال دوم
منظور تهیه ولتاژ5ولت میباشد که برای این کار چندین راه وجود دارد
1.تهیه بزق از خود کامپیوتر که همان روشی است که من توضیح داده ام
برای اینکار کیس کامپیوتر را باز کرده و یک فیش برق ازاد شبیه فیشهایی که به پشتcdrom وصل شده را پیدا کنید
این فیش دارای 4 سیم است 2تا سیاه یکی قرمز ویکی هم زرد
سیمهای سیاه قطب منفی قرمز 5ولت و زرد12ولت است
یک سیم فن کیس دسته دوم که دارای مادگی همان پورت است تهیه کنید منتها باید تغییراتی در ان ایجاد کنبد اگر ان را به فیش برق کامپیوتر متصل کنید متوجه میشوید یکی از سیمها به سیم سیاه برق کامپیوترو دیگری به سیم زرد رنگ متصل میشود
یعنی 12 ولت
منتها چون شما به 5 ولت نیاز دارید باید ان پین را با استفاده از یک پیچ گوشتی ظریف از محل خود خارج کرده و در سوراخی قرار دهید که موقع اتصال به فیش برق کامپیوتر به سیم قرمز متصل شود
قطب منفی برق تهیه شده بعد از خروج از کیس به پین1 ماژولLCD و قطب مثبت ان به پین2 متصل میشود
<!-- m --><a class="postlink" href="http://www.crystalfontz.com/software/crystalcontrol2/manual/lcdsetup-hd44780.html">http://www.crystalfontz.com/software/cr ... 44780.html</a><!-- m -->

2. استفاده از پورت usb
یک کابل پرینترusb دسته دوم یا کیبوردusb تهیه کنید کابل را طوری از یک انتها قطع کنید که پورتusb که قرار است به کامپیوتر وصل شود صاحب بیشترین طول ممکن شود اگر سیمهای درون کابل را خارج کنید چهار سیم به رنگهای قرمز مشکی سبز و سفید به دست می اید سیم سیاه قطب منفی و سیم قرمز قطب مثبت ولتاژ5ولت مورد نیاز شما میباشند منتها موقع استفاده از کابل به این نکته توجه کنید که سیمهای سفید و سبز تحت هیچ شرایطی به یکدیگر یا به سیمهای قرمز یا مشکی اتصال نکنند
که اگر این اتفاق بیفتد شما پورتusbتان را از دست خواهید داد
اگر رنگ سیمها درون کابل با رنگهای گفته شده مطابقت نداشت با استفاده از یک اهمتر و استفاده از ادرس زیر سیمهای مورد نیاز را پیدا کنید
<!-- m --><a class="postlink" href="http://pinouts.ru/Slots/USB_pinout.shtml">http://pinouts.ru/Slots/USB_pinout.shtml</a><!-- m -->
3.تهیه برق با استفاده از اداپتور
این روش اسانترین و کم خطرترین راه برای تهیه ولتاژ مورد نیاز است
برای اینکار یک اداپتور با ولتاژ9 یا12 ویک ای سی رگولاتور به شماره7805نیاز دارید
ایسی را روبرو طوری نگاه کنید که نوشته های انرا ببینید و پایه های ان بطرف پایین باشند
سیم قطب مثبت اداپتور را به بایه سمت چپ و سیم منفی را به پایه وسطی لحیم کنید
حالا سه تکه سیم بردارید
دو تا از انها را با هم به قطب منفی اداپتور یا همان پایه وسطی7805 لحیم کرده وسر دیگر این سیمها یکی را به پین1ماژولLCD
و دیگری را به پ‍ایه25 از پ‍ورت پارالل وصل کنید
سیم سوم هم یک سرش به پایه سمت راست7805 و سر دیگر ان پایه2 ماژولLCD لحیم میگردد
پایه شماره3ماژولLCD را به قطب منفی وصل کنید
------------------------------------------------------
موفق وپیروزو سرافراز باشید
یکی از دوستان طی یکpm گفته بود نتوانستهLCDرا تهیه کند
این هم ادرس
خ جمهوری بعد از پل حافظ پاساژ عباسیان طبقه همکف جوان الکترونیک
هنگام خرید از فروشنده بخواهید انرا برای شما تست کند
این هم شکل ظاهری ان
<!-- m --><a class="postlink" href="http://www.e-lab.de/diverse/LCD4x20large.jpg">http://www.e-lab.de/diverse/LCD4x20large.jpg</a><!-- m -->
باسلام
مثل اینکه بازار برنامه نویسی برایLCDخیلی داغتر از انی بود که فکر میکردم
یک نگاهی به اینجا بیندازید
<!-- m --><a class="postlink" href="http://lcd4linux.sourceforge.net/">http://lcd4linux.sourceforge.net/</a><!-- m -->

با این برنامهLCD من داره پرواز میکنه مال شما را نمیدانم!!!!! Smile Smile

مهمان

مگر این برنامه چکار میکند؟
سومین سخت افزاردست ساز من برای لینوکس
چه خوب هم کار میکنه!!!
[عکس : lcd.jpg]

مهمان

دو تای قبلی چی بودن؟
یکیش همون season interface بود که در مقالهLCE انرا معرفی کردم
دومیش هم نوعی atmel chip reader/writer که فکر نمیکنم برای کسی در این انجمن جالب باشد
صفحات : 1 2