RF Alıcı Verici Devresinde Yazılım Değişikliği

| Mayıs 18, 2023 Tarihinde güncellendi
RF Alıcı Verici Devresinde Yazılım Değişikliği

PIC16F84A ile 6 Kanal 433 MHz RF Alıcı Verici Devresini Tuna Yıldız adlı arkadaş yapmış. İstek üzerine yazılımda değişiklik yaparak devrenin çalışma şeklini değiştirdim

PCBway Türkiye PCB Manufacturer PCB Assembly

Devre ilk hali itibariyle, bir butona basıldığında o butona karşılık gelen LED yanıyor fakat butonu bıraktığında sönmüyordu, ta ki başka bir butona basana kadar. Yani devrede sürekli olarak bir tane LED hep yanık kalıyordu.

Programda mantık itibariyle sadece butonlara basıldığı zaman veri bilgisi gönderiliyordu. Bende buna ek olarak butonlar hem basılı iken hem basılmadığı zamanlarda veri bilgisi göndererek, butonlar basılı iken ilgili LED’i yakan bıraktığın zaman da (benim eklediğim komutlar burada devreye giriyor.), söndüren bir hale getirdim.

433mhz_modifiye

433mhz_modifiye

IF PORTA.1=0 THEN
VERICI=10
GOSUB GONDER
ENDIF

Programın ilk halinde butonların kontrolü sadece yukarıdaki komutlarla yapılmış ve sadece buton basıldığı zaman işlem yapıyordu. Butonu bıraktığımızda hiçbir işlem yapmıyordu. Programın bizim istediğimiz gibi çalışması için aşağıdaki komut satırları bütün butonlar için ayrı ayrı yazıldı.

IF PORTA.1=1 THEN
VERICI=15
GOSUB GONDER
ENDIF

Temel olarak bizim eklediğimiz kodlar yukarıdaki kalıp ile aynı.

İlk programda sadece butonlar basıldığında veri gönderiliyordu, biz butona basılmadığı zamanda veri göndererek devreyi istediğimiz hale getirdik.

Devrenin alıcı kısmında ise aşağıdaki komut satırı kullanılıyordu. Görüldüğü üzere sadece HIGH konutu vardı ve bu komut sadece LED’i yakmaya yarıyordu.

IF ALICI=10 THEN
HIGH PORTB.0
ENDIF

LED’i söndürmek için bizde aşağıdaki komut satırlarını ekledik ve böylece butona basılmadığı zaman LED sönük kalıyordu. LED’i söndürmek için bizde LOW komutunu kullanarak LED’in sönük kalmasını sağladık

IF ALICI=15 THEN
LOW PORTB.0	
ENDIF
rf-alici-verici-devresinde-yazilim-degisikligi

Şifre-Pass: 320volt.com

Yayım tarihi: 2008/08/10 Etiketler: , , , , , , ,



