امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
wave player با اتمگا 16
#1
با سلام
من مي خوام يك wave player با اتمگا 16 درست كنم از افرادي كه تا به حال ويو پلير ساختن يا برنامه اي دارن كه جواب داده مي خوام بهم كمك كنن ‌يا اينكه برنامشو بزارن
با تشكر
پاسخ
#2
كسي نيست جواب بده
پاسخ
#3
با سلام
دوست من اگر یه جستجوی کوچیک توی پروژه های تکمیل شده بندازی حتما پیدا میکنید
در ضمن هدف انجمن همکاری در پروژه و استفاده از تجربه های همدیگه هست نه اینکه یه دستور برای یه کار خاص

ولی برای اینکه یه کاری هم اینجا کرده باشیم یه توضیحات کوچیک در مورد فرمت WAV میدم امید وارم کافی باشه

کیفیت یه فایل WAV بیش از 100 برابر یه فایل MP3 هست!!! البته نه اینکه وردارید فایلهای MP3 تونو تبدیل کنید به WAV ها تعداد زیادی از اطلاعات یه فایل WAV زمانی که به MP3 تبدیل میشه به کل ازبین میره و غیر قابل بازگشت هست

در این پروژه اول باید فرمت WAV رو بشناسید
برای این هم ابتدا در این مورد یه توضیحات کلی میدم
نکته های مهم اول اینکه این فرمت رو ماکروسافت نوشته که این هم لینکشه

ولی یه توضیحاتی هم خودم میدم هر فایلی در ابتدا یا انتهای خودش یه هدر یا اطلاعاتی داره که مشخصاتش رو نشون میده و این هدر یا فایل WAV هست




و این هم توضیحات دقیقترش




اگر اطلاعات بیشتری در این خصوص خواستید بگید
اگر مطلبی مفید بود سپــــاس واگر مفیدتر بود دادن اعتبار را فراموش نکنید dont
به پيغام خصوصي ها فقط در صورت واقعا خصوصي بودن پاسخ داده خواهد شد Confused

پاسخ
 سپاس شده توسط d2006h ، ehsancompany ، moein masoumi ، mo2_star
#4
چند تا برنامه از اينترنت پيدا كدم و بستم و فايلهاي صوتي رو هم به فرمت ويو تبديل كردم و در مموري 2 گيگابايتي ريختم ولي جواب نداده بعضي وقتها يه بوق ممتد ميزنه
به نظر شما اشكال از چي مي تونه باشه
اينم برنامش
$regfile = "m16def.dat"
$crystal = 12000000 '



Config Pinc.4 = Input
Pause Alias Pinc.4
'-------------------------------
Config Pinc.5 = Input
Kelid Alias Pinc.5
'--------------------------------
Config Pinc.6 = Input
Kelid2 Alias Pinc.6
'-------------------------------
Config Pinb.4 = Output


Config Pind.3 = Output
Set Portd.3
'---------------------------------
Config Debounce = 20
'-------------------------------------
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Down , Prescale = 1
Pwm1a = 255
Pwm1b = 255
'Constants
'warter are FAM & Behnam


Const Msbl = 0
Const Msbh = 1
Const Dly = 2
Const Bits8 = 8
Const Bits16 = 16
Const Bits32 = 32

'Dim
Dim Dat As Byte
Dim Resp As Byte
Dim I As Word
Dim Addr As Long
Dim Adres As Long
Dim Tanzim As Byte
Dim Ali As Byte
Dim Test As Long
Dim Copy As Long
Dim Shomare As Long
Dim Hassan As Byte
'Aliases
Cs Alias Portb.0
Mosi Alias Portb.1
Clk Alias Portb.3
Miso Alias Pinb.2

'Declarations
Declare Sub Minit
Declare Sub Mread(byval Addr As Long )
'Configs
Config Portb.2 = Output
Config Portb.0 = Output
Config Portb.3 = Output
Config Pinb.1 = Input


