Herkese Tekrar Selamun aleyküm...
Bir çok defa RF uzaktan kumanda yapmak isteyen arkadaşın ihtiyaç duyduğu program ve kodlar olmakta ve yine çoğu defa rf uzaktan kumanda yapmak için çalışan sağlam kodlara ihtiyaç duyulmakta...
Elimde bir zamanlar proje ödevim için yaptığım ve çalıştırdığım bir program vardı ben de Bir çok defa Sorularıma cevap aldığım bir çok kişinin sorularına cevap vermeye çalıştığım daha doğrusu ortamı evimdeki oturma odam ve üyelerini de yıllardır birlikte yaşadığım insanlar gibi gördüğüm bu sitede paylaşmak istedim...
Paylaşacağım kodlar pic basic ile yazılmış çalışan defalarca denenmiş kullanılmış kodlardır Vericide 12F675 alıcıda ise 16F628A kullanılmış her iki pic in de intrc osc yani internal osilatörleri kullanılmıştır...
Programda piclerin hangi pinlerinin ne amaçla kullanıldığı komutlardan gayet net olarak anlaşılabileceği için ayrıca devre şeması paylaşma gereği duymadım sadece kodlar ile çok rahat bir şekilde çözümleme yapılabileceği düşüncesindeyim...
Bu kodlar aynı zamanda başka kumandaların kodlarından etkilenmemeleri için gönderilen verilerin senkronizasyon ve preamble olaylarından sonra şifrelenmesi açısından da çok güzel bir örnektir...
Umarım öğrenci yada diğer arkadaşlar tarafından bir işe yarar...
Alıcı :
Kod:
INCLUDE "modedefs.bas"
CMCON=7
INPUT PORTB.1
OUTPUT PORTA.0
OUTPUT PORTB.2
OUTPUT PORTB.3
SIFRE1 VAR BYTE
SIFRE2 VAR BYTE
SIFRE3 VAR BYTE
SIFRE4 VAR BYTE
OKU VAR BYTE
TEKRAR VAR WORD
SIFRE1=0
SIFRE2=0
SIFRE3=0
SIFRE4=0
OKU=0
LOW PORTB.0
BASLA:
SERIN PORTB.1,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 PORTB.2
PAUSE 25000
HIGH PORTB.3
ENDIF
IF OKU=20 THEN
LOW PORTB.2
LOW PORTB.3
ENDIF
GOTO BASLA
END
Verici :
Kod:
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.2
INPUT GPIO.1
AC VAR GPIO.2
KAPA VAR GPIO.1
OUTPUT GPIO.4
LOW GPIO.4
GON VAR BYTE
GON=0
BASLA:
IF AC=1 THEN
GON=10
SEROUT GPIO.4,N2400,[GON,SIFRE1,SIFRE2,SIFRE3,SIFRE4,"1984"]
ENDIF
IF KAPA=1 THEN
GON=20
SEROUT GPIO.4,N2400,[GON,SIFRE1,SIFRE2,SIFRE3,SIFRE4,"1984"]
ENDIF
GOTO BASLA
END