R

6 kanal dijital volume kontrol

Başlatan rercan, 11 Eylül 2011, 22:28:35

rercan

arkadaşlar bir süre önce  farklı versiyonunu yaptıgım şimdi geliştirmek için tekrar üzerinde ugraştıgım  devreyi sizlerle paylaşıyorum

devre 16f877  lcd ve pt2258 ile calışıyor 2 dügme ile i2c üzerinden 6 kanalı kontrol edebiliyor. geliştirmeye acık ancak bu haliyle de kullanılabilinir.

zamanla ses sistemlerinde kullanmak için uzaktan kumanda ve ete arkadaşımızın paylaştıgı (yanlış hatırlamıyorsam )  entegre modüllü radyo devresi ile birleştirmeyi  düşünüyorum.


toys-23

Çok güzel tebrik ederim ete hocam geçen bar olarak lcd de göstermeyi öğretmişti bence ilk ordan değişiklik yapmalıyız.Yani bar olarak artarsa ekranda daha şık durabilir bi fikir tabi..

ali

Eline sağlık arkadaşım.pt serisi entegresiyle yapılmış güzel bi çalışma..paylaşımın için teşekkürler..

rercan

arkadaşalr üzerinde ugraşıyorum ama. şöyle bişey yapmak istiyorum beceremedim yardımcı olabilir misiniz .  lcd ekran olacak  4 tuş olacak 3 tuş menü içinde gezmek ve değiştirmek için 1 tuş ise mute olacak. ancak menu oluştururken tıkandım. nasıl yapabiliriz bi yol yordam gösterebilir misiniz ?

benim düşüncem de şöyle :

menü tuşuna basıldıgında ekranda bastıgımız kadar  secenek gelecek. mesela bi kere bastıgımızda ana ses ikinci basışımızda  önler  üçüncü de arka 4. de merkez 5. de subwoofer gibi secenekler belirecek . ayalamak istedigimizde duracagız  az cok dügmelerine bastıgımızda  degerler degişecek . bunu nasıl saglayabiliriz ?


 
main : 
priint at 1,5, " menu"
if menu=1 then menu  ; menü tuşuna basıldıysa menüye atla
goto main
menu:
print at  "ana ses" ; ekranda ana ses bölümünü göster
for x=0 at 100 step 1
if cok=1 then acok ; anases menüsünde cok butonuna basılırsa  ana sesi cogalt
if az=1 then aaz
next
goto main


böyle bir kod yıgını olaiblir mi daha mantıklı önerileriniz var mıdır ?

est32

rercan demek istediğin sadece menü oluşturmak ve o menü içerisinde ileri geri veya yukarı aşağı gezmek mi?Örneğin ses ayarı,bass ayarı,tiz ayarı,denge ayarı... gibi???
Sanırım öyle.Burada anlatmaya çalıştım ama görsel olmadıktan sonra olmuyor hepsini silmek zorunda kaldım.Eğer demek istediğini doğru anlamışsam ve istediğin de buysa tekrar yaz daha önce benzer bir çalışmam olmuştu göndereyim...

rercan

evet bir menü oluşturmak. yardımlarınız ve ilginiz için teşekkür ederim .

est32

hımm yukarıdaki örnek programına şimdi az dikkatli baktım,aslında yaklaşmışsın.
neyse daha önce bir öğrenci projesi için acemilik dönemimde lcd ekranlı skorbord yapmıştım,sanırım istediğin şey orada var.Biraz incele umarım iş görür.Yalnız o zmanalar oldukça acemiydim(aslında hala usta olamadım) bu nedenle tuş sayısı biraz fazla idi,ama önemli olan işin mantığı.

rercan


rercan

'****************************************************************
'*  Name    : deneme.BAS                                        *
'*  Author  : Ramazan ercan                                     *
'*  Notice  : açık kaynak                                       *
'*          :                                                   *
'*  Date    : 11.09.2011                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************

Device 16F877   'işlemci
XTAL 4          'kristal 4 mhz
ADCON1=7        'A portu tüm girişler analog
Dim ma6 As Byte
Dim mb6 As Byte
Dim x As Byte
Dim y As Byte
Dim z As Byte
x=0
z=0
y=0
ma6=%11010000
mb6=%11100000
'------------------------------------------------------------------
Declare LCD_TYPE  = 0
Declare LCD_INTERFACE 4
Declare LCD_DTPIN PORTC.4      'lcd ayarları
Declare LCD_ENPIN PORTD.3
Declare LCD_RSPIN PORTD.2
Declare LCD_LINES 2

Declare SCL_PIN PORTA.1    'scl pin portc.3
Declare SDA_PIN PORTA.0    'sda pin portc.4
Declare I2C_SLOW_BUS On    'i2c 100khz calışma frekansı
Symbol sda=PORTC.0
Symbol scl=PORTC.1
'-------------------------------------------------------------
Symbol a=$D2
Symbol b=$D5
Symbol adress=$88

Symbol menu=PORTD.4    'menu butonu
Symbol cok=PORTD.0      'cok butonu
Symbol az=PORTD.1      'az butonu

i2cout sda, scl, $88 ,[%11111001]
i2cout sda,scl,$88,[%11100000]
DelayMS 200
Cls

Main:
Cls
If y=3 Then y=0
If menu=1 Then y=y+1
If y=1 Then master    'menuler

Print At 1,5,"ANA SES"    ' ekran da ANA ses seviyesini göster
Print At 2,8, Dec x
DelayMS 50

Low PORTA.0
Low PORTA.1
GoTo Main

master:
Cls  'ana ses menüsü
Print At 1,5,"master"    ' ekran da ANA ses seviyesini göster
Print At 2,8, Dec x         ' ana ses  ses degerini nasıl gösterebilirsin ?
DelayMS 50
For z=0 To 100000 Step 1
If cok=1 Then GoTo yukselt
If az=1 Then GoTo azalt
If menu=1 Then y=y+1
If y=2 Then GoTo bir
Next
GoTo master

bir:
Cls   'ana ses menüsü
Print At 1,5,"front"    ' ekran da ANA ses seviyesini göster
Print At 2,8, Dec x         '
DelayMS 50
For z=0 To 100000 Step 1
If cok=1 Then GoTo yukselt
If az=1 Then GoTo azalt
If menu=1 Then y=y+1
If y=3 Then GoTo Main
Next
GoTo bir

yukselt:
High PORTA.0
Print $fe , 1

If x=0 Then GoTo Main
mb6=mb6+1 :x=x-1
If mb6>%11101001 Then ma6=ma6+1 
If mb6>%11101001 Then mb6=%11100000   
i2cout sda,scl, $88,[ma6,mb6]


GoTo Main

azalt:
High PORTA.1
Print $fe , 1
DelayMS 70
If x=60  Then GoTo Main
mb6=mb6-1 :x=x+1                         
If mb6<%11100000 Then ma6=ma6-1 
If mb6<%11100000 Then mb6=%11101001 
i2cout sda,scl, $88,[ma6,mb6]
Print At 1,5,"ANA SES"
Print At 2,8, Dec x
GoTo Main


böyle bişey  yaptım

rercan

#9

* yukarda birve anases menüsü yaptım  bunu diledigimce cogaltabilirim. birde mute fonksiyonu ekleyecegim.

*mesela birde   menülerin içindeki for döngülerine  döngü bitiminde  goto main  ve  herhangi bir pin ile yönlendirebilecegim ekran aydınlatması cıkışı yükleyebilirim . böylelikle döngü arası menüyü ekranda tutma  ve aydınlatmayı saglama yapabilirim. ;D

ayrıca ilk açılışta kodların yüklenmesi pt nin  aktif hale gelebilmesi süresince 1 saniyeye yakın bi zaman geçiyor. buda hoparlorlerde cızırtı yada gürültüye neden oluyor bunu önleyici bi donanım olarak cıkışların baglı oldugu  bi röle grubu ile geçiktirme yapılabilir.

rercan

temel olarak  tek kanal ve ana ses kanalı olarak iki menü şeklinde yaptım  simülasyonda iyi de calışıyor. diger kanalalrı kopyalamak kaldı o da yapılınca kullanıma hazır . 3 tuştan oluşuyor .

Powered by EzPortal