Waitms 300
Config Spi = Soft , Din = Pinb.2 , Dout = Portb.1 , Ss = Portb.0 , Clock = Portb.3

Enable Interrupts
Enable Spi

Spiinit

'******** MAIN PROGRAM *************

Reset Portd.3
Main:
'Initialize the MMCC
Minit
Adres = 1048576
Ali = 0
Reset Portd.3

Inja:
Toggle Portb.4
Mread Adres

Debounce Pause , 1 , Stop_play , Sub
Debounce Kelid2 , 1 , Jolo2 , Sub
Debounce Kelid , 1 , Jolo , Sub

Adres = Adres + 512

'baraye in ke ta dastgah roshan shod peygham 1 ra ped konad
'-----------------------------------------------------------------
If Ali = 0 Then
Adres = Adres + 5120000
Test = 512 * 7800
'Test = 512 * 8000
Adres = Adres - Test
Ali = 1

Test = Adres
End If
'-------------------------------------------------------------------
Goto Inja

Xloop:
Set Cs
Shiftout Mosi , Clk , Dat , Msbl
Endloop:
Goto Endloop
End 'end program
'***************************** END OF PROGRAM **********************************
'======= SUB ROUTINES AND FUNCTIONS =======
'warter are FAM & Behnam
'*** INITIALIZATION OF MMC ***
Sub Minit
Set Cs

Dat = &HFF
For I = 1 To 10
Shiftout Mosi , Clk , Dat , Msbl
Next I

Resp = 255
Reset Cs

Cmd0:
Dat = &H40
Shiftout Mosi , Clk , Dat , Msbl

Addr = &H00000000
Shiftout Mosi , Clk , Addr , Msbl

Dat = &H95
Shiftout Mosi , Clk , Dat , Msbl

While Resp <> &H01
Shiftin Miso , Clk , Resp , Msbl
Wend

Set Cs
Waitms 50
Reset Cs
Dat = &HFF

Cmd1:
While Resp <> &H00
'warter are FAM & Behnam
Set Cs
Shiftout Mosi , Clk , Dat , Msbl
Shiftin Miso , Clk , Resp , Msbl
Reset Cs
Dat = &H41
Shiftout Mosi , Clk , Dat , Msbl
Addr = 0
Shiftout Mosi , Clk , Addr , Msbl
Dat = &HFF
Shiftout Mosi , Clk , Dat , Msbl
Shiftout Mosi , Clk , Dat , Msbl
Shiftin Miso , Clk , Resp , Msbl
Wend

Dat = &HFF
Set Cs
End Sub




'warter are FAM & Behnam
'**** READ routine assumes ADDR uses Status subroutine *****
Sub Mread(byval Addr As Long)
Set Cs
Dat = &HFF
Shiftout Mosi , Clk , Dat , Msbl
Shiftin Miso , Clk , Resp , Msbl
Reset Cs

Dat = &H51
Shiftout Mosi , Clk , Dat , Msbl
Shiftout Mosi , Clk , Addr , Msbl

Dat = &HFF
Shiftout Mosi , Clk , Dat , Msbl
Shiftin Miso , Clk , Resp , Msbl


While Resp <> 0
Shiftin Miso , Clk , Resp , Msbl
Wend

While Resp <> &HFE
Shiftin Miso , Clk , Resp , Msbl
Wend

For I = 1 To 512
Shiftin Miso , Clk , Resp , Msbl

Pwm1a = Resp
Pwm1b = Resp
Waitus 29
'Waitus 3 'ÓÑÚÊ
Next I

Shiftin Miso , Clk , Resp , Msbl
Shiftin Miso , Clk , Resp , Msbl
Set Cs
'warter are FAM & Behnam
End Sub








Jolo:
Adres = Adres + 153600

For Shomare = 1 To 500
If Kelid = 0 Then Return
Waitms 1
Next

Adres = Adres + 972800


Return





