اطلاعیه

Collapse
No announcement yet.

LCD4Linux

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    LCD4Linux

    LCD4Linux


    حتما شده که تا حالا بخواید یکسری اطلاعات خاص از کامپیوترتون روی یه LCD مثلا کارکتری نشون داده بشه
    برنامهً LCD4Linux اینکارو به سادگی و زیبایی میتونه برای شما انجام بده

    این برنامه روی کامپیوتر هدف اجرا میشه و میتونه از طریق پورتهای LPT , Serial , USB با انواع بسیار متونعی از LCD های کارکتری و گرافیکی ارتباط برقرار کنه

    تقریبا هر چیزی رو میشه توسط LCD4Linux روی LCD مانیتور کرد
    از نوع سیستمآ‌عامل گرفته تا میزان مصرف شبکه و حافظه و پردازنده
    و حتی موسیقی در حال پخش در کامپیوتر شما !

    اجازه بدید اول چند تا عکس نمونه از کارای جالبی که میتونید با LCD4Linux انجام بدید ببینیم :







    خوشتون اومد نه ؟
    پس قبل از ادامه اینجا رو خوب ببینید

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

    خب ، اگر تا الان قانع شدید که LCD4Linux چیز بدرد بخوریه بریم برای ادامه
    وگرنه همینجا توصیه میآ‌کنم این تب مرورگرتونو ببندید و برید سراغ کارای مهم دیگتون ( البته اگر مرورگرتون از تب پشتیبانی میآ‌کنه! )

    برای من از بین اون لیست LCD ها راحتتآ‌ترین و وسوسه انگیزترینش LCD2USB بود. حتما میپرسید چرا ؟
    باشه قبول. اینا دلایل من هست :
    * استفاده از همین LCD کارکتریهای موجود در کف بازار ! ( مبتنی بر HD44780 )
    * اتصال به پورت USB
    * بیآ‌نیاز به منبع تغذیهً مستقل. ( از همون پورت USB آب و دون بهش میرسه! )

    پس حق داشتم مشتاق بشم ؟
    هممم. پس حالا بزارید کمی در مورد LCD2USB براتون بگم.

    LCD2USB



    این موجود دوست داشتنی ( LCD2USB رو میگم ) پروژهآ‌ای هست که هدفش اتصال LCD های کارکتری مبتنی بر HD44780 به پورت USB هست.
    و نکتهً هیجان انگیزش اینه که در اصل برای برنامهً LCD4Linux طراحی شده ( در و تخته با هم جورن )

    مدار LCD2USB بسیار ساده هست. در وبآ‌سابت اصلی این پروژه یک PCB کشیده شده ولی دو لایه هست
    برای همین خودم آستیانرو زدم بالا و یه PCB واسش کشیدم !



    نحوه استفاده
    خب حالا ما برد LCD2USB رو داریم و برنامهً LCD4Linux هم روی کامپیوتر نصب کردیم.
    چطوری روشنش کنیم ؟!

    اگر با برنامهآ‌های لینوکسی آشنا باشید حتما میدونید که معمولا نرمآ‌افزارها توی دایرکتوری etc یکسری فایل پیکرهآ‌بندی برای خودشون دارن. ( تکست خالص )
    این LCD4Linux هم از همین قاعده پیروی کرده. برای کار با LCD4Linux فقط کافیه توی این فایل پیکرهآ‌بندی بگید چخ چیزایی میخواین روی LCD نشون داده بشه! همین

    توی این فایل نوع LCD ( های ) مورد استفاده ، نحوهً اتصالشون به کامپیوتر ، اینکه روی مکانهای مختلف LCD چه چیزی نشون داده بشه و کلی چیز دیگه رو میشه تعریف کرد.
    وقتی LCD4Linux اجرا میشه فایل پیکرهآ‌بندی خودشو میخونه و وظیفشو انجام میده !

    توضیح تک تک این چیزا از حوصلهً من خارجه ( خیلی زیادن آخه ) برای همین به توضیح کاری که خودم انجام دادم بسنده میکنم

    ( نکته : برای کار با LCD4Linux باید کاربر با ریشه باشید )

    ۱ - یک فایل پیکرهآ‌بندی در مسیر etc و با نام lcd4linux.conf ساختم ( مثلا با ادیتور مورد علاقهً من یعنی Gedit )

    کد:
    # gedit /etc/lcd4linux.conf


    ۲ - توی این فایل پیکرده بندی نوع سختآ‌افزارم که LCD2USB هست رو معرفی کردم :
    کد:
    Display LCD2USB {
      Driver  'LCD2USB'
      Contrast 210
      Brightness 150
      Size '20x4'
      Icons   1
    }
    
    Display 'LCD2USB'


    نکتهً جالب اینجاست که برد LCD2USB میتونه مقدار Contrast و آ‌Brightness الآ‌سیآ‌دی رو تنظیم بکنه. ( موج PWM تولید میکنه )
    که عددی بین 0-255 به هر کدومشون میتونیم تخصیص بدیم.

    ۳ - Widget های مورد نظر خودم ساختم
    کد:
    Widget Busy {
      class 'Text'
      expression proc_stat::cpu('busy', 500)
      prefix 'Busy'
      postfix '%'
      width 10
      precision 1
      align 'R'
      update tick
    }
    
    Widget BusyBar {
      class 'Bar'
      expression proc_stat::cpu('busy', 500)
      expression2 proc_stat::cpu('system', 500)
      length 10
      direction 'E'
      update tack
    }
    
    Widget Load {
      class 'Text'
      expression loadavg(1)
      prefix 'Load'
      postfix loadavg(1)>1.0?'!':' '
      width 10
      precision 1
      align 'R'
      update tick
    }
    
    Widget LoadBar {
      class 'Bar'
      expression loadavg(1)
      max 2.0
      length 10
      direction 'E'
      update tack
    }
    
    Widget Eth0 {
      class 'Text'
      expression (netdev('eth0', 'Rx_bytes', 500)+netdev('eth0', 'Tx_bytes', 500))/1024
      prefix 'Eth0'
      postfix ' '
      width 10
      precision 0
      align 'R'
      update tick
    }
    
    Widget Eth0Bar {
      class 'Bar'
      expression netdev('eth0', 'Rx_bytes', 500)
      expression2 netdev('eth0', 'Tx_bytes', 500)
      length 14
      direction 'E'
      update tack
    }
    
    Widget Uptime {
      class 'Text'
      expression uptime('%d days %H:%M:%S')
      width 20
      align 'R'
      prefix 'Up '
      update 1000
    }


    ۴ - یک Layouy تعریف کردم :
    کد:
    Layout Default {
      Row1 {
        Col1 'Busy'
        Col11 'BusyBar'
      }
      Row2 {
        Col1 'Load'
        Col11 'LoadBar'
      }
    
      Row3 {
    		Col1 'Uptime'
      }
    
      Row4 {
        Col1 'Eth0'
        Col11 'Eth0Bar'
      }
    }


    ۵ - Layout مورد نظرمونو انتخاب کردم
    کد:
    Layout 'Default'


    ۶ - متغیرهای استفاده شده در Widget ها رو تعریف کردم :
    کد:
    Variables {
     tick 500
     tack 100
    }


    ۷ - فایل پیکرهآ‌بندی رو ذخیره کردم و مجوز دسترسی به این فایل رو به اینصورت تغییر دادم ( دلیلشو خودتون برید اینجا بخونید! )
    کد:
    chmod 600 /etc/lcd4linux.conf
    chown root.root /etc/lcd4linux.conf


    ۸ - برنامهً LCD4Linux رو اجرا کردم ( برای نرفتن این برنامه به پشت صحنه و دیدن جزییات از سوییچهای Fvv استفاده کردم )
    کد:
    # lcd4linux -Fvv


    ۹ - خب حالا باید روی ماهتونو از روی مانیتور برگردونید به سمت برد LCD2USB و از دیدن چیزی که میبینید تعجب کنید !

    هنوز چند تا چیز مونده. مثل چطوری خوندن کلیدهای روی برد !
    ادامهً قصه بمونه برای پست بعد

    دانلود
    پشت فیبر مدار

    lcd2usb-2007-10-13.zip
    ( آخرین نسخهً Firmware برای LCD2USB را از اینجا دریافت کنید )


    این پست بیشتر جنبهً معرفی داشت ، جزئیات بیشتر کار با LCD4Linux در پستهای بعدی گفته خواهد شد
    بزودی مطالب برای ماندگاری بیشتر در ویکیآ‌سایت هم نوشته خواهد شد

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

    #2
    پاسخ : LCD4Linux

    با سلام
    واقعا دستت درد نکنه معرفی خیلی خوب برای این برنامه جالب هست. من فکر کنم در سرورآ‌های Unix-Based از این برنامه یا یه چیزی شبیهآ‌ آن برای نشان دادن وضعیت سرور بر روی یه نمایشگر ساده استفاده میآ‌کنند (سرورآ‌های که در رک نصب میآ‌شوند) ! علاوه بر این این برنامه برای لینوکسآ‌های نهفته که بر روی دستگاهآ‌های کوچک در حال اجرا هستند میآ‌تونه خیلی مفید باشه.

    از همه بهتر اینکه این برنامه بامزه فقط در لینوکس کار میآ‌کنه! (البته از اسمش هم مشخصه)
    من دوست دارم آزاد فکر کنم، نرمآ‌افزارآ‌ و سختآ‌افزارهای آزاد را به کار ببرم و اگر توانستم نرمآ‌افزار، سختآ‌افزار و محتوای آزاد درست کنم!

    دیدگاه


      #3
      پاسخ : LCD4Linux

      نوشته اصلی توسط manian
      من فکر کنم در سرورآ‌های Unix-Based از این برنامه یا یه چیزی شبیهآ‌ آن برای نشان دادن وضعیت سرور بر روی یه نمایشگر ساده استفاده میآ‌کنند (سرورآ‌های که در رک نصب میآ‌شوند) ! علاوه بر این این برنامه برای لینوکسآ‌های نهفته که بر روی دستگاهآ‌های کوچک در حال اجرا هستند میآ‌تونه خیلی مفید باشه.
      به نکتهً جالبی اشاره کردی
      مثلا یه چیزی میشه شبیه این :


      توصیه میآ‌کنم اگر هنوز به LCD4Linux ایمان نیاوردید این CoolStuff هارو ببینید !!
      چگونه هوشمندانه بپرسیم

      دیدگاه


        #4
        پاسخ : LCD4Linux

        با سلام

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

        دیدگاه


          #5
          پاسخ : LCD4Linux

          سلام
          یک سوال که ربطی به موضوع نداره. اگر ممکنه جواب بدید.
          اون عکس رو چطوری به pcb اضافه کردید
          ممنون

          دیدگاه


            #6
            پاسخ : LCD4Linux

            نوشته اصلی توسط fazel459
            سلام
            یک سوال که ربطی به موضوع نداره. اگر ممکنه جواب بدید.
            اون عکس رو چطوری به pcb اضافه کردید
            ممنون
            خیلی روش بامزهآ‌ای برای اینکار وجود داره.

            برنامهآ‌ای بنام pstoedit قادره فایل با فرمت PostScript رو به gEDA/PCB تبدیل کنه.

            برای اون تاکس خوشگل:
            اول این فایل پستآ‌اسکریپت رو دانلود کنید.
            بعدش توی ترمینال بنویسید :

            کد:
            pstoedit -f pcb tux.eps tux.pcb


            برای تغییر اندازهٔ PCB هم اینطوری میتونید عمل کنید :
            کد:
            pstoedit -xscale 0.5 -yscale 0.5 -f pcb tux.eps tux.pcb


            فایلهای PCB ساخته شده ضمیمه شدن :smile:
            فایل های پیوست شده
            چگونه هوشمندانه بپرسیم

            دیدگاه


              #7
              پاسخ : LCD4Linux

              :applause: :applause: :applause: :applause: :applause:

              دیدگاه


                #8
                درخواست راهنمایی برای LCD4Linux

                سلام
                من بالاخره کار کیت و تموم کردم، ولی چند تا مشکل هست (کیت رو از سایت سیتو تهیه کردم):
                اول اینکه من دو تا مقاومت زرد، آبی، قرمز (4.7) اضافه اوردم
                دوم تو عکس زیر، که روی مدار چسبیده یه جا باید از اتصال کوتاه استفاده کرد (با علامت A)

                ولی تو عکسی که تو دفترچه هست اونجا رو با یه مقاومت 4.7 نشون داده (با علامت B) :eek:

                [hr]
                در ضمن این عکس هم

                یه مسئله دیگه ساخت. قسمت C تو عکس یه مقاومته ولی تو مدار یه اتصال کوتاهه :eek:
                اگه لطف کنید و یه عکس از نمای بالای کیت بذارید، کمک بزرگی میکنید.
                در آخر هم اگه لطف کنید و به مدار من نگاه کنید و اشکالاتش رو بهم بگید، ممنون میشم.
                امیدوارم منو راهنمایی کنید. :cry2:


                یه سئوال دیگه هم دارم، البته مربوط به اینجا نمیشه ولی...ممنون میشم راهنماییم کنید. این عکس مداره

                حالا چطوری اینو آمادش کنم که بتونم براش بردش و درست کنم؟
                آلبرت انیشتین میگه:
                " هیچ وقت چیزی رو خوب نمیفهمی مگر اینکه بتونی به مادربزرگت توضیحش بدی !"
                حالا مرد میخواد ادعا کنه من انتگرال رو فهمیدم!!!

                دیدگاه


                  #9
                  پاسخ : LCD4Linux

                  من این بورد رو از sito.ir تهیه کردم. لحیم کردم و آماده بودم برای اجرای اون.
                  وقتی به یوآ‌اسآ‌بی وصل میآ‌شه روی الآ‌سیآ‌دی ورژن برنامه رو میآ‌نویسه که به نظر میاد یعنی درست لحیم شده. ورژنش هم 1.08 هستش.
                  ولی مشکل من توی LCD4Linux هست. نمیآ‌تونه این LCD2USB رو پیدا کنه. میآ‌خواستم بدونم ممکنه از مدار باشه؟
                  مدار رو چک کردم و به نظر میاد همش درسته.
                  با تشکر.

                  دیدگاه


                    #10
                    پاسخ : LCD4Linux

                    در ادامهآ‌ی مشکلم به وبسایت خود LCD2USB سر زدم و اینطور متنی رو اونجا دیدم:
                    کد:
                    Problem: The device is not properly detected. Linux reports an error like "device not accepting address" in the system log but the LCD displays the init message (LCD2USB VXX.XX).
                    
                    Solution: The USB interface is not working at all. Your AVR is very likely running at the wrong speed. Please make sure that the fuses are set correctly. If this doesn't help, the zener diodes may be too slow (see next problem).
                    
                    Problem: The device is not properly detected. Linux reports an an error like "device descriptor read/all, error -71" in the system log.
                    
                    Solution: The device is working partly and the USB transfers are unreliable. This was often caused by "slow" high current zener diodes which i had on the Reichelt part list some time ago. These slow diodes are easily recognized as they have thicker wires than the other parts. You can just try to remove the zener diodes and the device will work if your host PC copes with 5V on the USB data lines (most PCs do, especially older ones). Also using a USB hub between a device without zener diodes and the PC may lead to a working setup even if the PC does not accept 5V on the USB data lines. Otherwise you need faster diodes as a replacement like the one available from reichelt under part no "ZF 3,6". These are also part of the current part list and are known to work.
                    اینطور که متوجه شدم مشکل از دیودآ‌هاست. گفته که دیودآ‌ها رو بردارم. این کار رو انجام بدم؟ کامپیوترم قدیمی نیست که نیاز به هاب هم باشه.

                    دیدگاه


                      #11
                      پاسخ : LCD4Linux

                      حالا شما قبل از اینکه دیودهارو بردارید اینکارو انجام بدبد :
                      دستگاه رو به کامپیوترتون وصل کنید و یعد از چند ثانیه این دستورو اجرا کنید و خروجیشو اینجا بزارید تا ببینیم :
                      کد:
                      dmesg | tail


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

                      دیدگاه


                        #12
                        پاسخ : LCD4Linux

                        من با یه برنامه تحت ویندوزه م تست کردم. اونم همین مشکل رو داشت. ولی با این همه این رو هم تست میآ‌کنم.

                        دیدگاه


                          #13
                          پاسخ : LCD4Linux

                          :applause:
                          بسیار جالب است ... فقط این برد باید به صورت دورو باشه یا نه ؟!
                          Put the fun back into computing. Use Linux

                          دیدگاه


                            #14
                            پاسخ : LCD4Linux

                            خب، اینم نتیجهآ‌ی dmesg | tail
                            کد:
                            [ 528.436183] usb 5-1: device descriptor read/64, error -71
                            [ 528.661182] usb 5-1: device descriptor read/64, error -71
                            [ 528.876198] usb 5-1: new low speed USB device using uhci_hcd and address 3
                            [ 529.000183] usb 5-1: device descriptor read/64, error -71
                            [ 529.276132] usb 5-1: device descriptor read/64, error -71
                            [ 529.492203] usb 5-1: new low speed USB device using uhci_hcd and address 4
                            [ 529.908107] usb 5-1: device not accepting address 4, error -71
                            [ 530.020184] usb 5-1: new low speed USB device using uhci_hcd and address 5
                            [ 530.432199] usb 5-1: device not accepting address 5, error -71
                            [ 530.432235] hub 5-0:1.0: unable to enumerate USB device on port 1

                            دیدگاه


                              #15
                              پاسخ : LCD4Linux

                              نوشته اصلی توسط حمید رستمی

                              خیلی روش بامزهآ‌ای برای اینکار وجود داره.

                              برنامهآ‌ای بنام pstoedit قادره فایل با فرمت PostScript رو به gEDA/PCB تبدیل کنه.

                              برای اون تاکس خوشگل:
                              اول این فایل پستآ‌اسکریپت رو دانلود کنید.
                              بعدش توی ترمینال بنویسید :

                              کد:
                              pstoedit -f pcb tux.eps tux.pcb


                              برای تغییر اندازهٔ PCB هم اینطوری میتونید عمل کنید :
                              کد:
                              pstoedit -xscale 0.5 -yscale 0.5 -f pcb tux.eps tux.pcb


                              فایلهای PCB ساخته شده ضمیمه شدن :smile:
                              حمید جان فکر کنم خنگ شدم رفته پی کارش
                              میشه دوباره توضیح بدی من پروتل 99اس ای دارم و ویندوز7

                              حالا کجا باید چی کار کنم تا بتونم عکس رو بندازم کنار pcb

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

                              دیدگاه

                              لطفا صبر کنید...
                              X