اطلاعیه

Collapse
No announcement yet.

راه اندازی ماژول df player mini با بسکام و avr

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

    #76
    پاسخ : راه اندازی ماژول df player mini با بسکام و avr

    سلام من این ماژول رو بدون استفاده از میکروکنترلر بستم و اسم فولدر آهنگ رو هم گذاشتم 01 و دوتا ترک به نام های 001 و 002 هم داخل فولدر و همه رو ریختم داخل یک رم 2 گیگ . و طبق روشی که در اولین پست گفتیدانجام دادم اما هیچ ترکی از بلندگو پخش نشد !! اصلا صدایی از بلندگو نمیاد فقط وقتی پایه 12 را لحظه ای به gnd وصل میکنم led روی ماژول دائم قرمز روشن میشه ، مشکل کجاست ؟
    خدایا یکی بزرگترین آرزویهایم در این دنیا این است که همه مردم حالشان خوب باشد و احساس خوشبختی داشته باشند....

    دیدگاه


      #77
      پاسخ : راه اندازی ماژول df player mini با بسکام و avr

      نوشته اصلی توسط 1397 نمایش پست ها
      ابتدا برای راه اندازیش ، با یک ماژول usb به TTL ،ماژول DFplayer به کامپیوتر متصل کنید .
      اگه میخواید راحت راش بندازید از ترمینال کدویژن استفاده کنید البته نرم افزار های دیگه هم هست ولی من با ترمینال کدویژن راحت تر هستم ، چون قسمت ارسال هگز راحت تره ، و از همه مهم تر اینه که مقادیر باید هگز باشه یعنی اگه شما به صورت معمولی توی قسمت سریال به عنوان مثال (7E) بفرستید در واقع داردی به ازای عدد (7) مقدار 0x37 و به ازی (E) مقدار 0x65 را برای ماژول ارسال می کنید، که این اصلا درست نیست .
      اگه ارتباط ماژول و کامپیوتر درست باشه و بادریت هم روی 9600 باشه ، بعد اتصال پاور به ماژول DFplayer یک سری مقادیر چرت و پرت براتون ارسال میکنه ، این نشون میده که ماژول سالمه ولی داره برای شما هگز ارسال میکنه ، اگه گزینه هگز رو فعال کنید مقادیر (7E FF 06 3F 00 00 00 FE BC EF ) برای شما ارسال میکنه.
      حالا برای اینکه بهش بگید آهنگ 1 رو پخش کن باید دستور 7E FF 06 03 00 00 01 EF برای ماژول ارسال کنید ، برای این کار در نرم افزار کدویژن دربالای سر برگ ترمینال نوشتهHex Code شما در این قسمت مقدار 7E را وارد کرده و بعد گزینه SEND میزنید و بعد مقدار FF و بعد مقدار 06 تا آخر بعد از این که مقدار EF رو ارسال کردید آهنگ شروع به پخش میشه ، اینم بگم که حتما یک مقاومت حدود 470 اهم با بلندگو سری کنید وگرنه ماژول ریست میشه.
      برای راه اندازیش با میکرو من از زبان C استفاده کردم .
      قبل از قسمت (void main(void دستور ;{int buffer_data[10] = {0x7E , 0xFF , 0x06 , 0x03 , 0x00 , 0x00 , 0x04 , 0xEF وارد کردم حالا هربار که بخوام آهنگ 02 رو پخش کنم با استفاده از دستور
      buffer_data[6] = 0X02 خونه 6 رو تغقیر میدم. یا اهنگ سوم buffer_data[6] = 0X03 رو وارد میکنم ، حالا برای اینکه مقدار بافر دیتارو با سریال ارسال کنم باید هر کدوم رو تک تک بفرستید ، پس یعنی از یک حلقه for استفاده کنید.
      (++for(n=0;n<7;n
      {
      ;([putchar(buffer_data[n
      ;( delay_ms(10
      }
      فقط یادم نمیاد n<9 بود یا n<7
      در واقع با استفاده از دستور for مقادیر 7E تا EF برای ماژول ارسال میکنیم .
      راستی من از کریستال داخلی استفاده میکنم و به چکسام هم نیازی نداره.

      دلیل: ادغام دو پست برای جلوگیری از اسپم

      اینم از کد برنامه زبان C
      البته این مال خیلی وقت پیشه

      Chip type : ATmega16A
      Program type : Application
      AVR Core Clock frequency: 8.000000 MHz
      Memory model : Small
      External RAM size : 0
      Data Stack size : 256
      ************************************************** *****/




      #include <mega16a.h>
      #include <delay.h>
      #include <stdlib.h>
      #include <string.h>
      #include <stdio.h>

      int buffer_data[10] = {0x7E , 0xFF , 0x06 , 0x03 , 0x00 , 0x00 , 0x04 , 0xEF};
      void main(void)
      {
      int n=0;
      DDRB=0x00;
      PORTB=0xff;
      // USART initialization
      // Communication Parameters: 8 Data, 1 Stop, No Parity
      // USART Receiver: On
      // USART Transmitter: On
      // USART Mode: Asynchronous
      // USART Baud Rate: 9600
      UCSRA=0x00;
      UCSRB=0x98;
      UCSRC=0x86;
      UBRRH=0x00;
      UBRRL=0x33;

      #asm("sei")


      while (1)
      {
      if(PINB.3==0)
      {
      for(n=0;n<9;n++)
      {
      putchar(buffer_data[n]);
      delay_ms(10);


      }
      n=0;
      while (PINB.3==0);
      }


      if(PINB.2==0)
      {
      buffer_data[6] = 0x03;
      }
      if(PINB.4==0)
      {
      buffer_data[6] = 0x04;
      }
      }

      }
      با زدن کلید متصل به پورت B.2 آهنگ شماره 03 وارد بافر دیتا میشه و بعد با زدن کلید روی پورت B.3 مقادیر برای ماژول ارسال میشه و اهنگ پخش میشه.
      و همین طور با زدن کلید متصل به پورت4B.2 آهنگ شماره04 وارد بافر دیتا میشه و بعد با زدن کلید روی پورت B.3 مقادیر برای ماژول ارسال میشه و اهنگ شماره 4 پخش میشه.
      کل مراحل به همین روشه و برای کارای مثل توقف و پخش مجدد و ....... باید مقدار سوم بافر دیتا متناسب با دستور تعقیر، من چون می خواستم آهنگ مورد نظر پخش کنم از 03
      استفاده کردم.

      خدا پدر و مادرت را بیامرزه درست شددددددد

      دیدگاه

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