الکترونیک و موسیقی

saalek110

Well-Known Member
الکترونیک و موسیقی


در این تاپیک درباره مدارهای تولید موسیقی صحبت می کنیم.

خوبی ساخت چنین مدارهایی اینه که با گوشتون می توانید نتیجه را تست کنید و یا لذت ببرید.
 
آخرین ویرایش:

saalek110

Well-Known Member
یک آیسی است به نام ملودی.
شماره ۶۶ داره.

من یکی ازش دارم ، آهنگ جالبی داره.


ای سی UM66-19L : ملودی کودکانه
ای سی BT66-L53 : صدای اژیر
ای سی BT66-ALI : اهنگ سریال امام علی
ای سی BT8031 : صدای دینگ دانگ
ای سی BT66-69L : یک آی سی موزیکال با 3 ملودی alarm می باشد
ای سی BT66-68L : یک آی سی موزیکال با ملودی it’s a smal world می باشد
ای سی BT66-8S : یک آی سی موزیکال با ملودی Happy brithday to you می باشد
ای سی BT66-35L : یک آی سی موزیکال با ملودی beep با فرکانس 2 هرتز می باشد
ای سی BT66-26L : یک آی سی موزیکال با ملودی آذری می باشد
ای سی BT66-2L : یک آی سی موزیکال با ملودیJINGLE BELL MELODY می باشد



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

در سایت بالا ، دو ترانزیستور داره و من مدارش را تست نکردم ، فقط بخاطر لیست آهتگ هایش گذاشتم که اون لیست را هم مطمئن نیستم درست باشه چون من فقط یکی از این آیسی ها را دارم و باقی نمی‌دونم چیه.



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


Screenshot_۲۰۲۳-۱۱-۱۰_۰۰۳۴۵۸.jpg

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


سایت زیر را ببینید:

مدار موزیک با ایسی UM66


عکس مدارش:

Screenshot_۲۰۲۳-۱۱-۱۰_۰۰۳۸۲۷.jpg





یک مدار از این آیسی هم در این سایت هست.

Screenshot_۲۰۲۳-۱۱-۱۰_۰۰۴۶۳۹.jpg
 
آخرین ویرایش:

saalek110

Well-Known Member

مدار تولید صدا با آی سی NE555​



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

saalek110

Well-Known Member

مدار اورگ 5 صدا با آیسی 555​




Screenshot_۲۰۲۳-۱۱-۱۰_۰۰۴۵۱۳.jpg
 

saalek110

Well-Known Member
ارگ کامل الکترونیکی



سالک: من هیچی در مورد مدار سایت بالانمی دونم ، فقط لینک دادم.
 

saalek110

Well-Known Member

ملودی پلیر آهنگ های ایرانی و خارجی با میکروکنترلر AVR​




از لینک بالا کتاب نت خوانی ضممیه پست شد.

کتاب زیر شاید کمکی بکند برای حرکت ما.

ولی ساخت نت ها با مدار ، مقداری نیاز به آشنایی با ماهیت نت ها دارد، در این کتاب کمی بحث شده
کتاب ۱۰۶ صفحه است. بیشتر حجم کتاب در مورد نت خوانی است. خوب اگ. کسی علاقه دارد مطالعه کند و نت خوانی یاد بگیرد.


کدهای میکروکنترلر را هم ضممیه کردم.
یک فایل ملودی با پسوند اچ داره که داخلش کلی نت هست.

این جوری:
PHP:
flash unsigned char marion[]={E3,d2,E3,d2,P,d1,E3,d4,C3,d2,E3,d4,G3,d4,P,d4,G2,d4,P,d4,C3,d4,P,d2,G2,d4,P,d2,E2,d4,P,d2,A2,d4,B2,d4,Ais2,d2,A2,d4,G2,d3,E3,d2,G3,d2,A3,d4,F3,d2,G3,d2,E3,d4,C3,d2,D3,d2,B2,d4,P,d2,C3,d4,P,d2,G2,d4,P,d2,E2,d4,P,d2,A2,d4,B2,d4,Ais2,d2,A2,d4,G2,d3,E3,d2,G3,d2,A3,d4,F3,d2,G3,d4,E3,d4,C3,d2,D3,d2,B2,d4,P,d4,G3,d2,Fis3,d2,F3,d2,Fis3,d2,P,d2,E3,d2,P,d2,Gis2,d2,A2,d2,C3,d2,P,d2,A2,d2,C3,d2,D3,d2,P,d4,G3,d2,Fis3,d2,F3,d2,Fis3,d2,P,d2,E3,d2,P,d2,C4,d2,P,d2,C4,d2,C4,d2,P,d8,G3,d2,Fis3,d2,F3,d2,Dis3,d2,P,d2,E3,d2,P,d2,Gis2,d2,A2,d2,C3,d2,P,d2,A2,d2,C3,d2,D3,d2,P,d4,Dis3,d2,P,d4,D3,d2,P,d4,C3,d2,P,d32};

از این نت ها کلی داخلش هست.آهنگ بالا همان طور که در کد بالا می بینید اسمش marion است.
 

پیوست ها

  • ebook6793[www.takbook.com].pdf
    4.9 مگایابت · بازدیدها: 0
  • Melody Player FULL ALBUM.rar
    244.6 کیلوبایت · بازدیدها: 2
آخرین ویرایش:

saalek110

Well-Known Member
این هم کد برای میکروکنترلر ، البته دو فایل پسوند اچ هم داره که یکیش نت ها بود که در پست قبل گفتم.

PHP:
/*****************************************************
Project : Melody Player
Chip type               : ATmega32
AVR Core Clock frequency: 1.000000 MHz
*****************************************************/
#include <mega32a.h>
#include <delay.h>
#include "octave_duration.h"      //octave duration timer value
#include "notes.h"                       //Notes Of Melody
#include <alcd.h>

bit note_f=0;
 unsigned char duration;



// Timer 0 output compare interrupt service routine
interrupt [TIM0_COMP] void timer0_comp_isr(void)
{
 if (duration!=0) duration--;
}

// Timer1 output compare A interrupt service routine
interrupt [TIM1_COMPA] void timer1_compa_isr(void)
{
 if (note_f!=0) PORTB  ^=(1<<0);
 
 else PORTB &=~ (1<<0);
}

