pic basıc için öelodi programı bilen varmı?

Başlatan emrah, 04 Mart 2011, 11:26:38

emrah

slm, arkadaslar 16f628a da melodi devresi yapmam lazım. bic basıc kodları nasıl olmalı. notalar nasıl yazılıyor?  örnek program kodu olan varsa lütfen paylassın.  teşekkürler

Maxim

picbasic tarafını bilmiyorum ama proton+ için bir program hatırlıyorum
bu programa mid dosyasını veriyorsun o da sana LDATA karşılıklarını veriyordu,
sonra sound veya sound2 komutu ile bu datayı çaldırıyorsun, tam hatırlayamadım.

Maxim

gene proton, belki işinize yarar ..

startrek, yani eski uzay yolu dizisinin müziği .


' Star Trek The Next Generation...Theme and ship take-off
' Output "0" to +side of 10uF capacitor, -side to -speaker (40 ohm or
' 8 ohm with 3 10 ohm series resistors), +speaker to ground.
		
        Include "PROTON_4.INC"
        
        Dim B2 As Byte
        Symbol Pin = PORTA.0
   
Theme:	Sound Pin, [50,60,70,20,85,120,83,40,70,20,50,20,70,20,90,120,90,20,98,160]
		DelayMS 500
take_off:
		For B2 = 128 To 255					'ascending white noises
       		Sound Pin, [B2,2]               'for warp drive sound
		Next
one:	Sound Pin, [43,80,63,20,77,20,71,80,51,20,90,20,85,140,77,20,80,20,85,20,90,20,80,20,85,60,90,60,92,60,87,60,96,70,0,10,96,10,0,10,96,10,0,10,96,30,0,10,92,30,0,10,87,30,0,10,96,40,0,20,63,10,0,10,63,10,0,10,63,10,0,10,63,20]

		DelayMS 10000
		GoTo Theme

eseneren

Tek pin ile kare dalga melodi üreteci...
Melodi notalarını programın basında bir dizi var orada yapıyorsun
Onu hazırlamak ıcınde bir excel var dosya eklemis idim C de yazdım ıncelersen ıstedıgın dıle cevırırsın...
https://www.picproje.org/index.php/topic,31983.msg223600.html#msg223600
Seçim yapmak için durum hakkında bilgi sahibi olmak zorunda değilsin, sonucuna hazır olmak için durum hakkında kaygılanırsın.  http://bit.ly/gixfTk

ete

Pic ile melodi çaldırmak zor biş iş değil. Kullanılacak komut direk;
SOUND  pin,[Nota, süre, Nota, Süre........]
Notalar için sabit değerler kullanılır. Bazılarını vereyim;
DO notası için 60 , DO#=61,  RE notası için 62 ve RE#=63 gibi değerler alıyor.

Bunları tespit ettikten sonra tek bir sound komutu ile bütün müziği çaldırabilirsiniz.
Bir örnekde ona vereyim;
    Sound portb.4,[A1,29,c2,14,h1,14,A1,29,c2,_ 
    14,h1,14,A1,14,A1,29,c2,14,h1,14,A1,29,_ 
    c2,14,h1,14,A1,14,d2,29,c2,29,h1,14,A1,_ 
    14,h1,29,A1,14,g1,114,g1,29,h1,14,A1,14,_ 
    g1,29,h1,14,A1,14,g1,14,g1,29,h1,14,A1,_ 
    14,g1,29,h1,14,A1,14,g1,14,e2,29,c2,29,_ 
    A1,29,f1,14,g1,14,f1,14,e1,43,f1,8,g1,8,_ 
    A1,8,h1,8,c2,8,d2,8,e2,43]


Tabiiki bütün şarkıyı tek komuta sığdırmak zor ama gerekirse 2 yada 3 komutla müzüğü tamamlamak mümkündür.
Örnekte nota isimleri A1 - H1 - F1 gibi değişken adları ile tanımlanmış olup değişken tanımlama kısmında bunlara sabit nota değerler leri verilmiştir. Nota isimlerinin yanlarında yer alan rakamlarda o notanın çaldırılış süresini 12 nin katları şeklinde ms cinsinden göstermektedir.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

emrah

cevaplarınız için çok teşekkür ederim, proton kodları ile eTe hocamızın verdıgı basıc kodları birleştirerek birşeyler çıkardım.