32 Yorum “RF Alıcı Verici Devresinde Yazılım Değişikliği

  1. ugurbaxiugurbaxi

    Paylaşımınız için teşekkürler…Peki bunun çekim aralığı nedir öğrenebilirmiyiz…yada bir op-ampla yükseltebilirmiyiz…

    CEVAPLA
  2. X-FiX-Fi

    cekim aralıgını alıcı verici kitler belirler piyasadaki 433mhz modüller max 50m idi yanlış hatırlamıyorsam daha kaliteli bişeyler bulup takarsan mesafe uzar

    CEVAPLA
  3. MyarbayMyarbay

    Peki arkadaşlar bu verici devresini pil ile beslediğimiz zaman pilin ömrü ne olacak çünkü devre sürekli gönderme işlermini yapıyor .

    devrenin çalışması gayet güzel ama pilin ömrü çok uzun olmaz diye düşünüyorum

    CEVAPLA
  4. savassavas

    Merhaba hocam çalışma çok güzel olmuş. Çalışmalarınızın devamını dilerim

    Şorum şu burada devredeki butonlar yerine bir tane pot koysak karşıya analog sinyal yollayım ve diğer tarafta alıcıda analog olarak bunu alabilir miyiz.

    Aslında amacım şu alıcı kısmında bir tane motor olacak normal dc motor bu şekilde alıcıda motorun hızını ayarlayabilirim diye düşünüyorum mümkünmüdür.

    CEVAPLA
  5. trigdartrigdar

    Selam hocam bir sorum olacaktı devreyi çalıştırıyorum şöyle bir hata veriyor “Real time simulation failed to start” bu hata neden kaynaklana bilir,ne yapmam lazım şimdiden teşekkür ederim.

    CEVAPLA
  6. sametsamet

    usta verici devresi nin yazılımı pıc 16f84 e göre değil 16f628 e göre yazılmış yazılımı pıc16f84 e göre değiştirebilirmisiniz

    CEVAPLA
  7. GöktuğGöktuğ

    Merhaba.. Rf devreleri kavramak icin basit bir devre gibi görünüyor bu çok güzel.. Ancak Pic e yazılacak komutlar o kadar mı? GOSUB GONDER yazmışsınız ama GONDER değişkeni tanımlanmamış yani ben biraz anlayamadım. Açıklayan bir arkadaş olursa sevinirim =) Teşekkürler =)

    CEVAPLA
  8. RamazanRamazan

    @Göktuğ bu sayfasa sadece yapılan değişiliklikler anlatıldı. devrenin tüm dökümanı ekli dosyada mevcut. dosyayı indirirsen gerekli olan herşey dosyada var.

    CEVAPLA
  9. gazigazi

    merhaba alıcı verici devresini entegreye programladım entegrelerin 17 nolu çıkışlarını alıcı ve vericiye bağladım mı çalışmıyor yardımcı olabilirsenız sevinirim ..

    CEVAPLA
  10. RamazanRamazan

    devrenizin bağlantılarını, elemanlarını iyice kontrol edin. hatta şöyle yapın alıcı-verici bağlamadan picin 17 numaralı bacaklarını birbirine bağlayıp o şekilde deneyin yine çalışmaz ise devrenizde bir sorun vardır. Çalışırsa alıcı-verici kitlerde vardır bir sorun.

    CEVAPLA
  11. maxwellmaxwell

    merhabalar,
    bu devreyi 3 tane 16f628a ve 1 tane 16f877 ile tek kanaldan seri haberleşme sağlayarak haberleştirmek mümkünmüdür.(Sıra sıra 628 lerden gelen bilgiyi 877 alacak.)
    cevabınızı bekliyorum

    CEVAPLA
  12. gazigazi

    17 nolu çıkışları birbirine bağladım mı devre çalısıyor ama alıcı verici taktım mı çalışmıyor alıcı ve vericiler aynı frekanslı diye aldım ama çalışmadı :S

    CEVAPLA
  13. RamazanRamazan

    @ Maxvell

    dediğini yapmak mümkün. bunun için yazıım ile biraz daha oynamak lazım…

    @Gazi

    kitleri aldığın yere bir uğra istersen. sorunun kitlerde anlaşılan.

    CEVAPLA
  14. maxwellmaxwell

    Ben denedim de ilk başta sadece 16f84a ile yapmaya çalıştım, yalnız alıcı kodlarını değiştirmedim sadece verici kodlarından bazılarını değiştirdim “3 tane verici olarak 84a kullandım” fakat simülasyon çalışmadı.Pic programlamada yeni olduğumdan elbette yanlışım vardır.Siz benim için yazılımla biraz oynayabilir misiniz.

    CEVAPLA
  15. MaxwellMaxwell

    Teşekkür ederim Ramazan Bey,

    Yazıyı inceledim fakat tam olarak faydalanamadım.Benim projem ona göre daha basit gibi, çünkü ben 3 sensörden gönderdiğim bilgiler sıra sıra gidecek yani sensörler arasında 20 şer metre olduğunu düşünürsek ve her gönderilen veri farklı farklı olduğundan hangi picden geldiği önemli değil de ne geldiği önemli çünkü piclerden “A” “B” “C” göndermem yeterli olacak buna göre işlemeler yapılacak buna göre arayüz hazırladım çünkü. Bu durumda veri gönderiminde çakışma olur mu sizce.Benim yaptığıma gelince:

    Yukarıdaki devreyi proteusta açtım ve verici kısmını kopyalayp alta 2 tane yapıştırdım ve birinci vericinin sadece 1. butonunu kullanıp diğerlerini devre dışı bıraktım.aynı işlemleri 2.buton ve 3.buton olarak kullandım fakat 3 ü aynı anda olunca çalışmıyor.bu konuda yardıma ihtiyacım var.

    CEVAPLA
  16. RamazanRamazan

    işte sorunda tam dediğiniz noktada. birden fazla verici(aynı frekanslı) aynı anda çalışmaz. bunu önlemek için şöyle bir sistem tasarlaman lazım;
    kullanacağın devrelerde 1 adet MASTER(yönetici) olacak.

    diğer picler ise SLAVE konumunda olacak ve bunların hepsinde ayrı bir ID -Numara,isim ne dersen artık- olacak. MASTER pic ile bunların hepsinin aynı anda çalışmasını engellemen lazım. sistemde 3 tane SLAVE var ise bunlarda A,B ve C olarak isimlendirilmiş ise şöyle yapacaksın;

    MASTER pic ilk olarak A pici ile iletişime geçmek için “A” verisini gönderecek bu sırada diğer picler “dinleyici”(alıcı) olacağından “A” verisi hangisinde tanımlı ise o pic ile haberleşek ve MASTER’ın istediği veriyi gönderecek.(diğer picler yine dinleyici) MASTER, A picinden veriyi aldıktan sonra B pici ile haberleşmek için “B” verisini gönderecek. bu seferde sadece B pici MASTER’ın istediği veriyi gönderecek. Sonra “C” verisini gönderecek bu seferde sadece C pici MASTER’ın istediği veriyi gönderecek.

    CEVAPLA
  17. MaxwellMaxwell

    Anladım o halde bunları araştırıp öğrenmek düşüyor bana, bu tarz örnek var mıdır acaba varsa paylaşarmısnız.
    yardımlarınız için çok teşekkürler.

    CEVAPLA
  18. RamazanRamazan

    Şahsen bende yok. ama nette biraz araştırırsan RF MASTER SLAVE şeklinde bişeyler bulabilirsin. Devreyi yapmaya niyetin varsa yardımcı olurum teknik anlamda. Teknik anlamda takıldığın bir yer varsa yardım edebilirim.

    CEVAPLA
  19. MaxwellMaxwell

    Evet kesin yapmam lazım şuan bununla uğraşmaktayım.Yardımcı olursanız çok iyi olur.

    CEVAPLA
  20. TurgayTurgay

    Okulda Pic i Assembly dilinde programlamayı öğreniyoruz. Ben de bu proje ödevim için böyle bişey yapmayı düşünüyordum. Kendi uğraşlarımla ve bir çok yanlışlarla Bu sistemi Assembly dilinde programlamaya uğraştım. Kısaca açıklarsam ; Alıcı pic ayrı verici pic ayrı programladım. Ancak daha yeni öğrendiğim için çok yanlışım vardır diye düşünüyorum. Aşağıda verici devresindeki pic için yazdığım program parçası var. Ancak benim yapacağım vericide portlar biraz farklı. Yani ; PortA ÇIKIŞ PortB GİRİŞ. Butonların hepsi B portuna bağlı. Yanlışım vardır elbet daha öğrenciyim 🙂

    Porgramın bir kısmı :

    BSF STATUS,5
    CLRF TRISA
    MOVLW h’FF’
    MOVWF TRISB
    BCF STATUS,5
    TEST
    BTFSS PORTB,0
    GOTO BUTON1
    BTFSS PORTB,1
    GOTO BUTON2
    BTFSSPORTB,2
    GOTO BUTON3
    .
    .
    BTFSS PORTB,5
    GOTO BUTON6
    GOTO TEST
    BUTON1
    MOVLW h’01’
    MOVWF PORTA,0
    GOTO TEST
    BUTON2
    MOVLW h’02’
    MOVWF PORTA,0
    GOTO TEST
    .
    .
    BUTON6
    MOVLW h’06’
    MOVWF PORTA,0
    GOTO TEST
    END

    CEVAPLA
  21. TurgayTurgay

    Alıcı devresindeki pic için de bir program yazdım ( Assembly )

    Program parçası :

    BSF STATUS,5
    CLRF TRISB
    MOVLW h’FF’
    MOVWF TRISA
    BCF STATUS,5
    TEST
    MOVF PORTA,W
    SUBLW h’01’
    BTFSS STATUS,2
    GOTO h_O2
    GOTO LED_1
    h_02
    MOVF PORTA,W
    SUBLW h’02’
    BTFSS STATUS,2
    GOTO h_03
    GOTO LED_2
    h_03
    MOVF PORTA,W
    SUBLW h’03’
    .
    .
    h_06
    MOVF PORTA,W
    SUBLW h’06’
    BTFSS STATUS,2
    GOTO TEST
    GOTO LED_6
    LED_1
    MOVLW b’00000001′ ; PORTB NİN 1 NOLU LEDİNİ YAK
    MOVWF PORTB
    GOTO TEST
    LED_2
    MOVLW b’00000010′ ; PORTB NİN 2 NOLU LEDİNİ YAK
    MOVWF PORTB
    GOTO TEST
    .
    .
    LED_6
    MOVLW b’00100000′ ; PORTB NİN 6 NOLU LEDİNİ YAK
    MOVWF PORTB
    GOTO TEST
    END

    Umarım anlaşılır olmuştur.

    CEVAPLA
  22. Mehmet AMehmet A

    Merhaba devreyi şekildeki gibi oluşturup hazırladım.
    Pic16f84a 17. bacakları kendi arasında köprülediğim halde devreyi çalıştıramadım.

    Bilgi ve yardımlarınıza ihtiyacım var

    CEVAPLA
  23. RamazanRamazan

    piclerin besleme voltajlarını. reset bacağı v osilatölerini kontrol edin.

    CEVAPLA
  24. kenankenan

    bu devreyi proje dersimiz için yapmaya karar verdik ve yaklaşık 3 haftadır uğraşıyoruz ve sonuç alamadık.bilen arkadaşlar varsa lütfen yardımcı olsunlar zor durumdayız .. burada devrenin simülasyonu var fakat uygulamada bu devreye rf alıcı verici modülü ekleyecekmiyiz? bu devreyi aynı şekilde kurduk simülasyonda ledler yanıyor fakat uygulamada yanmıyor lütfen acil yardım …

    CEVAPLA
  25. gazigazi

    bende denedim uygulamada olmadı alıcı verici bağlayınca ama alıcı verici uçlarını kablo ile birleştirdiğimde çalıştı alıcı verici ile yapamadım

    CEVAPLA
  26. EMREEMRE

    BASILINCA YANAN BIRAKILINCA SÖNEN
    VERİCİ
    TRISA=%11110
    TRISB=%00000011
    PORTA=0
    PORTB=0
    VERICI VAR BYTE
    BASLA:
    VERICI=0
    IF PORTA.1=0 THEN VERICI=10
    IF PORTA.2=0 THEN VERICI=20
    IF PORTA.3=0 THEN VERICI=30
    IF PORTA.4=0 THEN VERICI=40
    IF PORTB.0=0 THEN VERICI=50
    IF PORTB.1=0 THEN VERICI=60
    SEROUT2 PORTA.0,396,[VERICI]
    GOTO BASLA
    END

    ALICI
    TRISA=255
    TRISB=0
    PORTA=0
    PORTB=0
    ALICI VAR BYTE
    ALICI=0
    PAUSE 500
    BASLA:
    SERIN2 PORTA.0,396,[ALICI]
    IF ALICI=0 THEN PORTB=0
    IF ALICI=10 THEN PORTB.0=1 : PAUSE 100
    IF ALICI=20 THEN PORTB.1=1 : PAUSE 100
    IF ALICI=30 THEN PORTB.2=1 : PAUSE 100
    IF ALICI=40 THEN PORTB.3=1 : PAUSE 100
    IF ALICI=50 THEN PORTB.4=1 : PAUSE 100
    IF ALICI=60 THEN PORTB.5=1 : PAUSE 100
    GOTO BASLA
    END

    CEVAPLA
  27. sinansinan

    arkadaşlar rf alıcı verici set aldım ama hangi ucu pike hangi ucu vcc v.s bu şemayı yapmak istiyorum yardımınıza ihtiyacım var teşekkürler

    CEVAPLA
  28. emreemre

    kenan arkadaşım voltajı arttırın besleyici isis te tamdır fakat devrede enerji kaybı olur

    CEVAPLA

kenan için bir yanıt yazın Yanıtı iptal et

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir