اطلاعیه

Collapse
No announcement yet.

نوشتن برنامه

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

    #16
    پاسخ : نوشتن برنامه

    کامل و دقیقش باید دیتا شیت ای سی رو نگاه کرد؟
    http://s6.uplod.ir/i/00674/9cm41hm4inx0.jpg

    دیدگاه


      #17
      پاسخ : نوشتن برنامه

      نوشته اصلی توسط MAHDI ZAMANI
      کامل و دقیقش باید دیتا شیت ای سی رو نگاه کرد؟
      بله ...
      دقیقا"
      [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
      معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
      معرفی نرم افزار Codewizard PWM
      با من بیشتر آشنا شوید

      دیدگاه


        #18
        پاسخ : پاسخ : نوشتن برنامه

        سلااااااااااااااااااااااااامممممممممم
        آقای سامان درست می گن.باید اول معادله خط را بدست بیاوریم تاهمه نقاط را شامل بشه.
        البته نمی دونم چطوری بایدبرنامه رانوشت؟؟؟؟؟؟؟؟؟

        دیدگاه


          #19
          پاسخ : پاسخ : نوشتن برنامه

          نوشته اصلی توسط fatemehalimoradi
          سلااااااااااااااااااااااااامممممممممم
          آقای سامان درست می گن.باید اول معادله خط را بدست بیاوریم تاهمه نقاط را شامل بشه.
          البته نمی دونم چطوری بایدبرنامه رانوشت؟؟؟؟؟؟؟؟؟
          درود بر شما
          حسگر شما چیه ؟؟
          شماره و مشخصه اون چیه ؟؟
          تا ابتدا دیتاشیت اون را بگیریم و مطالعه کنیم ...
          معادله یا فرمول اون رو به دست بیاریم بقیه کارا راحته ...
          [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
          معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
          معرفی نرم افزار Codewizard PWM
          با من بیشتر آشنا شوید

          دیدگاه


            #20
            پاسخ : نوشتن برنامه

            #include<mega32.h>
            #asm
            .equ__lcd_port=0x1B
            #endasm
            #include<lcd.h>
            #include<stdio.h>
            #include<stdlib.h>
            #include<string.h>
            #include<delay.h>
            #define xtal 8000000
            int i=0;
            flash unsigned char lcd_buffer[100];
            unsigned char sample1,sample2,sample3;
            unsigned char str_sam1[20],str_sam2[20],str_sam3[20],ch=',';
            unsigned char str_RMC[];
            unsigned char GPRMC[13][20];
            int lat_deg=0,long_deg=0,UTC_hh=0,UTC_mm=0,UTC_ss=0;
            void Init(void)
            {
            UCSRA=0x00;
            UCSRB=0x10;
            UCSRC=0x86;
            UBRRH=0x00;
            UBRRL=0x33;
            }
            void main(void)
            {
            lcd_init(32);
            lcd_clear();
            lcd_gotoxy(0,1);
            lcd_putsf("in the name of god"
            delay_ms(2000);
            lcd_clear();
            while(1)
            {
            Init();
            scanf("%s",str_RMC);
            while(strncmp(str_RMC,"$GPRMC",6)!=0);
            scanf("%s",str_RMC);
            sample1=str_RMC;
            for(i=0;i<13;i++)
            {
            sample2=strchr(sample1,','
            sample1=sample2+1;
            sample3=strchr(sample1,','
            strncpy(GPRMC[i],sample1,sample3-sample1);
            }
            //.................................................. .
            //UTC Time................................
            //.................................................. .
            strncpy(str_sam1,GPRMC[0],2);
            UTC_hh=atoi(str_sam1);
            strncpy(str_sam1,GPRMC[0]+2,2);
            UTC_mm=atoi(str_sam1);
            strncpy(str_sam1,GPRMC[0]+4,2);
            UTC_ss=atoi(str_sam1);
            //Tehran time
            if((UTC_mm+30)>59)
            {
            UTC_mm=UTC_mm-30;
            UTC_hh=UTC_hh+3+1;
            }
            else
            {
            UTC_mm=UTC_mm+30;
            UTC_hh=UTC_hh+3;
            }
            lcd_gotoxy(2,0);
            sprintf(lcd_buffer,"%2d:%2d:%2d",UTC_hh, UTC_mm,UTC_ss);
            lcd_putsf(lcd_buffer);
            //...............
            //latitude_degree....
            //...................
            strncpy(str_sam2,GPRMC[2],2);
            lat_deg=atoi(str_sam2);
            lcd_gotoxy(3,0);
            sprintf(lcd_buffer,"lat_deg:%s%4d",GPRMC[3],lat_deg);
            lcd_putsf(lcd_buffer);
            //......................
            //longitude.............
            //......................
            strncpy(str_sam3,GPRMC[4],3);
            long_deg=atoi(str_sam3);
            lcd_gotoxy(4,0);
            sprintf(lcd_buffer,"long_deg:%s%5",GPRMC[5],long_deg);
            lcd_putsf(lcd_buffer);
            i=0;
            }
            }
            سلام به همگی اگه می شه کمکم کنین این برنامه روواسه GPSنوشتم اما یه مشکل داره

            دیدگاه


              #21
              پاسخ : پاسخ : نوشتن برنامه

              سلام
              استادحسگرخاصی رانگفت.فقط گفت معادله خط را بدست بیارید وبراساس اون بنویسید

              دیدگاه


                #22
                پاسخ : نوشتن برنامه

                بچه ها کسی جواب برا سوال من نداره؟ :angry:

                دیدگاه


                  #23
                  پاسخ : پاسخ : نوشتن برنامه

                  نوشته اصلی توسط fatemehalimoradi
                  سلام
                  استادحسگرخاصی رانگفت.فقط گفت معادله خط را بدست بیارید وبراساس اون بنویسید
                  فک کنم خودم دونقطه رو به دست اوردم کافی باشه تا سنسور خاصی نیست یه جورایی سنسور تخیلیه اما اگه رابطه ای براش بنویسید بهتر میشه
                  http://s6.uplod.ir/i/00674/9cm41hm4inx0.jpg

                  دیدگاه


                    #24
                    پاسخ : پاسخ : نوشتن برنامه

                    نوشته اصلی توسط ali pira
                    #include<mega32.h>
                    #asm
                    .equ__lcd_port=0x1B
                    #endasm
                    #include<lcd.h>
                    #include<stdio.h>
                    #include<stdlib.h>
                    #include<string.h>
                    #include<delay.h>
                    #define xtal 8000000
                    int i=0;
                    flash unsigned char lcd_buffer[100];
                    unsigned char sample1,sample2,sample3;
                    unsigned char str_sam1[20],str_sam2[20],str_sam3[20],ch=',';
                    unsigned char str_RMC[];
                    unsigned char GPRMC[13][20];
                    int lat_deg=0,long_deg=0,UTC_hh=0,UTC_mm=0,UTC_ss=0;
                    void Init(void)
                    {
                    UCSRA=0x00;
                    UCSRB=0x10;
                    UCSRC=0x86;
                    UBRRH=0x00;
                    UBRRL=0x33;
                    }
                    void main(void)
                    {
                    lcd_init(32);
                    lcd_clear();
                    lcd_gotoxy(0,1);
                    lcd_putsf("in the name of god"
                    delay_ms(2000);
                    lcd_clear();
                    while(1)
                    {
                    Init();
                    scanf("%s",str_RMC);
                    while(strncmp(str_RMC,"$GPRMC",6)!=0);
                    scanf("%s",str_RMC);
                    sample1=str_RMC;
                    for(i=0;i<13;i++)
                    {
                    sample2=strchr(sample1,','
                    sample1=sample2+1;
                    sample3=strchr(sample1,','
                    strncpy(GPRMC[i],sample1,sample3-sample1);
                    }
                    //.................................................. .
                    //UTC Time................................
                    //.................................................. .
                    strncpy(str_sam1,GPRMC[0],2);
                    UTC_hh=atoi(str_sam1);
                    strncpy(str_sam1,GPRMC[0]+2,2);
                    UTC_mm=atoi(str_sam1);
                    strncpy(str_sam1,GPRMC[0]+4,2);
                    UTC_ss=atoi(str_sam1);
                    //Tehran time
                    if((UTC_mm+30)>59)
                    {
                    UTC_mm=UTC_mm-30;
                    UTC_hh=UTC_hh+3+1;
                    }
                    else
                    {
                    UTC_mm=UTC_mm+30;
                    UTC_hh=UTC_hh+3;
                    }
                    lcd_gotoxy(2,0);
                    sprintf(lcd_buffer,"%2d:%2d:%2d",UTC_hh, UTC_mm,UTC_ss);
                    lcd_putsf(lcd_buffer);
                    //...............
                    //latitude_degree....
                    //...................
                    strncpy(str_sam2,GPRMC[2],2);
                    lat_deg=atoi(str_sam2);
                    lcd_gotoxy(3,0);
                    sprintf(lcd_buffer,"lat_deg:%s%4d",GPRMC[3],lat_deg);
                    lcd_putsf(lcd_buffer);
                    //......................
                    //longitude.............
                    //......................
                    strncpy(str_sam3,GPRMC[4],3);
                    long_deg=atoi(str_sam3);
                    lcd_gotoxy(4,0);
                    sprintf(lcd_buffer,"long_deg:%s%5",GPRMC[5],long_deg);
                    lcd_putsf(lcd_buffer);
                    i=0;
                    }
                    }
                    سلام به همگی اگه می شه کمکم کنین این برنامه روواسه GPSنوشتم اما یه مشکل داره
                    مگه سوالت چی بود؟ دوما برنامه رو بین کد قرار بده نه اینطوری پیست کن اونطوری بهتر میشه برای این کار بالا روی # بزن بعد برنامه رو پیست کن
                    http://s6.uplod.ir/i/00674/9cm41hm4inx0.jpg

                    دیدگاه


                      #25
                      پاسخ : پاسخ : نوشتن برنامه

                      نوشته اصلی توسط fatemehalimoradi
                      سلام
                      استادحسگرخاصی رانگفت.فقط گفت معادله خط را بدست بیارید وبراساس اون بنویسید
                      درود
                      اینقدر از این استادا بدم میاد که هیچی بارشون نیست میگن فقط حل کنید ... :angry: :angry: :angry: :angry:
                      استاد نگو بلا بگو تنبل تنبلا بگو ...

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

                      خوب
                      ابتدا باید بدانیم که ولتاژ ورودی چند ولت هست ... تا بقیه را محاسبه کنیم ...
                      برای محاسبه ولتاژ ورودی باید 5 ولت را تقسیم بر دقت ADC کرد ...
                      الان میکروکنترلر AVR هشت بیتی دقت ADC آن 10 بیت است که میشه 1024 پله ...(0 تا 1023)
                      5 ولت تقسیم بر 1024 میشه 0.0048828125 ولت ...
                      بنابراین هر یک عدد ADC برابر با 0.0048828125 ولت ...
                      حالا عدد وارد شده را از ADC میخوانیم و ضرب در 0.0048828125 میکنیم ...
                      داریم
                      0 تا 3 ولت که میشه 3 ولت و از طرفی 0 تا 500 گرم میشه 500گرم
                      3 تقسیم به 0.0048828125 ولت میشه 614 پله
                      500 گرم تقسیم به 614 پله تقریبا" میشه 0.814 گرم
                      پس هر پله از 614 پله قسمت اول خوانده شده از ADC برابر است با 0.814 گرم
                      5v - 3v = 2v و 3000g-500g=2500g
                      2 تقسیم به 0.0048828125 ولت میشه 409 پله
                      پس هر پله از 409 پله قسمت دوم خوانده شده از ADC برابر است با 6.11 گرم

                      توی برنامه نویسی مقدار خوانده شده ADC را باید شرط گذاشت
                      اگر کوچکتر از 615 بود آنگاه عدد خوانده شده را ضرب در 0.814 گرم کن و نتیجه رو توی خروجی بنویس
                      در غیر اینصورت (که حتما بزرگتر از 614 هست) عدد خوانده شده را ضرب در 6.11 گرم کن و نتیجه رو توی خروجی بنویس

                      به همین راحتی به همین خوشمزگی ...
                      امیدوارم که متوجه شده باشید
                      موفق باشید
                      [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
                      معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
                      معرفی نرم افزار Codewizard PWM
                      با من بیشتر آشنا شوید

                      دیدگاه


                        #26
                        پاسخ : نوشتن برنامه

                        کد:
                        #include<mega32.h>
                        #asm
                        .equ__lcd_port=0x1B
                        #endasm
                        #include<lcd.h>
                        #include<stdio.h>
                        #include<stdlib.h>
                        #include<string.h>
                        #include<delay.h>
                        #define xtal 8000000
                        int i=0;
                        flash unsigned char lcd_buffer[100];
                        unsigned char sample1,sample2,sample3;
                        unsigned char str_sam1[20],str_sam2[20],str_sam3[20],ch=',';
                        unsigned char str_RMC[];
                        unsigned char GPRMC[13][20];
                        int lat_deg=0,long_deg=0,UTC_hh=0,UTC_mm=0,UTC_ss=0;
                        void Init(void)
                        {
                        UCSRA=0x00;
                        UCSRB=0x10;
                        UCSRC=0x86;
                        UBRRH=0x00;
                        UBRRL=0x33;
                        }
                        void main(void)
                        {
                        lcd_init(32);
                        lcd_clear();
                        lcd_gotoxy(0,1);
                        lcd_putsf("in the name of god");
                        delay_ms(2000);
                        lcd_clear();
                        while(1)
                        {
                        Init();
                        scanf("%s",str_RMC);
                        while(strncmp(str_RMC,"$GPRMC",6)!=0);
                        scanf("%s",str_RMC);
                        sample1=str_RMC;
                        for(i=0;i<13;i++)
                        {
                        sample2=strchr(sample1,',');
                        sample1=sample2+1;
                        sample3=strchr(sample1,',');
                        strncpy(GPRMC[i],sample1,sample3-sample1);
                        }
                        //...................................................
                        //UTC Time................................
                        //...................................................
                        strncpy(str_sam1,GPRMC[0],2);
                        UTC_hh=atoi(str_sam1);
                        strncpy(str_sam1,GPRMC[0]+2,2);
                        UTC_mm=atoi(str_sam1);
                        strncpy(str_sam1,GPRMC[0]+4,2);
                        UTC_ss=atoi(str_sam1);
                        //Tehran time 
                        if((UTC_mm+30)>59)
                        {
                        UTC_mm=UTC_mm-30;
                        UTC_hh=UTC_hh+3+1;
                        }
                        else
                        {
                        UTC_mm=UTC_mm+30;
                        UTC_hh=UTC_hh+3;
                        }
                        lcd_gotoxy(2,0);
                        sprintf(lcd_buffer,"%2d:%2d:%2d",UTC_hh,UTC_mm,UTC_ss);
                        lcd_putsf(lcd_buffer);
                        //...............
                        //latitude_degree....
                        //...................
                        strncpy(str_sam2,GPRMC[2],2);
                        lat_deg=atoi(str_sam2);
                        lcd_gotoxy(3,0);
                        sprintf(lcd_buffer,"lat_deg:%s%4d",GPRMC[3],lat_deg);
                        lcd_putsf(lcd_buffer);
                        //......................
                        //longitude.............
                        //......................
                        strncpy(str_sam3,GPRMC[4],3);
                        long_deg=atoi(str_sam3);
                        lcd_gotoxy(4,0);
                        sprintf(lcd_buffer,"long_deg:%s%5",GPRMC[5],long_deg);
                        lcd_putsf(lcd_buffer);
                        i=0;
                        }
                        }

                        دیدگاه


                          #27
                          پاسخ : نوشتن برنامه

                          موقع کامپایل برنامه این error رو می ه
                          Error: C:\cvavr2\inc\stdio.h(25), included from: ali pira.c: functions with variable number of parameters not supported for chips with AVR8L core

                          دیدگاه


                            #28
                            پاسخ : پاسخ : نوشتن برنامه

                            بله این 1پروژه نیست فقط 1سواله
                            آدرس ایمیلتون را بدیدتا نمودارش را براتون بفرستم.
                            فقط اگه میشه کدهای برنامه را برام بنویسید.ممنون

                            دیدگاه


                              #29
                              پاسخ : پاسخ : نوشتن برنامه

                              نوشته اصلی توسط fatemehalimoradi
                              بله این 1پروژه نیست فقط 1سواله
                              آدرس ایمیلتون را بدیدتا نمودارش را براتون بفرستم.
                              فقط اگه میشه کدهای برنامه را برام بنویسید.ممنون
                              من الگوریتم و فرمول و همه چیز رو براتون گفتم ...
                              الآن دیگه فقط باید یه خورده همت کنید و تمومش کنید ...
                              قرار نیست که من همه کارها رو انجام بدم ... خودتون هم باید همت کنید ...

                              موفق باشید
                              [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
                              معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
                              معرفی نرم افزار Codewizard PWM
                              با من بیشتر آشنا شوید

                              دیدگاه


                                #30
                                پاسخ : نوشتن برنامه

                                :angry: j تو رور خدا یکی مشکل منم حل کنه

                                دیدگاه

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