void delay1s (){
      #asm("cli");
PORTB&=0xFE;
delay_ms(1000);
    #asm("sei");}
 
 
void melody_player(const flash unsigned char *notes_  , unsigned int size, unsigned char *melody_name){
   unsigned int i;
lcd_clear();
lcd_puts(melody_name);

   for(i=0;i<size;i+=2)
  {


   if (notes_[i]!=P)
   {
    #asm("cli");
    note_f=1;
    duration=notes_[i+1];
    TCNT1=0;
    OCR1A=timer1_values[notes_[i]-1];
    #asm("sei");
   }
 
   else
   {
    note_f=0;
    duration=notes_[i+1]; 
   }
   while(duration){if(PINA.0==0)break;}
  }

delay1s();
}


void main(void)
{

DDRB=0x01;
DDRA=0xfe;
PORTA=0x01;
TCCR0=0x0D;
OCR0=0x40;
TCCR1B=0x09;
TIMSK=0x12;
DDRD=0xff;
PORTD=0x00;

// Alphanumeric LCD initialization
// Connections are specified in the
// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
// RS - PORTC Bit 0
// RD - PORTC Bit 1
// EN - PORTC Bit 2
// D4 - PORTC Bit 4
// D5 - PORTC Bit 5
// D6 - PORTC Bit 6
// D7 - PORTC Bit 7
// Characters/line: 16
lcd_init(16);

#asm("sei")

while(1)

 {
melody_player(Fur_Elise,(sizeof(Fur_Elise)),"Fur_Elise  ");
melody_player(nokia,(sizeof(nokia)),"nokia  ");
melody_player(Sony,(sizeof(Sony)),"Sony  ");
melody_player(Simens3,(sizeof(Simens3)),"Simens3  ");
melody_player(Simens2,(sizeof(Simens2)),"Simens2  ");
melody_player(Simens1,(sizeof(Simens1)),"Simens1  ");
melody_player(Sanyo13,(sizeof(Sanyo13)),"Sanyo13  ");
melody_player(Sanyo12,(sizeof(Sanyo12)),"Sanyo12  ");
melody_player(Sanyo8,(sizeof(Sanyo8)),"Sanyo8  ");
melody_player(Sanyo6_2,(sizeof(Sanyo6_2)),"Sanyo6_2  ");
melody_player(Sanyo6_1,(sizeof(Sanyo6_1)),"Sanyo6_1  ");
melody_player(Sanyo3,(sizeof(Sanyo3)),"Sanyo3  ");
melody_player(Popcorn2,(sizeof(Popcorn2)),"Popcorn2  ");
melody_player(Oxygen2,(sizeof(Oxygen2)),"Oxygen2  ");
melody_player(Noname,(sizeof(Noname)),"Noname  ");
melody_player(Mozart2,(sizeof(Mozart2)),"Mozart2  ");
melody_player(Mortal2,(sizeof(Mortal2)),"Mortal2  ");
melody_player(Life,(sizeof(Life)),"Life  ");
melody_player(Sal,(sizeof(Sal)),"Sal  ");
melody_player(Mozart,(sizeof(Mozart)),"Mozart  ");
melody_player(Ali_Kocholo,(sizeof(Ali_Kocholo)),"Ali_Kocholo  ");
melody_player(Ghado_Bala,(sizeof(Ghado_Bala)),"Ghado_Bala  ");
melody_player(Jingle_Bells,(sizeof(Jingle_Bells)),"Jingle_Bells  ");
melody_player(Gol_Orkide,(sizeof(Gol_Orkide)),"Gol_Orkide  ");
melody_player(Mammad_Nabodi,(sizeof(Mammad_Nabodi)),"Mammad_Nabodi  ");
melody_player(Love_Story,(sizeof(Love_Story)),"Love_Story  ");
melody_player(Elahe_Naz,(sizeof(Elahe_Naz)),"Elahe_Naz  ");
melody_player(Morghe_Sahar,(sizeof(Morghe_Sahar)),"Morghe_Sahar  ");
melody_player(God_Father,(sizeof(God_Father)),"God_Father  ");
melody_player(Yar_Dabestani,(sizeof(Yar_Dabestani)),"Yar_Dabestani  ");
melody_player(Titanics,(sizeof(Titanics)),"Titanics  ");
melody_player(Pappilon,(sizeof(Pappilon)),"Pappilon  ");
melody_player(Soltan_Ghalbha,(sizeof(Soltan_Ghalbha)),"Soltan_Ghalbha  ");
melody_player(Tavalod,(sizeof(Tavalod)),"Tavalod  ");
melody_player(Bahar,(sizeof(Bahar)),"Bahar  ");
melody_player(ABC,(sizeof(ABC)),"ABC  ");
melody_player(Coin,(sizeof(Coin)),"Coin  ");
melody_player(Ended,(sizeof(Ended)),"Ended  ");
melody_player(Pause,(sizeof(Pause)),"Pause  ");
melody_player(Pink_Panther,(sizeof(Pink_Panther)),"Pink_Panther  ");
melody_player(Sorode_Melli,(sizeof(Sorode_Melli)),"Sorode_Melli  ");
melody_player(Nazi ,(sizeof(Nazi )),"Nazi  ");
melody_player(Azize_Del ,(sizeof( Azize_Del)),"Azize_Del  ");
melody_player( Jan_Maryam,(sizeof( Jan_Maryam)),"Jan_Maryam  ");
melody_player(Gol_Sang ,(sizeof( Gol_Sang)),"Gol_Sang  ");
melody_player(Ghogha ,(sizeof( Ghogha)),"Ghogha  ");
melody_player(Mobarak ,(sizeof(Mobarak )),"Mobarak  ");
melody_player(Esfahan2 ,(sizeof(Esfahan2 )),"Esfahan2  ");
melody_player(Esfahan ,(sizeof( Esfahan)),"Esfahan  ");
melody_player(Balaye_Joon ,(sizeof( Balaye_Joon)),"Balaye_Joon  ");
melody_player(Emam_Ali ,(sizeof( Emam_Ali)),"Emam_Ali  ");
melody_player(Popcorn ,(sizeof( Popcorn)),"Popcorn  ");
melody_player(Man_Amadeam ,(sizeof(Man_Amadeam )),"Man_Amadeam  ");
melody_player(Happy_birthday ,(sizeof( Happy_birthday)),"Happy_birthday  ");
melody_player( old_mac,(sizeof(old_mac )),"old_mac  ");
melody_player( tetris,(sizeof( tetris)),"tetris  ");
melody_player(Take ,(sizeof(Take )),"Take  ");
melody_player(DoomLev1 ,(sizeof( DoomLev1)),"DoomLev1  ");
melody_player( smbdeath,(sizeof(smbdeath )),"smbdeath  ");
melody_player( MahnaMahna ,(sizeof( MahnaMahna )),"MahnaMahna  ");
melody_player( Smurfs ,(sizeof(  Smurfs)),"Smurfs  ");
melody_player(Gadget  ,(sizeof(Gadget  )),"Gadget  ");
melody_player(Jeopardy  ,(sizeof( Jeopardy )),"Jeopardy  ");
melody_player(MissionImp  ,(sizeof( MissionImp )),"MissionImp  ");
melody_player( Flinstones ,(sizeof( Flinstones )),"Flinstones  ");
melody_player( A_Team ,(sizeof( A_Team ))," A_Team ");
melody_player(  GoodBad,(sizeof( GoodBad )),"GoodBad  ");
melody_player( StarWars ,(sizeof(StarWars  )),"StarWars  ");
melody_player( MASH ,(sizeof(MASH  )),"MASH  ");
melody_player(Bond  ,(sizeof(Bond  )),"Bond  ");
melody_player(thCenFox20  ,(sizeof( thCenFox20 )),"thCenFox20  ");
melody_player(  Looney,(sizeof( Looney )),"Looney  ");
melody_player( Xfiles ,(sizeof( Xfiles )),"Xfiles  ");
melody_player(Muppets  ,(sizeof( Muppets )),"Muppets  ");
melody_player( Entertainer ,(sizeof(Entertainer  )),"Entertainer  ");
melody_player( TakeOnMe ,(sizeof( TakeOnMe )),"TakeOnMe  ");
melody_player( Indiana ,(sizeof(Indiana  )),"Indiana  ");
melody_player( The_Simpsons ,(sizeof( The_Simpsons )),"The_Simpsons  ");
melody_player(  Super_Mario_Title,(sizeof(  Super_Mario_Title)),"Super_Mario_Title  ");
melody_player( Super_Mario_Main ,(sizeof(Super_Mario_Main )),"Super_Mario_Main  ");
melody_player( marion ,(sizeof( marion )),"marion  ");
melody_player( SMBUndergr ,(sizeof(SMBUndergr  )),"SMBUndergr  ");
melody_player( SMBWater ,(sizeof( SMBWater )),"SMBWater  ");
melody_player( ey_iran ,(sizeof(ey_iran  )),"ey_iran  ");
melody_player( Europe ,(sizeof( Europe )),"Europe  ");
melody_player( Corona ,(sizeof(  Corona)),"Corona  ");
melody_player( Oxygen ,(sizeof( Oxygen )),"Oxygen  ");
melody_player( Titanic ,(sizeof( Titanic )),"Titanic  ");
melody_player( Tbat ,(sizeof(  Tbat)),"Tbat  ");
melody_player(  Nation,(sizeof(Nation  )),"Nation  ");
melody_player(Beautiful  ,(sizeof( Beautiful )),"Beautiful  ");
melody_player( Water ,(sizeof( Water )),"Water  ");
melody_player( Tbank ,(sizeof(Tbank  )),"Tbank  ");
melody_player( Ring ,(sizeof(Ring  ))," Ring ");
melody_player(Money  ,(sizeof( Money )),"Money  ");
melody_player( Mamma ,(sizeof( Mamma )),"Mamma  ");
melody_player(Gimme  ,(sizeof(  Gimme)),"Gimme  ");
melody_player(Walk  ,(sizeof(  Walk)),"Walk  ");
melody_player( Luna ,(sizeof( Luna )),"Luna  ");
melody_player(Opium  ,(sizeof( Opium )),"Opium  ");
melody_player( Love ,(sizeof(Love  )),"Love  ");
melody_player( Long ,(sizeof( Long )),"Long  ");
melody_player( Down ,(sizeof( Down )),"Down  ");
melody_player( Bailando ,(sizeof( Bailando )),"Bailando  ");
melody_player( Batman ,(sizeof( Batman )),"Batman  ");
melody_player( Stronger ,(sizeof( Stronger )),"Stronger  ");
melody_player( Lucky ,(sizeof( Lucky )),"Lucky  ");
melody_player(  Baby,(sizeof( Baby )),"Baby  ");
melody_player( tanki ,(sizeof(tanki  ))," tanki ");
melody_player( mario ,(sizeof( mario )),"mario  ");
melody_player(miniPolka  ,(sizeof(miniPolka  )),"miniPolka  ");
melody_player( bumer ,(sizeof( bumer )),"bumer  ");
melody_player( mortal ,(sizeof( mortal )),"mortal  ");
melody_player( kuznechik ,(sizeof(  kuznechik)),"kuznechik  ");

                                                                                            
      
 }
}

واقعا دست سازنده اش درد نکنه.آقا محسن. هر جا هستند ، آرزوی موفقیت برای ایشان دارم. دوست داشتید در مجیدآنلاین عضو بشوید و اینجا فعالیت کنید.
کد که فکر کنم برای کدویژن است
البته در فایل زیپ ، فایل هگز هم هست. و نیاز به کامپایل نیست.
از کد برمی آید که lcd کاراکتری داره و فکر کنم اسم نت را درش نشون میده و نت ها پخش میشه پشت سر هم.
ولی ممکنه کنترل های بیشتری وجود داشته باشه ، مثلا دکمه هایی.
برخلاف خارجی ها ، کامنت های برنامه کم است. و فهم کد سخت تر است. کامنت یعنی شرح به زبان انسان برای خود یا خوانندگان بعدی کد.البته با تایمرهای میکروکنترلر کار کرده. اگر کسی علاقه من است به تاپیک تایمرهای میکروکنترلر ، از تاپیک مادر میکروکنترلر برود.

فایل پروتئوسش هم هست.

تا اینجای تاپیک با سرعت اومدم ، رسیدم به کار آقا محسن پست زدن را فراموش کردم و رفتم توی این برنامه...
من میکروکنترلر و lcd آماده دارم ، فقط باید برنامه را بریزم توی میکرو و اجرا کنم.
 
آخرین ویرایش:

saalek110

Well-Known Member
من در کد ویژن یک پروژه ساختم و در کدویزارد lcd را روشن کردم...
بعد اومدم کدهای آقا محسن را به برنامه اضافه کردم.
تقریبا همین کد بالا شد ولی فقط پایه های lcd فرق داره..... همچنین اینکلود بالای برنامه را از اتمگا 32 به اتمگا 16 تغییر دادم.
دو تا فایل هدر آقا محسن که پسوند h دارد را هم کنار فایل C پروژه قرار دادم.

خطای زیر را دریافت کردم:
JavaScript:
Linker error: global RAM variables size: 1189 bytes is too large

گویا میکروکنترلر من ظرفیت لازم را ندارد.

مشخصات اتمگا 16:

16 کیلوبایت حافظه فلش داخلی قابل برنامه ریزی که این حافظه میتواند تا 10000 بار نوشته و پاک شود (قابلیت پروگرم کردن تا 10000 بار)

• 1 کیلوبایت حافظه SRAM

• 512 بایت حافظه EEPROM (این حافظه میتواند تا 1000000 بار نوشته و پاک شود)

گویا متغیرهای Ram از یک کیلوبایت ظرفیت میکروکنترلر فراتر رفته.

من اومدم تعداد آهنگهای قسمت while را کم کردم ..... درست شد.... قسمت while انتهای برنامه است.
تکه اول از لیست را نگه داشتم یعنی اینها را:
PHP:
melody_player(Fur_Elise,(sizeof(Fur_Elise)),"Fur_Elise  ");
melody_player(nokia,(sizeof(nokia)),"nokia  ");
melody_player(Sony,(sizeof(Sony)),"Sony  ");
melody_player(Simens3,(sizeof(Simens3)),"Simens3  ");
melody_player(Simens2,(sizeof(Simens2)),"Simens2  ");
melody_player(Simens1,(sizeof(Simens1)),"Simens1  ");
melody_player(Sanyo13,(sizeof(Sanyo13)),"Sanyo13  ");
melody_player(Sanyo12,(sizeof(Sanyo12)),"Sanyo12  ");
melody_player(Sanyo8,(sizeof(Sanyo8)),"Sanyo8  ");
melody_player(Sanyo6_2,(sizeof(Sanyo6_2)),"Sanyo6_2  ");
melody_player(Sanyo6_1,(sizeof(Sanyo6_1)),"Sanyo6_1  ");
melody_player(Sanyo3,(sizeof(Sanyo3)),"Sanyo3  ");
melody_player(Popcorn2,(sizeof(Popcorn2)),"Popcorn2  ");
melody_player(Oxygen2,(sizeof(Oxygen2)),"Oxygen2  ");
melody_player(Noname,(sizeof(Noname)),"Noname  ");
melody_player(Mozart2,(sizeof(Mozart2)),"Mozart2  ");
melody_player(Mortal2,(sizeof(Mortal2)),"Mortal2  ");
melody_player(Life,(sizeof(Life)),"Life  ");
melody_player(Sal,(sizeof(Sal)),"Sal  ");
melody_player(Mozart,(sizeof(Mozart)),"Mozart  ");
melody_player(Ali_Kocholo,(sizeof(Ali_Kocholo)),"Ali_Kocholo  ");
melody_player(Ghado_Bala,(sizeof(Ghado_Bala)),"Ghado_Bala  ");
melody_player(Jingle_Bells,(sizeof(Jingle_Bells)),"Jingle_Bells  ");
melody_player(Gol_Orkide,(sizeof(Gol_Orkide)),"Gol_Orkide  ");
melody_player(Mammad_Nabodi,(sizeof(Mammad_Nabodi)),"Mammad_Nabodi  ");
melody_player(Love_Story,(sizeof(Love_Story)),"Love_Story  ");
melody_player(Elahe_Naz,(sizeof(Elahe_Naz)),"Elahe_Naz  ");
melody_player(Morghe_Sahar,(sizeof(Morghe_Sahar)),"Morghe_Sahar  ");
melody_player(God_Father,(sizeof(God_Father)),"God_Father  ");
melody_player(Yar_Dabestani,(sizeof(Yar_Dabestani)),"Yar_Dabestani  ");
melody_player(Titanics,(sizeof(Titanics)),"Titanics  ");
melody_player(Pappilon,(sizeof(Pappilon)),"Pappilon  ");
melody_player(Soltan_Ghalbha,(sizeof(Soltan_Ghalbha)),"Soltan_Ghalbha  ");
melody_player(Tavalod,(sizeof(Tavalod)),"Tavalod  ");
melody_player(Bahar,(sizeof(Bahar)),"Bahar  ");
melody_player(ABC,(sizeof(ABC)),"ABC  ");
 
آخرین ویرایش:

saalek110

Well-Known Member
خوب حالا فایل هگز ساخته شد.. البته از قبل هم در بسته آقا محسن وجود داشت ولی من دوست داشتم خودم بسازم.

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

15.jpg
 
آخرین ویرایش:

جدیدترین ارسال ها

بالا