Jolo2:
Adres = Adres - 153600

For Shomare = 1 To 500
If Kelid2 = 0 Then Return
Waitms 1
Next


Adres = Adres - 972800

If Adres < Test Then Adres = Test
Return



Stop_play:
Set Portd.3
Pwm1a = 255
Pwm1b = 255
Copy = Adres
Do
Debounce Pause , 1 , Play
Loop
Play:
Reset Portd.3
Adres = Copy
Return
مي تونه مشكل از مموري باشه چون برنامه به مموري يك گيگ نوشته شده
لطفا كمكم كنيد اين پروژه رو نياز دارم
پاسخ
 سپاس شده توسط d2006h
#5
با سلام
دوست من منظور من از جستجو جستجو در اینترنت نبود در سایت خودمون بخش پروژه های AVR بود
ولی برای اینکه راحتتر باشید همین جا دو نمونه WAV پلیر رو براتون اپلود کردم

اولی همون 8 بیت ورودیه که فایل متناظرشو پخش میکنه فایل ها حتما باید در روت اصلی مموری باشند
و دومی یه wav پلیر واقعیه با سه تا کلید
1 - PINA.7 کلید PLAY / PAUSE ,
2 - PINA.6 کلید NEXT ,
3 - PINA.5 کلید PREV هست
و همه فایلهای WAV رو در هرجای مموری و در هر پوشه ای که باشه به ترتیب پخش خواهد کرد
بهتره برای سهولت کار یه همچین چیزی با یه خشاب میکرو SD بسازید




در ضمن DI همون MOSI و DO همون MISO هست
ببینید دوستان این MISO که بعضی ها بهش میگن میزو یا به MOSI میگن موزی که کاملا اشتباه هست
این M اولی یعنی Master
I یعنی Input
S یعنی Slave
O یعنی Output
MISO یعنی پایه ای که در میکروی Master ورودی و در میکروی Slave خروجی میباشد
و MOSI یعنی پایه ای که در میکروی Masterخروجی و در میکروی Slave ورودی میباشد
پین SCK هم کلاک بوده که برای سنکرون کردن دیتا به کار میره
پین CS هم همون مخفف chip select هست که برای انتخاب یه دیوایس یا IC به کار میره

ولی در مورد سمپلریت باید بگم در این wav player در صورتی که امکان پخش فایل wav نباشه اصلا پخش نخواهد شد
و بهترین کیفیت رو میتونید در 8 بیت 32Khz استریو بگیرید
ولی برای اینکه به راحتی و به درستی بتونید فایل هارو تبدیل کنید روش تبدیل رو با نرم افزار محبوب پخش یعنی jetAudio اموزش میدم
شما فقط کافیه طبق عکس های زیر jetAudio رو تنظیم کرده و فایلهای خودتونو تبدیل کنید
















این پروژه با زبان C و در کامپایلر CodeVision توسط خود بنده برنامه نویسی شده است و از همین سورس در بردهای سخنگوی اسانسور که بنده تولید میکنم استفاده میشود
لذا در صورت وجود هرگونه مشکل همینجا مطرح کنید تا به رفع انها بپردازیم

به همین سادگیAt
اگر مطلبی مفید بود سپــــاس واگر مفیدتر بود دادن اعتبار را فراموش نکنید dont
به پيغام خصوصي ها فقط در صورت واقعا خصوصي بودن پاسخ داده خواهد شد Confused

پاسخ
 سپاس شده توسط d2006h ، ATmega ، sarbaz13 ، mo2_star
#6
ببخشید منم میتونم درمورد MMC سوالی بپرسم؟Huh
پاسخ
#7
(30-10-1390، 11:42 عصر)Dr.Xylitol نوشته است: ببخشید منم میتونم درمورد MMC سوالی بپرسم؟Huh

حتما دوست من بپرسید
در مورد این پست شما هم باید بگم پست شما اسپم بود ها اخه دوست من این هم سوال کردن داره؟

