اطلاعیه

Collapse
No announcement yet.

آموزش صفر تا 100 dspic با پروگرامر kit3

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

    #16
    پاسخ : آموزش صفر تا 100 dspic با پروگرامر kit3

    سلام دوستان لطفا پروژه های پردازش تصویر و صدا انجام بدید؟
    راه اندازی این پروژه های نام برده شده بسیار اسنان است و در help نرم افزار نیز موجود می باشد
    با سپاس

    دیدگاه


      #17
      پاسخ : آموزش صفر تا 100 dspic با پروگرامر kit3

      نوشته اصلی توسط ariane
      صد درصد موافقم ، این چیزایی که گذاشتن بچه بازیه یا سر کاری
      لطفا برید سر اصل مطلب ، این پروژه ها رو با سری 12f هم میشه انجام داد
      دوست عزیز میدونیم که شما خیلی اوستایی و بلدین .اما بهتره اجازه بدین تا استاد واسه ما تازه کارا هم توضیح بدن تا شاید مثل شما یه چیزی یاد گرفتیم.
      اسم این تاپیک هم 0 تا 100 میکرو dspic هستش .نه 90 تا 100.
      استاد دمت گرم بابت توضیحات خوبتون .ممنون میشم زودتر ادامه بدین

      دیدگاه


        #18
        پاسخ : آموزش صفر تا 100 dspic با پروگرامر kit3

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

        دیدگاه


          #19
          پاسخ : آموزش صفر تا 100 dspic با پروگرامر kit3

          نوشته اصلی توسط majidrt27
          .... من یه لیستی نوشتم و در تاپیک هم موجوده. طبق اون پیش میریم. در رابطه با پردازش تصویر اگه حوصله. کنید .....
          با سلام و خدا قوت...
          چند وقت پیش که داشتم با مدیر ارزشمند و دلسوز گروه جناب آقای مهندس مستقیمی در باره یک موضوعی صحبت می کردم ایشان گفتند که بعضی کارها ارزشمند و قابل تعریف شروع می شود اما اینقدر شاخه به شاخه سوال تو سوال پیش می آید که نگارنده از ادامه بحث منصرف می شود.

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

          البته نمونه ای هم هست که شروعی بسیار قوی و همین طوری خوب داشته اما بسیار متاسفانه به آخر نرسیده....

          من برای مجید آقای عزیز آرزوی موفقیت دارم ... اما ایشان باید خودشان در نهایت این گفتگو را مدیریت کنند و به تله ای که به ان اشاره کردم نیفتند.

          یک ده آباد بهتر از صد شهر خرابه است.

          امیر مُلک کلام ، حضرت علی علیه السلام می فرمایند : هر کس به من کلمه ای بیاموزد مرا بنده خویش قرار داده است.

          با احترامی بی پایان و با آرزوی اینکه
          همگی موفق باشیم

          با قدرت ادامه بدهید دوست عزیز
          والسلام علی من اتبع الهدی .... و درود بر کسانی که راه هدایت را دنبال می کنند.

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

          دیدگاه


            #20
            پاسخ : آموزش صفر تا 100 dspic با پروگرامر kit3

            با عرض سلام خدمت دوستای گلم. اساتید گرامی .فقط قبل از اینکه بحث رو شروع کنم یه مطلب اینکه دوستی لطف کرده بود و منو با عنوان استاد خطاب کردن. تشکر از این رفیق گلم ولی من استاد نیستم و افتخار می کنم که شاگردی اساتید بزرگی و کردم.

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

            امکانات بورد

            ال سی دی 4*20
            sim900
            ssr
            adc/ یا پردازش سیگنال

            rs485

            butten

            sht11

            و ...

            فایل 6014 تقریبا مستر حساب میشه و فایل 4013 اسلیو

            یه هفته صبر می کنم که هر دوستی تمایل داشت این برد رو بسازه و اگه سوالی بود جواب بدم در رابطه با ساخت (هر چند چشمم آب نمی خوره که کسی بسازه)

            خودم 2 تا از این بورد را ساختم و همه ی قسمت هاشو راه انداختم بعد این رو قرار دارم تا مطمئن باشید بعد از ساخت مشکلی پیش نمیاد.

            (آقا مجید با اجازه تون دارم ویرایش میکنم. :redface: دوستان فایل های PCB مربوطه به این پست ضمیمه شد.به همراه اون PCBها، یه PCB فسقلی هم همین الان کشیدم گذاشتم کنار این فایلها که برای تبدیل سوکت پروگرمر استفاده بکنین در صورت نیاز.موفق باشیم! - شاهرخ مستقیمی)



            فایل های پیوست شده
            به امید ظهور مولامون که صد البته نزدیک است

            دیدگاه


              #21
              پاسخ : آموزش صفر تا 100 dspic با پروگرامر kit3

              دوست عزیز آقا مجید سلام و واقعا خسته نباشید امیدوارم که تو زندگی همیشه موفق باشی
              از زحماتی که کشیدید خیلی ممنونم و بدونید که تمام انجمن pic تجربه ی خیلی زیادی از این
              کار شما بدست میارند.

              آقا مجید من هم تجربه ای خیلی کمی توی پردازش سیگنال داشتم ولی به خطر مشغله زیادی که دارم
              نتونستم زیاد روش وقت بزارم اما واقعا بهش علاقه دارم یه برنامه توی مثال های mikroc وجود دار ه که من تغییراتی توش دادم
              و برای میکرو 33fj128gp804 تبدیلش کردم.

              جواب خیلی خوبی هم از گرفتم (از سیگنال ورودی fft میگیره وروی glcd نمایش میده) البته بعضی از قسمتهای
              برنامه رو متوجه نشدم .
              گفتم اگه شما تایید کنید یا باعث انحراف تاپیک نمیشه برنامه رو بزارم.

              بازهم ازتون ممنونم و امیدوارم که تاپیک رو تاآخرش هدایت کنید.
              در زندگیت به کسی اعتــــماد کن که به او ایمــــان داری نه احســاس . . .

              چه بسیار انسان ها دیدم تنشان لباس نبود؛و چه بسیار لباس ها دیدم که انسانی درونش نبود ...!

              دیدگاه


                #22
                پاسخ : آموزش صفر تا 100 dspic با پروگرامر kit3

                با تشکر از آقا مجید.
                این میکرو یه جورایی میشه گفت عالی ساده هست. من دستگاهی ساختم باهاش که از بیله سوار تا جیرفت و از تایباد تا سرو تو جاده ها نصب شده.
                سرما و گرما کار می کنه. می تونم اگه کسی سوالی راجع بهش داشت جواب بدم.
                و اما ضعفها:
                مصرف توان بالا، چون عموما برای کارهای قدرتی ساخته شدن و قرار نیست Low Power باشند.
                حساسیت خیلی زیاد EEPROM داخلی به ولتاژ، که البته با BOR 4.2 به بالا حل میشه (به شرطی که تغذیه کاملا اوکی باشه).
                و بزرگترین مشکل در راه صنعتی شدن بد قلقیشه.
                یه نکته ای هست که کمتر بهش توجه شده و اون داکیومنت های Silicon Errata هست. مشکلاتی که ممکنه تحت شرایط خاصی برای بعضی ورژنهای سیلیکون استفاده شده در آی سی به وجود بیاد به همراه راه حل های احتمالی اومده.
                یکی از مهمترین هاش اینه که بعضی بوقت ها ممکنه تو EEPROM بیت اول داده هایی که در خانه های منتهی به 2.6.A.E یک بشه!!!
                یکی از شلوغترین Errataهایی که دیدم برای این نوع (dspic30f) هست.

                دیدگاه


                  #23
                  پاسخ : آموزش صفر تا 100 dspic با پروگرامر kit3

                  نوشته اصلی توسط jalilvand
                  ...
                  و اما ضعفها:
                  مصرف توان بالا، چون عموما برای کارهای قدرتی ساخته شدن و قرار نیست Low Power باشند.
                  حساسیت خیلی زیاد ...
                  سلام آقای جلیلوند

                  فکر می کنم که مجید آقا حسابی سرش شلوغه .... حالا تا فرصتی پیش بیاد که ایشان مطلب را ادامه بدهند . میشه از شما خواهش کنم که در خصوص مواردی که اشاره کرده اید بیشتر توضیح بدهید . مخصوصا Errata.....

                  متشکرم
                  والسلام علی من اتبع الهدی .... و درود بر کسانی که راه هدایت را دنبال می کنند.

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

                  دیدگاه


                    #24
                    پاسخ : آموزش صفر تا 100 dspic با پروگرامر kit3

                    یا الله!
                    اجازه هست ماهم بیایم تو؟
                    من با MPLAB کار میکنم.
                    و میخام موتور DSP کنترلر رو روشن کنم. :mrgreen: :mrgreen: :mrgreen:
                    کسی نمیدونه کلید استارتش کجاس؟؟؟!!!
                    میخوام فیلتر پیاده کنم.

                    دیدگاه


                      #25
                      پاسخ : آموزش صفر تا 100 dspic با پروگرامر kit3

                      سلام آقا مجید
                      خوبی؟
                      خسته نباشی. خیلی ممنون که مطالب آموزنده میزاری و واقعا زحمت میکشی که دیگران چیز یاد بگیرن.
                      من با dspic کار میکنم و یک پروژه دارم که توش یه tft4.3 , وتاچ مقاومتی داره و آی سی درایور ssd1963 ,xpt2046 رو به صورت آماده خریدم و کار رو شروع کردم الان به صورت 16 بیتی رویtft اطلاعات رو میریزم و کار میکنه ولی هنوز نتونستم تاچش رو راه بندازم مشکلم اینه که اصلا هر کاری میکنم نمیتونم با xpt2046 که به صورت spi هستش ارتباط برقرار کنم اگر میشه یه لطفی بکنی وکمکم کنی ممنون میشم.
                      من برنامم رو میزارم اگر بتونی نگاش بکنی ممنون میشم. درضمن من باmicroc کار میکنم
                      من شمارم رو هم میزارم 09126759605 محمدرضا هستم کوچیک شما.
                      اینم متن برنامم

                      [code=c]
                      #include "test_barname_objects.h"
                      //#include "SPI_TP.h"
                      #include "built_in.h"


                      char TFT_DataPort at LATD;
                      sbit TFT_RST at LATG12_bit;
                      sbit TFT_RS at LATD8_bit;
                      sbit TFT_CS at LATD9_bit;
                      sbit TFT_RD at LATD10_bit;
                      sbit TFT_WR at LATD11_bit;
                      sbit TFT_BLED_Select at LATG3_bit;
                      char TFT_DataPort_Direction at TRISD;
                      sbit TFT_RST_Direction at TRISG12_bit;
                      sbit TFT_RS_Direction at TRISD8_bit;
                      sbit TFT_CS_Direction at TRISD9_bit;
                      sbit TFT_RD_Direction at TRISD10_bit;
                      sbit TFT_WR_Direction at TRISD11_bit;
                      sbit TFT_BLED_Select_Direction at TRISG3_bit;
                      sbit T_CLK at LATF6_bit;
                      sbit T_CS at LATF4_bit;
                      sbit T_SDI at LATF2_bit; //MOSI
                      sbit T_SDO at LATF3_bit; //MISO
                      sbit T_Penirq at LATG14_bit;

                      sbit T_CLK_Direction at TRISF6_bit;
                      sbit T_CS_Direction at TRISF4_bit;
                      sbit T_SDI_Direction at TRISF2_bit;
                      sbit T_SDO_Direction at TRISF3_bit;
                      sbit T_Penirq_Direction at TRISG14_bit;

                      void Set_Index(unsigned short index) {
                      TFT_RS = 0;
                      Lo(LATD) = index;
                      TFT_WR = 0;
                      TFT_WR = 1;
                      }

                      void Write_Command(unsigned short cmd) {
                      TFT_RS = 1;
                      Lo(LATD) = cmd;
                      TFT_WR = 0;
                      TFT_WR = 1;
                      }

                      void Write_Data(unsigned int _data) {
                      TFT_RS = 1;
                      Lo(LATB) = Hi(_data);
                      Lo(LATD) = Lo(_data);
                      TFT_WR = 0;
                      TFT_WR = 1;
                      }
                      unsigned char txtX[7];
                      unsigned char txtY[7];
                      int j = -4220;
                      char txt[7];
                      char xposser[8];
                      char yposser[8];
                      unsigned int buffery ;
                      unsigned int bufferx ;
                      unsigned int lsb, msb;
                      unsigned int eredmeny;
                      unsigned int pwm_period1;
                      unsigned int i;
                      unsigned int q;
                      unsigned int T_x,T_y;
                      unsigned int TP_x = 479, TP_y = 271;
                      void touch_Init()
                      {
                      T_CS = 1;
                      T_CLK = 1;
                      T_SDI = 1;
                      T_SDO = 1;
                      T_Penirq=1;
                      SPI1_Init();
                      SPI_Set_Active(SPI1_Read, SPI1_Write); // Sets the SPI1 module active

                      SPI1_Init_Advanced(_SPI_MASTER, _SPI_16_BIT, 0,0, _SPI_SS_DISABLE, _SPI_DATA_SAMPLE_END, _SPI_CLK_IDLE_HIGH, _SPI_ACTIVE_2_IDLE);
                      Delay_Ms(10);
                      TFT_Write_Text("Touch ready...", 5, 20);
                      }
                      void WriteCharTo7843(unsigned char num)
                      {
                      unsigned char count=0;
                      T_CLK = 0;
                      T_CS = 0;
                      for(count=0;count<16;count++)
                      {
                      if (num&0x80)
                      {T_SDI = 1;}
                      else
                      {T_SDI = 0;}
                      num = num<<1;
                      T_CLK = 0;
                      T_CLK = 1;
                      }
                      T_CS = 1;
                      }unsigned int ReadFromCharFrom7843()
                      {

                      unsigned char count=0;
                      unsigned int num=0;
                      T_CS = 0;
                      Delay_us(2);
                      for(count=0;count<16;count++)
                      {
                      num = num<<1;
                      T_CLK = 1;
                      Delay_us(2);
                      T_CLK = 0;
                      Delay_us(2);
                      if(T_SDO == 1) num++;
                      } T_CS = 1;
                      Delay_us(2);
                      return(num);

                      }
                      //************************************************** ***********************
                      //************************************************** ***********************
                      //************************************************** ***********************
                      //************************************************** ***********************
                      void touch_GetAdXY()
                      { TFT_Write_Text("D-Amp TFT Calibration", 70, 5);
                      T_CS = 0;asm nop; asm nop; asm nop;
                      WriteCharTo7843(0x90);
                      T_CLK = 1;asm nop; asm nop; asm nop;
                      Delay_us(2);
                      T_CLK = 0;asm nop; asm nop; asm nop;


                      TP_Y=ReadFromCharFrom7843();
                      //TP_y=SPI1_Read(buffery);
                      TFT_Write_Text(TP_y,100,40);
                      Delay_us(2);
                      WriteCharTo7843(0xD0);
                      T_CLK = 1;asm nop; asm nop; asm nop;
                      T_CLK = 0;asm nop; asm nop; asm nop;
                      T_x=ReadFromCharFrom7843();
                      IntToStr(T_x,txtX);
                      SPI1_Read(bufferx);
                      TP_x=atoi(bufferx);
                      TFT_Write_Text(txtX,100,60);
                      T_CS = 1;asm nop; asm nop; asm nop;
                      TP_x = abs(abs(T_x>>4)-479); //abs(T_x>>4); to reverse x position!
                      if (TP_x==479) TP_x=0;
                      TP_y = (((abs((T_y>>4)-479))*10)/7); //~
                      }
                      void Drow_Touch_Point(unsigned int x,unsigned int y)
                      {
                      TFT_Set_Pen(CL_Black, 1);
                      TFT_Line(x-4,y,x+5,y);
                      TFT_Line(x,y-4,x,y+5);
                      TFT_Dot(x+1,y+1,CL_BLACK);
                      TFT_Dot(x-1,y+1,CL_BLACK);
                      TFT_Dot(x+1,y-1,CL_BLACK);
                      TFT_Dot(x-1,y-1,CL_BLACK);
                      TFT_Set_Font(&TFT_defaultFont, CL_RED, FO_HORIZONTAL);
                      TFT_Write_Text("D-Amp TFT Calibration", 70, 5);
                      TFT_Set_Pen(CL_Black, 1);
                      TFT_Circle(x,y,3);
                      }


                      void position_T()
                      {

                      unsigned int lx = 0;
                      unsigned int ly = 30;
                      unsigned char ss[6];


                      TFT_Fill_Screen(CL_BLUE);


                      while(1){

                      touch_GetAdXY();


                      IntToStr(TP_x,ss);
                      TFT_Set_Font(&TFT_defaultFont, CL_RED, FO_HORIZONTAL);
                      TFT_Write_Text("PosX1:",lx,ly);
                      TFT_Set_Font(&TFT_defaultFont, CL_RED, FO_HORIZONTAL);
                      TFT_Write_Text(ss,lx+60,ly);

                      inttostr(TP_y,ss);
                      TFT_Set_Font(&TFT_defaultFont, CL_RED, FO_HORIZONTAL);
                      TFT_Write_Text("PosY1:",lx,ly+20);
                      TFT_Set_Font(&TFT_defaultFont, CL_RED, FO_HORIZONTAL);
                      TFT_Write_Text(ss,lx+60,ly+20);

                      // if (T_Penirq == 0){

                      Drow_Touch_Point(TP_y-10,TP_x-10);
                      delay_ms(50);
                      }

                      // }

                      }


                      void Start_TP() {
                      ADPCFG = 0xFFFF;
                      TRISB = 0;
                      TRISD = 0;
                      TRISF = 0;
                      TRISG = 1;
                      TFT_Set_Active(Set_Index,Write_Command,Write_Data) ;
                      TFT_Init(480, 272);
                      TFT_Init_SSD1963(480, 272);

                      //TFT_Fill_Screen(CL_BLUE);

                      TFT_Fill_Screen(CL_WHITE);
                      TFT_Set_Font(TFT_defaultFont, CL_RED , FO_HORIZONTAL);
                      TFT_Write_Text("THIS IS RED", 5, 80);
                      TFT_Set_Font(TFT_defaultFont, CL_GREEN , FO_HORIZONTAL);
                      TFT_Write_Text("THIS IS GREEN", 5, 100);
                      TFT_Set_Font(TFT_defaultFont, CL_AQUA , FO_HORIZONTAL);
                      TFT_Write_Text("THIS IS BLUE(AQUA)", 5, 120);
                      Delay_Ms(1000);
                      TFT_Fill_Screen(CL_WHITE);
                      TFT_Set_Font(TFT_defaultFont, CL_BLACK , FO_HORIZONTAL);
                      TFT_Write_Text("Screen ready...", 5, 0);
                      TFT_Write_Text("Y coordinates: ", 5, 40);
                      TFT_Write_Text("X coordinates: ", 5, 60);
                      touch_Init();
                      while(1)
                      {
                      position_T();
                      touch_GetAdXY();

                      }

                      }
                      [/code]

                      دیدگاه


                        #26
                        پاسخ : آموزش صفر تا 100 dspic با پروگرامر kit3

                        با سلام نیاز به کسی دارم که تغییراتی در برنامه نوشته شده به زبان c با میکروی dspic30f3010 نوشته شده ایجاد کند لطفا پیام خصوصی بدهید .لطفا

                        دیدگاه


                          #27
                          پاسخ : آموزش صفر تا 100 dspic با پروگرامر kit3

                          کسی نبود ،؟

                          دیدگاه


                            #28
                            پاسخ : آموزش صفر تا 100 dspic با پروگرامر kit3

                            با سلام خدمت استاد گرامی ( آقا مجید عزیز ) قبل از هرچیز باید از آموزش بسیار خوبی که روی سایت قرار دادید تشکر کنم بنده با dspic کار نکردم و فقط با pic کار کردم اون هم با زبان بیسیک و زبان C رو بلد نیستم ولی با توضیحات بسیار خوبی که گذاشتید دارم با نحوه برنامه نویسی به زبان C آشنا میشم خواهشا این تاپیک رو ادامه بدید ، در مورد عکس مداری که گذاشتید هم میخواهم اگر ممکنه شماتیکش رو بزارید تا من هم بتونم بسازم و قدم به قدم با شما جلو بیام ممنون از لطف شما

                            دیدگاه

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