اطلاعیه

Collapse
No announcement yet.

ساخت ولتمتر دیجیتال قابل اتصال به کامپیوتر

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

    پاسخ : سوال برای برنامه نویسی میکرو AVR کمک

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

    ---
    شما می تونین یه کار دیگه هم بکنین . اون عدد اعشاری رو که تو LCD نشون میدین ، تبدیل به رشته کنید ( با استفاده از دستور STR در بیسکام) و بعد رشته رو بفرستین و تو برنامه ویژوال اون تبدیل کنید.

    دیدگاه


      پاسخ : سوال برای برنامه نویسی میکرو AVR کمک

      سلام
      از نظرات همگی ممنون
      نوشته اصلی توسط رضا حاجی زاده
      واسه بنده خیلی جالبه دوستمون خانم anahita_hita شما که هم آنالیز تون قویه و هم ایده پردازی خوبی داری
      اصلا این جوری که شما کار می کنی نیازی به کمک کسی نداری
      یه توصیه سعی کن مسائل رو ساده نگاه بکنی
      خیلی ساده
      چرا ؟ مگه حرف بدی زدم ؟ اتفاقا همه آدما به کمک دوروبریاشون واقعا نیاز دارن . چرا فکر می کنین من نباید داشته باشم ؟
      شایدم زیاد فلسفه بافی کردم ؟ oo:
      کجا رو پیچوندم و بهش نیگاه کردم ؟ بهرحال ممنونم خیلی خوشحال شدم از نظرتون .
      امیدوارم بتونم به همه چیز ساده نگاه کنم.


      نوشته اصلی توسط روباه
      اگه تو C کار میکردی خیلی کمکت میکردم اما بیسیک ... :cry2:
      ممنون آقای روباه . همینقدر که حالا هم کمک می کنین متشکرم . برای برنامه VB هم که مزاحمتون می شیم . شما با کدوم ورژن کار می کنین ؟



      نوشته اصلی توسط hamed_online62

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

      ---
      شما می تونین یه کار دیگه هم بکنین . اون عدد اعشاری رو که تو LCD نشون میدین ، تبدیل به رشته کنید ( با استفاده از دستور STR در بیسکام) و بعد رشته رو بفرستین و تو برنامه ویژوال اون تبدیل کنید.
      ممنون آقای حامد
      شما هم خیلی بهمون کمک می کنین . ان شا ا... یه روز بتونیم از خجالت همتون در بیایم.

      برای تبدیل منظورتون اینه که ما همون توی میکرو دنرمالیزه کنیم بعد با دستور STR بفرستیم به VB و نمایش بدیم ؟ دیگه چه تبدیلی لازمه ؟؟؟
      ما روی LCD نمی خواهیم نمایش بدیم . همون ولتاژی که adc می ده رو در میکرو دنرمالیزه می کنیم تا به مقدار واقعی برسه و بعد رشته می کنیم می فرستیم بیرون ؟

      من آن گلبرگ مغرورم که می میرم ز بی آبی ولی با خفت و خواری پی شبنم نمی گردم.

      دیدگاه


        پاسخ : سوال برای برنامه نویسی میکرو AVR کمک

        نوشته اصلی توسط anahita_hita
        برای تبدیل منظورتون اینه که ما همون توی میکرو دنرمالیزه کنیم بعد با دستور STR بفرستیم به VB و نمایش بدیم ؟ دیگه چه تبدیلی لازمه ؟؟؟
        ما روی LCD نمی خواهیم نمایش بدیم . همون ولتاژی که adc می ده رو در میکرو دنرمالیزه می کنیم تا به مقدار واقعی برسه و بعد رشته می کنیم می فرستیم بیرون ؟
        من فقط می خواستم بگم برای ارسال حتما نباید عدد بفرستین . می تونین از رشته هم استفاده کنین.
        دستور STR یک عدد رو رشته می کنه. نه اینکه رشته ر رو ارسال کنه. برای تبدیل رشته به عدد هم از دستور VAL استفاده میشه.
        بهترین راه همونیه که بچه ها گفتن. مقدار دیجیت شده ADC رو به صورت خام ارسال کنی به PC وبعد تو VB اونو تبدیل کنی.

        دیدگاه


          پاسخ : سوال برای برنامه نویسی میکرو AVR کمک

          دیتا رو از میکرو بفرستید بقیش تو PC با من.
          اگه رشته بفرستن کمی مشکل ایجاد میکنه.چون اگر بخوایم تو برنامه Interface دونه دونه دیتا رو تو Box های مختلف بزاریم اگه رشته باشه کارمون یکم سخت میشه.چون باید دوباره رشته رو بشکنیم.پس از اول نمیفرستیم.
          البته در کل اگه بخوایم تک تک هم بفرستیم String میشه ولی هر کدوم String بشه با اینکه همه یک String بشه خیلی متفاوت.
          Goodluck
          خدا گفت : به جهنم ببریدش، او برگشت و با تعجب به خدا نگاه کرد. خدا گفت : به بهشت ببریدش. فرشتگان پرسیدند: چرا؟! خدا گفت : او هنوز به من امیدوار است...

          دیدگاه


            پاسخ : سوال برای برنامه نویسی میکرو AVR کمک

            سلام
            امروز یک ایده خیلی جالب به ذهنم رسید برای کار شما که اینقدر دارین روش زحمت میکشین.که هم برای خودتون خوبه هم استاد رو تحت تاثیر قرار میده.
            ببینید شما میتونید سیستمتون رو به دو بخش تقسیم کنید.یعنی شما میتونید مداری که طراحی کردید رو توی یک پروب مثل پروب Oscop اما بزرگتر دربیارید.یعنی فیبر رو جوری در بیارید که تو یک محفظه پروب شکل قرار بگیره و سیم GND با یک سر سوسماری از سر پروب بیرون باشه و سر پروب چیزی مثل میله 10 سانتی باشه.
            حالا شما مدارتون رو تا جایی که دیتا رو بصورت سریال از میکرو بفرسته برسونید.حالا این دیتا رو وارد یک ماژول بیسیم FSK که قیمتش هم پایینه بکنید.یعنی یک پروب اندازه گیری ولتاژ بیسیم میشه که توش باطری و مدار و ماژول FSK هست.

            حالا برای گیرنده یه کاره جالب میکنید.ماژول گیرنده و یک تبدیل RS232 به USB رو تو یک Box کوچیک قرار میدین و یک پین مادگی USB از سر اون خارج میشه و چیزی میشه شبیه یک flash memori که به PC وصل میکنید.حالا یک برنامه براش مینویسیوم که دیتا رو به راحتی بخونه.

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

            به نظر من هم کاره جالبیه هم کارتون رو حرفه ایی تر جلوه میده هم خیلی جدیده.

            Goodluck
            خدا گفت : به جهنم ببریدش، او برگشت و با تعجب به خدا نگاه کرد. خدا گفت : به بهشت ببریدش. فرشتگان پرسیدند: چرا؟! خدا گفت : او هنوز به من امیدوار است...

            دیدگاه


              پاسخ : سوال برای برنامه نویسی میکرو AVR کمک

              سلام
              بله متوجه شده بودم که می فرمایید با STR تبدیل کنیم و رشته رو بفرستیم آقای حامد . مرسی
              حالا هم که تصمیم بر این شد که مقداری که ADC می ده رو همونجور ارسال کنیم برای PC
              آقای روباه ایده تون خیلی خوب بود اما
              ما برای مدارمون یک منبع تغذیه ساختیم که از ولتاژ 220 استفاده می کنه و اونو به 5 ولت می رسونه . و باطری نداریم در واقع . پس این تیکه اش هم که خواه نا خواه با سیمه !
              البته ساختن منبع ، نظر استاد بود و فرموده بودن حتما اول منبع رو براش بسازیم.
              گذاشتن مدار توی محفظه خیلی خوبه اما یک دو شاخه هم باید اضافه بشه به چیزایی که می خواد ازش در بیاد!
              ماژول FSK دقیقا چی کار می کنه ؟ یعنی خروجی اون چیه ؟ منظورتون از گیرنده همینه دیگه نه؟
              نفهمیدوم اینی که شما می گین دیگه تبدیل سریال بهUSB می خواد چی کار؟
              یک موضوع دیگه هم اینه که فکر کنم ما حتما باید از پورت سریال دریافت رو داشته باشیم نه USB
              چون استاد پروژه رو اینطوری تعریف کردن برامون.
              حالا دقیقا نمی دونم که اجازه داریم همچین کاری کنیم یا نه oo:... آخه یه جورایی عنوان پروژه هم تغییر می کنه.
              باید ازش بپرسم
              فقط شما به من بگ :rolleyes:ین در مورد اون ماژول
              خیلی خیلی ممنون




              من آن گلبرگ مغرورم که می میرم ز بی آبی ولی با خفت و خواری پی شبنم نمی گردم.

              دیدگاه


                پاسخ : سوال برای برنامه نویسی میکرو AVR کمک

                سلام
                1.ماژول FSK یک فرستنده و گیرنده آماده است که اطلاعات رو بصورت سریال و با مدولاسیون FM میگیره و میفرسته.یعنی کار سیمهای Rx و Tx رو انجام میده ولی بصورت بیسیم.

                2.تبدیل USB به RS232 میتونید یک RS232 مجازی بسازید که با پرتکل USB کار میکنه اما همون RS232

                3.شما یک کاره جالب تر برای تغذیه میتونید انجام بدید.میشه از باطری شارژی استفاده کنید و یک شارژر براش بسازید که شارژ کامل رو نشون بده.باطری هم برای همیشه تو پروب میمونه



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

                دیدگاه


                  پاسخ : سوال برای برنامه نویسی میکرو AVR کمک

                  سلام
                  ممنون از راهنمایی تون
                  سعی می کنم یک همچین کاری رو در نهایت انجام بدم اما فعلا با توجه به وقت کمی که مونده موضوع اصلی کار رو باید بچسبیم و ازش جواب بگیریم
                  یک موضوع دیگه :
                  ما اطلاعاتی که از میکرو به VB می فرستیم دو دسته هستن
                  یکی ولتاژ اندازه گیری شده خام
                  دیگری رنجی که ولتاژ در اون سنجیده شده
                  یعنی برای اینکه بتونیم مقدار واقعیه ولتاژ رو در نهایت نشون بدیم ، لازمه رنج انتخاب شده رو هم بفرستیم تا در برنامه VB بشه به درستی این ولتاژ رو دنرمالیزه کرد
                  شما باید اینارو از هم جدا کنید چون همه به صورت سریال میان دیگه درسته؟ یا اینکه دو بایت رو بگیرین و بعد از هم جداشون کنین
                  باز دو بایت بعدی به همین شکل.
                  من آن گلبرگ مغرورم که می میرم ز بی آبی ولی با خفت و خواری پی شبنم نمی گردم.

                  دیدگاه


                    پاسخ : سوال برای برنامه نویسی میکرو AVR کمک

                    RS232 فقط string میگیره و میفرسته.باید String رو به مقدار تبدیل کرد.البته اگه خودتون هم شروع کنید به Interface نویسی خیلی به دردتون میخره ما هم کمکتون میکنیم
                    خدا گفت : به جهنم ببریدش، او برگشت و با تعجب به خدا نگاه کرد. خدا گفت : به بهشت ببریدش. فرشتگان پرسیدند: چرا؟! خدا گفت : او هنوز به من امیدوار است...

                    دیدگاه


                      پاسخ : سوال برای برنامه نویسی میکرو AVR کمک

                      سلام
                      ممنون ما حتما این کار رو می کنیم ولی اول باید تکلیف برنامه نویسی avr مشخص بشه و کامل بشه بعد بریم سراغ اونvb .اون موقع خودمون شروع می کنیم وسوالامونو از شما می پرسیم.شما هم مثل همیشه ما رو از الطاف خودتون بی بهره نمیذارید ممنونم از شما :applause:
                      ببینید همونطور که اناهیتا گفت ما باید 16 بیت رو ارسال کنیم .یعنی دو تا عدد جدا از هم .یکی مربوط به adc و دیگری مربوط به گین مورد نظر که عدد تو تون نرمالیزه شده
                      چون تو برنامه vb می خواهیم دنرمالیزه کنیم باید گین رو بدونیم

                      برا برنامه avr اگه ما مثلا بنویسیم print w,a4 که ص عدد مورد نظر و a4 گینمون هست اون موقع این دو تا ر ارسال می کنه ولی تو pc من نمی دونم باید چه جوری اینها رو از هم جدا کنیم؟؟؟

                      میشه یکم در این مورد ما رو اهنمایی کنید؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
                      گاهی دلم برای چوپان دروغگو خیلی می سوزد.بیچاره 2 بار بیشتر دروغ نگفت انگشت
                      نماشد... ولی ما هنوز صادق ترینیم

                      دیدگاه


                        پاسخ : سوال برای برنامه نویسی میکرو AVR کمک

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

                        دیدگاه


                          پاسخ : سوال برای برنامه نویسی میکرو AVR کمک

                          آقای رو باه
                          و همه عزیزان
                          سلام امیدوارم از سوالهای ما خسته نشده باید
                          اولا که ما با RS-233 کار میکنیم . ما چرا باید تبدیل به رشته کنیم ؟؟؟؟ ما متغیرمون رو تو یه برنامه که عدد رو با ADCاز پتانسیومتر می گرفت , و ارسال می کرد جواب گرفتیم تازه تو برنامه اولیه ای که برای VB هم نوشتیم جوابش رو دیدیم من نمی دونم د لیل شما برای اینکه اینقر مصرید تبدیل به رشته بشه چیه؟؟؟ ما بدون اینکه تبدیل به رشته کنیم هم ارسال و هم دریافت رو تو دو تا برنامه مختلف و بعدش توی یه برنامه جواب گرفتیم .حالا هم که برنامه یکوم وسیع تر شده؟؟؟؟
                          شما دلیل خاصی دارید؟؟؟/
                          برای اینکه می گم باید 16 بیت رو بفرستیم اگه ما دو بار پشت سر هم از دستور PRINT برای ارسال استفاده کنیم که همونطو که شما گفتید اولیش رنج باشه و دومیش عدد.می خوام دقیقا بدونم تو VB چه طوری باید دریافت کنیم اگه می شه این قسمتش رو بهمون دستورش رو بگید
                          من یکم گیج شدم در این مورد؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ نمی فهمم VB چه طوری ان ها رو از هم جدا می کنه؟؟؟؟؟
                          گیج نمی شه اخه همش سریال و پشت سرهم ارسال می شه و با دوره تناوب خیلی کوتاه اگه بره رنج رو بگیره یعدش عدد رو اگه یه عدد دیگه ارسال بشه VB مون گیج نمیشه??????????
                          گاهی دلم برای چوپان دروغگو خیلی می سوزد.بیچاره 2 بار بیشتر دروغ نگفت انگشت
                          نماشد... ولی ما هنوز صادق ترینیم

                          دیدگاه


                            پاسخ : سوال برای برنامه نویسی میکرو AVR کمک

                            انشاالله بتونم این آخرین جوابم توو این انجمن باشه!

                            ad شما 10 بیتی هست! یعنی عددی با 10 بیته با ارزش رو می خواین بفرستین
                            پس دست کم به 2 بایت نیاز دارید
                            میشه 16 بیت
                            می تونین توو هر بایت 5 بیت از عدد رو بفرستین
                            اگه pc بایتی به شکل :
                            1xxxxxxx
                            رو دریافت کرد بفهمه داره عددی جدید رو می گیره
                            اگر بایت :
                            010xxxxx
                            رو دریافت کرد بدونه مثلا اون xxxxx 5بیت بالایی عدد هست و اگر :
                            001xxxxx
                            رو دریافت کرد بفهمه 5 بیت پایینیه

                            بعد از روی اینها عدد رو با and و or بسازه ...

                            خداحافظ

                            دیدگاه


                              پاسخ : سوال برای برنامه نویسی میکرو AVR کمک

                              آقای سبییلو کجا دارین می رین ؟ :cry2:
                              (اوه معذرت می خوام، اصلاح می شه : آقای خپل سیبیلو)
                              کی شمارو دعوا کرده ؟؟؟؟ باش قهر بشین
                              چرا دارین می رین ؟
                              از راهنماییتونم ممنونم با AND و OR بسازه ؟ مثلا توی 5 بیت بالا ما همیشه رنج و بزاریم و بگیم اونو جدا کنه ؟. و امیدوارم این آخرین لطفتون به ما نبوده باشه. :sad:

                              :NO: یکبار می گن رشته نفرست یکبار می گن بفرست
                              واقعا ...
                              البته همه رو هم یک نفر می گه ها جالب نیست ؟
                              ما به حد کافی دردسر داریم و خودمون قاط می زنیم به خدا
                              معضل همین یه دونه پروژه هم نیست این ترم 5 تا آزمایشگاهم داریم که هر کدوم یه سازی می زنن ... واقعا صبر ایوب می خواد و کار شبانه روزی این ترم آخری و آخر ترمی... oo:


                              بعد اینکه عدد های ارسالی به PC توی یک بافر ذخیره می شه و نگهداری می شه ، اون بافر کجایت و چیه ؟ ما چه جوری باید بهش دسترسی پیدا کنیم و ازش برداشت کنیم ؟

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

                              دیدگاه


                                پاسخ : سوال برای برنامه نویسی میکرو AVR کمک

                                اصلا پرتکل RS232 رشته میفرسته و میگیره.
                                خب چه کاریه بیت به بیت بفرستین.
                                منظور از رشته نوع ارسال
                                مثلا:
                                Printf("%f",asghar);

                                این دستور متغیری با نام اصغر رو که از نوع Float باید باشه میفرسته رو خط
                                تو VB هم پس از آوردن Activex پورت سریال برنامش رو مینویسیم.
                                حالا باز بگو 16 بیت یا 100 بیت
                                کل عدد خونده شده وارد یک متغیر Float میشه که 32 بیت هست.
                                برتامتون رو باید طوری بنویسید که تو هر رنج که میره اول یک رشته که مشخص کننده رنج هست رو بفرسته بعد هم مقدار خونده شده رو با یک ارسال دیگه :angry:
                                خدا گفت : به جهنم ببریدش، او برگشت و با تعجب به خدا نگاه کرد. خدا گفت : به بهشت ببریدش. فرشتگان پرسیدند: چرا؟! خدا گفت : او هنوز به من امیدوار است...

                                دیدگاه

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