به همین سادگیAt
اگر مطلبی مفید بود سپــــاس واگر مفیدتر بود دادن اعتبار را فراموش نکنید dont
به پيغام خصوصي ها فقط در صورت واقعا خصوصي بودن پاسخ داده خواهد شد Confused

پاسخ
#8
شرمندهBlush
معذرت میخوام.آخه جاش فکر کردم اینجا نیست.

درکل
من میخوام با بیسیک مموری رو بخونم.مموری MicroSD
حالا مشکلاتی که برام پیش اومده:
1-دوتا مموری میکرو 2 گیگ دارم,3-4 تا هم برای گوشی هامونه,هرکدوم از اینارو هرکار میکنم ارور 227 میده.فت32 هم میزنم.فت 16هم ندارم.حالا شایدم ویندوز7 نداره.Confused
2-یک مموری 256 خیلی قدیمی دارم,کلا کامپیوتر نمیشناسش ولی به میکرو وصل میکنم اون میشناسهExclamationفایلهای توشو توی ال سی دی میبینم,ولی کامپیوتر نمیتونه فورمت کنه یا بازش کنه
3-یک مموری 64 مگابایتی فابریکی نوکیاn70 هم دارم.اینو وقتی به کامپیوتر وصل میکنم میشناسه,ولی فت32 نداره.NTFS و EXFAT و FAT داره.Exclamation
بخدا دیوونه شدم.
حالا گیرم بتونم اون مموری 256 رو با کامپیوتر فورمت کنم یا مثلا اون 64 مگا بایتیه رو راه بندازم.
اینا سرزنشهاییه که خودمو میکنم:
آخرش چی؟مگه میشه من برای هر بردی که ساختم برم دنبال یه مموری اینجوری در پیت بگردم؟باید یه مموری 1 یا 2 گیگ از بازار بخرم بزارم روی پروژه.اتفاقا کاری که قراره برام انجام بده همینه که wav رو پخش کنه رو خط.تمام مراحل پروژه تموم شده همین پلیرش,البته ارتباط با MMC مشکل داره.
حدود 10 روز قبل امتحانامو حروم کردم فقط برای اینکه بتونم یه MMC درست و حسابی به میکرو وصل کنم.ولی نشد که نشد.

راستش به این نتیجه رسیدم که مشکل از بسکام و کتابخونه هاشه.میخوام بعد امتحاناتم برم سراغ کدویژن حتی بخاطر همین مساله.
ببخشید زیاد توضیح دادم.اگه میدونید راهنماییم کنید که مشکلم از چیه!!
پاسخ
#9
متاسفانه باز هم جواب نگرفتم نمي دونم مشكل از كجاست
از ميكرو يا از مموري 2 گيگ ؟
تو رو خدا يكي كمك كنه
پاسخ
#10
میدونستم توی هر تاپیکی که من پست بدم اون تاپیک میخشکه و همون دوتا جوابی که قرار بوده بدن رو دیگه نمیدنBig Grin
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
Brick شما هم میتونید MP3 Player بسازید اونهم با LCD رنگی polestar 56 30,456 19-11-1394، 09:04 عصر
آخرین ارسال: mherdad
  کتابخانه برای پخش فایل های صوتی wave ATmega 1 883 14-8-1392، 01:38 صبح
آخرین ارسال: gtna
  درخواست ماژول mp3 player مرتضي 58 0 820 31-3-1392، 12:16 عصر
آخرین ارسال: مرتضي 58
  درخواست فايل هگز mp3 player (فايل ضميمه شده است) aria2345 1 852 15-1-1391، 11:35 عصر
آخرین ارسال: polestar
  دانلود پروژه های AVR : اسیلسکوپ دیجیتال - WAVE PLAYER - پازل - دفتر نقاشی AMANA 5 3,833 11-4-1390، 02:10 عصر
آخرین ارسال: polestar

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان