has_artvin_li ( TA3TCM )
Usta Üye
- Katılım
- 18 Ocak 2008
- Mesajlar
- 1,088
- Puanları
- 156
- Yaş
- 40
Selamun aleyküm arkadaşlar bir konu var ki kafamı çok kurcalıyo...
Ben bir zamanlar öğrenci iken proje ödevimde uzakdan kumanda kullanmam gerekdi tabi o zamanlar alel acele PIC12F675 verici olarak - PIC16F628 alıcı olarak - udea marka atx34 ve yine udea marka arx34 alıcı vericilerini birleşdirdik bir adet uzakdan kumanda yaptık programını da pic basic de yazdım ( isteyen arkadaşlar için komutlarını aşağıda yazacağım ) sistemi çalışdırdık diğer proje devreleri ile birleşdirip kutuladık ve dersimizi geçtik ALLAH a çok şükür ama benim istediğim gibi bir uzakdan kumanda olmadı şöyle ki
1 Kocaman bir anten alıcı içinde verici için de alıcıda pek fark etmiyo ama vericide baya bi zor oluyo
2 Alıcı ile vericinin max mesafesi açık alanda birbirini görürken 100 m mesafeyi anca buluyo
3 Devrede pic kullandığımız için beslemesi sorun oluyo ( otomotiv bölümünden bir arkadaş kalemi kesip içine saat pilleri yerleşdirerek güzel bir pil yatağı yapmışdı benim için 4 adet saat pili koymuşdu ve değiştirilebilir bir şekil vermişdi )
4 Harici alıcı vericiler kullanmak ( atx34 - arx34 ) maliyeti arttırıyor ve kalabalık yaratıyo denebilir.
Şimdi benim asıl sorum şu olacak bu ( atx34 - arx34 ) alıcı vericileri kullanmadan ve sözü geçen alıcı vericilerden uzun mesafeli daha küçük anten gerektiren ( hatta hiç gerektirmese daha makul olur ) bir kumanda tasarlamam gerekiyor illa rf moduleli olması da önemli değil başka herhangi bir haberleşme sistemi de olabilir sadece açık alanda frekans bandı ücretsiz ve serbest olan en yüksek mesafeyi kapsayacak bir alıcı verici sistemi yapmak bunu da pic ile sürmek istiyorum böyle bişey mümkün mü yada var mı
Birde pic12f675 kendi içerisinde birkaç harici eleman ile rf haberleşme sağlayabiliyormuş bunu kullanabilirmiyiz bu şekilde yapılmış örnek devre ve programlar konusunda yardımcı olursanız çok memnun olurum
Aşağıya yukarıda sözünü ettiğim alıcı verici programını veriyorum
ÖNEMLİ UYGULAMA NOTU : bu devreler yapılıp iş programlamaya geldikten sonra program yazılıp derlenir ve pic e yüklerken konfigürasyon ayarları pic12f675 de sadece iç osilatör işaretlenir mclr (reset) pasif durumda WDT kapalı olarak ayarlanır pic16f628 de ise mclr aktif WDT ve diğerleri pasif olarak ayarlanır ve yükleme yapılır
***********************************************************
' ALICI İÇİN GEREKLİ PROGRAM
INCLUDE "modedefs.bas"
CMCON=7
INPUT PORTB.1
OUTPUT PORTA.0
SIFRE1 VAR BYTE
SIFRE2 VAR BYTE
SIFRE3 VAR BYTE
SIFRE4 VAR BYTE
OKU VAR BYTE
SIFRE1=0
SIFRE2=0
SIFRE3=0
SIFRE4=0
OKU=0
LOW PORTA.0
BASLA:
SERIN PORTA.0,N2400,["1984"],OKU,SIFRE1,SIFRE2,SIFRE3,SIFRE4
IF SIFRE1=1 AND SIFRE2=9 AND SIFRE3=8 AND SIFRE4=4 THEN
GOTO ATLA
ELSE
LOW OKU
GOTO BASLA
ENDIF
ATLA:
IF OKU=10 THEN
HIGH PORTA.0
ENDIF
IF OKU=20 THEN
LOW PORTA.0
ENDIF
GOTO BASLA
END
************************************************************************
'VERİCİ İÇİN GEREKLİ PROGRAM
INCLUDE "modedefs.bas"
CMCON=7
ANSEL=0
SIFRE1 VAR BYTE
SIFRE2 VAR BYTE
SIFRE3 VAR BYTE
SIFRE4 VAR BYTE
SIFRE1=1
SIFRE2=9
SIFRE3=8
SIFRE4=4
INPUT GPIO.0
INPUT GPIO.1
OUTPUT GPIO.5
LOW GPIO.5
AC VAR GPIO.0
KAPAT VAR GPIO.1
GON VAR BYTE
GON=0
BASLA:
IF AC=1 THEN
GON=10
SEROUT GPIO.5,N2400,[GON,SIFRE1,SIFRE2,SIFRE3,SIFRE4,"1984"]
ENDIF
IF KAPAT=1 THEN
GON=20
SEROUT GPIO.5,N2400,[GON,SIFRE1,SIFRE2,SIFRE3,SIFRE4,"1984"]
ENDIF
GOTO BASLA
END
Ben bir zamanlar öğrenci iken proje ödevimde uzakdan kumanda kullanmam gerekdi tabi o zamanlar alel acele PIC12F675 verici olarak - PIC16F628 alıcı olarak - udea marka atx34 ve yine udea marka arx34 alıcı vericilerini birleşdirdik bir adet uzakdan kumanda yaptık programını da pic basic de yazdım ( isteyen arkadaşlar için komutlarını aşağıda yazacağım ) sistemi çalışdırdık diğer proje devreleri ile birleşdirip kutuladık ve dersimizi geçtik ALLAH a çok şükür ama benim istediğim gibi bir uzakdan kumanda olmadı şöyle ki
1 Kocaman bir anten alıcı içinde verici için de alıcıda pek fark etmiyo ama vericide baya bi zor oluyo
2 Alıcı ile vericinin max mesafesi açık alanda birbirini görürken 100 m mesafeyi anca buluyo
3 Devrede pic kullandığımız için beslemesi sorun oluyo ( otomotiv bölümünden bir arkadaş kalemi kesip içine saat pilleri yerleşdirerek güzel bir pil yatağı yapmışdı benim için 4 adet saat pili koymuşdu ve değiştirilebilir bir şekil vermişdi )
4 Harici alıcı vericiler kullanmak ( atx34 - arx34 ) maliyeti arttırıyor ve kalabalık yaratıyo denebilir.
Şimdi benim asıl sorum şu olacak bu ( atx34 - arx34 ) alıcı vericileri kullanmadan ve sözü geçen alıcı vericilerden uzun mesafeli daha küçük anten gerektiren ( hatta hiç gerektirmese daha makul olur ) bir kumanda tasarlamam gerekiyor illa rf moduleli olması da önemli değil başka herhangi bir haberleşme sistemi de olabilir sadece açık alanda frekans bandı ücretsiz ve serbest olan en yüksek mesafeyi kapsayacak bir alıcı verici sistemi yapmak bunu da pic ile sürmek istiyorum böyle bişey mümkün mü yada var mı
Birde pic12f675 kendi içerisinde birkaç harici eleman ile rf haberleşme sağlayabiliyormuş bunu kullanabilirmiyiz bu şekilde yapılmış örnek devre ve programlar konusunda yardımcı olursanız çok memnun olurum
Aşağıya yukarıda sözünü ettiğim alıcı verici programını veriyorum
ÖNEMLİ UYGULAMA NOTU : bu devreler yapılıp iş programlamaya geldikten sonra program yazılıp derlenir ve pic e yüklerken konfigürasyon ayarları pic12f675 de sadece iç osilatör işaretlenir mclr (reset) pasif durumda WDT kapalı olarak ayarlanır pic16f628 de ise mclr aktif WDT ve diğerleri pasif olarak ayarlanır ve yükleme yapılır
***********************************************************
' ALICI İÇİN GEREKLİ PROGRAM
INCLUDE "modedefs.bas"
CMCON=7
INPUT PORTB.1
OUTPUT PORTA.0
SIFRE1 VAR BYTE
SIFRE2 VAR BYTE
SIFRE3 VAR BYTE
SIFRE4 VAR BYTE
OKU VAR BYTE
SIFRE1=0
SIFRE2=0
SIFRE3=0
SIFRE4=0
OKU=0
LOW PORTA.0
BASLA:
SERIN PORTA.0,N2400,["1984"],OKU,SIFRE1,SIFRE2,SIFRE3,SIFRE4
IF SIFRE1=1 AND SIFRE2=9 AND SIFRE3=8 AND SIFRE4=4 THEN
GOTO ATLA
ELSE
LOW OKU
GOTO BASLA
ENDIF
ATLA:
IF OKU=10 THEN
HIGH PORTA.0
ENDIF
IF OKU=20 THEN
LOW PORTA.0
ENDIF
GOTO BASLA
END
************************************************************************
'VERİCİ İÇİN GEREKLİ PROGRAM
INCLUDE "modedefs.bas"
CMCON=7
ANSEL=0
SIFRE1 VAR BYTE
SIFRE2 VAR BYTE
SIFRE3 VAR BYTE
SIFRE4 VAR BYTE
SIFRE1=1
SIFRE2=9
SIFRE3=8
SIFRE4=4
INPUT GPIO.0
INPUT GPIO.1
OUTPUT GPIO.5
LOW GPIO.5
AC VAR GPIO.0
KAPAT VAR GPIO.1
GON VAR BYTE
GON=0
BASLA:
IF AC=1 THEN
GON=10
SEROUT GPIO.5,N2400,[GON,SIFRE1,SIFRE2,SIFRE3,SIFRE4,"1984"]
ENDIF
IF KAPAT=1 THEN
GON=20
SEROUT GPIO.5,N2400,[GON,SIFRE1,SIFRE2,SIFRE3,SIFRE4,"1984"]
ENDIF
GOTO BASLA
END