اطلاعیه

Collapse
No announcement yet.

ارسال اطلاعات رنگ به کامپیوتر

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

    ارسال اطلاعات رنگ به کامپیوتر

    سلام دوستان:

    من می خواهم با یک عدد میکرو avr مثلا مگا8 مقادیر 0 تا 1 ولت به رنگ آبی در یک برنامه گرافیکی نصب شده روی کامپیوتر و 4 ولت به رنگ سبز و 5 ولت به رنگ قرمز را که از خروجی یک پ امپ میگیرم دیجیتال کرده و با پورت usb به کامپیوتر و برنامه گرافیکی مذکور وصل نمایم.

    برنامه را در بیسیک نوشته ام ولی نمی دانم ولتاژ را چگونه در آن قرار دهم.

    $regfile = "m8def.dat"
    $crystal = 8000000
    $baud = 19200
    Config Serialout = Buffered , Size = 20

    Config Adc = Single , Prescaler = Auto , Reference = Avcc
    Start Adc

    Dim A As Word
    Config Portb = Input

    Portb = 255

    A = 0

    Main:

    Do

    A = Pinb

    Printbin A
    Do
    A = Getadc(1)
    Waitms 10
    Print A
    Loop
    End

    لطفا راهنمایی و کمک کنید.

    تشکر

    #2
    پاسخ : ارسال اطلاعات رنگ به کامپیوتر

    اگر سوالتون رو درست متوجه شده باشم شما می خواین عددی رو که از adc بخونید رو به عدد ولتاژ در بازه 0-5 ولت تحویل بگرید

    مراحل:
    ای دی سی میکرو با توجه به 10 بیتی بودن سطح 5 ولت رو تقسیم به 1024 قسمت می کند که شما باید 204.8 رو بعد از خواندن از عدد ای دی سی ضرب کنید تا ولتاژ 0-5 رو بهتون تحویل بده(میکرو به اضای هر 204.8 میلی ولت یک واحد ای دی سی رو بالا می برد)
    هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.

    دیدگاه


      #3
      پاسخ : ارسال اطلاعات رنگ به کامپیوتر

      با تشکر از شما

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

      دیدگاه


        #4
        پاسخ : ارسال اطلاعات رنگ به کامپیوتر

        $regfile = "m8def.dat"
        $crystal = 8000000
        $baud = 19200
        Config Serialout = Buffered , Size = 20

        Config Adc = Single , Prescaler = Auto , Reference = Avcc
        Start Adc

        Dim A As Word
        Config Portb = Input
        dim b as single

        Portb = 255

        A = 0

        Main:

        Do

        A = Pinb

        Printbin A
        Do
        A = Getadc(1)
        Waitms 10
        b=a*204.8
        Print b
        Loop
        End

        متغییر b ولتاژ رو بر حسب میلی ولت نمایش می دهد
        هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.

        دیدگاه


          #5
          پاسخ : ارسال اطلاعات رنگ به کامپیوتر

          ممنون

          من برنامه را کامپایل کردم ولی سیگنالی روی آن برنامه گرافیکی ندارم البته در محیط هایپر ترمینال بسکام سیگنال را بصورت علائمی دارم با مبدل usb to serial FT232BM ولی روی برنامه گرافیکی تغییر رنگ ندارم.نمی دانم شاید مشکل در برنامه باشد.اگر دوستان لطف نموده و مساعدت کنید مشکل حل خواهد شد.

          دیدگاه


            #6
            پاسخ : ارسال اطلاعات رنگ به کامپیوتر

            کاری که باید انجام بدین این هست که اول ببینید داخل برنامه گرافیکیتون داده ها از پورت یو ای بی تون گرفته می شونتد با خیر ؟ و به صورت درستی که باید بازه ای بین 0-5 ولت هست رو تحویل می گیرین یا خیر بعد برین سراغ رنگ های نمایشی برنامه تون
            هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.

            دیدگاه


              #7
              پاسخ : ارسال اطلاعات رنگ به کامپیوتر

              با سلام

              چطور و با چه روشی باید فهمید که سیگنال روی برنامه گرافیکی هست یا نه.فکر میکنم در برنامه نوشته شده بدرستی ارتباط میکرو و برنامه گرافیکی برقرار نیست یعنی برنامه گرافیکی نمی تواند سیگنال را بگیرد چون در برنامه گرافیکی پیغام عدم وجود مقادیر no value avialbe نوشته می شود.
              با توجه به اینکه baud=19200 است و کریستال میکرو 8 مگ و میکرو مگا8 است اگر دوستان و اساتید لطف نموده و برنامه اصلاح شده را بنویسند به اتفاق بقیه اشکالات را رفع می کنیم.

              دیدگاه


                #8
                پاسخ : ارسال اطلاعات رنگ به کامپیوتر

                سلام جناب baby_1

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

                $regfile = "m8def.dat"
                $crystal = 8000000
                $baud = 19200
                Config Serialout = Buffered , Size = 10

                Config Adc = Single , Prescaler = Auto
                Start Adc

                Dim A As Word

                Dim B As Single

                Do

                Printbin A

                A = Getadc(1)
                Waitms 10
                B = A * 204.8
                Print B
                Loop
                End

                دیدگاه


                  #9
                  پاسخ : ارسال اطلاعات رنگ به کامپیوتر

                  سلام دوستان

                  این سایت با اینهمه اساتید فعال وجدانا کسی نتونست جواب سوال منو بده.

                  دیدگاه

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