Pic İle yapılmış RF uzaktan kumanda

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
 
Has- artvin-li herşey hoş guzelde ben elektronik dalından yenıyımde bana daha acıklayıcı bır sekilde asamalı söylemisin nasıl yapacagımı yardım edersen sevinirim
 
Elbette ama aşamalı dediğin zaman direncin tanımına kadar inilebilir bir konu o yüzden öncelikle sizin merak ettiğiniz aşamaları sormanızda fayda var bu arada mesajlara geç cevap verirsem kusuruma bakmayın biraz bu aralar elektrik elektroniğin dışında bir alanda çalışıyorum bu yüzden eve haftada 1 defa gelebiliyorum bazen ve gelmemle gitmem bir oluyor...

Siz merak ettiklerinizi yazarsanız mutlaka ben olmasam bile konuya daha hakim abilerimiz ustalarımız cevap vereceklerdir ben de elimden geldiğince yardımcı olmaya çalışırım.
 
silvester ,burnunuz çok havalarda ,has artvinli arkadaş doğru söylüyor bakın size bir sayfa dolusu açıklama yapmış , sırf yanlış anlamanın düzeltilmesi ve sizi kaybetmemek adına yapmış ,eğer daha iyi biliyorsanız yüksekten bakarak sırküpü olmak yerine nezaketle paylaşım yaparak saygı kazanın.
 
VAY BEE...Benimde bir sorum olacak rf ile uzaktan kumanda konusunda RF sistemlerde uzaklığı nasıl artırabiliriz yani alıcı verici arasındaki mesafeyi ek rf yükseltçler diye birsey varmı ada dalgalrla mı oynamalı?Modülasyon işinden anlayanlar yardımcı olabilirlerse minnettar kalırım...Teşekkürler
 
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
 
MRB ADIM SERKAN UZKTAN KUMANDA İLE ACILIP KAPANAN KAPI İÇİ GEREKLİ DEVRE ŞEMASI VE MALZEME LİSTESİ LAZIM YARDIMCI OLABİLİRSEN SEVİNİİRM
 
Mrb Serkan usta Benim bu projeyi internete koymamdaki amacım öncelikle insanların faydalanmasıdır fakat kalkıp projeyi başka bir kişinin isteği üzerine tekrar ele alıp malzeme listesi devre şeması gibi uğraşacak vaktim olmadığı için size isteğinizde yardımcı olamayacağım...

Benim yardımcı olmak istediğim durum en azından bir kişi bişiyler yapmış çaba harcamış ve programda yada devrede bir sorunla karşılaşmış insanların ellerinde ek olarak bulunacak bir programın paylaşılma durumudur...

Bir pic programcısı yada yeni başlayan birisi için bile çok rahatlıkla anlaşılacak yapıda olan bir programdır yukarıdaki paylaştığım program ve incelenirse devre şeması yada malzeme listesine ihtiyaç duyulmadan bir lise öğrencisinin bile yapabileceği düzeyde basit devredir...

Zaten devre şeması vermediğimizin sebebi de çaba harcayan bir insanın bilgilerini pekiştirmesi ile alakalıdır...
 
tartışmak anlamsız. iki tarafında haklı olduğu durumlar var.
silvestir manchester kodlamasını önermesi doğrudur. verici alıcı arasında sürekli uyarım sağlar preamble gerektirmez. ve 0,0,,0,0,0 datası ancak böyle gönderilir. + olarak birde csum eklenmesinide ben öneririm.

has artvinli de sonuçta rf ile ilgili hiç uğraşmamış ve uğraşsada başarılı olamamış insanlar adına bir paylaşım yapmış.en azından RF in ucundan tutmak isteyenler için hızlıca çalıştırabileceği bir kod. (ayrıca baud rate 1200 olursa int rc olduğundan bit bozulması çok aza iner daha uzun mesafe ve daha kararlı olur.)
 
tşkür ederim çok iyi anlıyorum sizi . herzaman karşılaşabilcem bir devre değil zaten elektonik unuttum daha cok elektrikle uğrasıyrm zaten bölüm elektrik sağolun demir kapıyı kumanda panosuna uzaktan kumanda için sormuştum .Sizlere kolay gelsin
 

Yeni mesajlar

Forum istatistikleri

Konular
130,171
Mesajlar
933,956
Kullanıcılar
453,299
Son üye
emekli 1970

Yeni konular

Geri
Üst