PIC16F628 ile 4 kanal alıcı verici RF uygulaması

Bu uygulamanın amacı, basit bir RF alıcı-verici mantığını PIC16F628A ile pratik olarak göstermektir. Devre iki ayrı bölümden oluşur: verici bölümünde anahtar bilgisi okunur ve RF üzerinden gönderilir, alıcı bölümünde ise gelen veri çözülerek ilgili çıkış aktif edilir. Temel anlatım 4 kanal üzerinden yapılmış olsa da, kaynak yorumlarda kod mantığının 8 kanala da uyarlanabildiği özellikle belirtilmiştir.

Not: Bu çizim bir Proteus ISIS simülasyon şeması olduğu için bazı gerçek donanım ayrıntıları sadeleştirilmiştir. Besleme bağlantıları, RF modülünün tam pin yapısı, anten düzeni, bypass kondansatörleri ve uygulamaya göre gerekli koruma elemanları gerçek devrede ayrıca düşünülmelidir.

4 kanal mı 8 kanal mı?

Devre 4 kanal olarak anlatılmıştır. Ancak kullanıcı yorumlarında, yapının aslında 8 kanal çalışmaya da elverişli olduğu ve kanal sayısının giriş/çıkış sayısı ile artırılabileceği açıklanmıştır.

Bu nedenle bu proje en doğru ifadeyle 4 kanal temel örnekten 8 kanala genişletilebilen PIC16F628A tabanlı RF alıcı-verici uygulaması olarak değerlendirilebilir.

Kanal artırma mantığı doğrudan RF modülünden değil, mikrodenetleyicinin kullandığı giriş ve çıkış sayısından gelir. Yani RF kit veri taşıyan bölümken, kaç kanal kullanılacağı esas olarak yazılım ve çıkış yapısı ile belirlenir. Çıkış sayısını artırmak isteyenler için yorumlarda 74HC595 önerisi de geçmektedir.

pic16f628-ile-4-kanal-alici-verici-rf-uygulamasi-devre-semasi-proteus-simulasyon

Devrenin çalışma mantığı

Verici tarafta PIC16F628A, dip switch veya butonlardan aldığı bilgiyi seri veri haline getirip RF verici hibritine yollar.

Alıcı tarafta ikinci PIC16F628A, RF alıcı hibritinden gelen veriyi okuyarak ilgili LED ya da çıkışı sürer.

Kaynak koddaki mantık çok basittir: verici, belirli bir başlık bilgisi ile birlikte PORTB durumunu gönderir; alıcı ise aynı başlığı yakaladıktan sonra gelen veriyi PORTB çıkışına yazar.

Bu yaklaşım, öğretici olması açısından güzeldir. Çünkü kullanıcı yalnızca RF modülünü değil, aynı zamanda veri paketleme, veri alma ve çıkış sürme mantığını da görmüş olur.

Hazır modül seçimi konusunda RF modüller hakkında genel bilgiler içeriği de faydalı olabilir.

Yazılım tarafında dikkat çeken noktalar

Kaynak kodda hem alıcı hem verici için INTRC_OSC_NOCLKOUT seçildiği görülüyor.

Yani bu yapı korunursa PIC16F628A dahili osilatör ile çalışır ve harici kristal zorunlu değildir.

Bu detay önemlidir; çünkü simülasyon şemasında kristal görünmemesi, gerçek devrenin eksik olduğu anlamına gelmez, doğrudan yazılım konfigürasyonu ile ilişkili olabilir.

Bir diğer önemli nokta, verici tarafında buton veya dip switch girişleri için PIC’in dahili pull-up yapısından yararlanılmasıdır.

OPTION_REG=7 ifadesi özellikle vurgulanmıştır. Bu nedenle dışarıdan her anahtar için ayrıca pull-up direnci konulmadan sade bir giriş yapısı elde edilebilir.

Not: Kaynak kod içindeki bazı yorum satırları ile gerçek ayarlar birebir örtüşmeyebilir.

Bu yüzden uygulamada yorum satırından çok, kullanılan konfigürasyon komutları ve PIC derleyici ayarları esas alınmalıdır.

RA0 ve RA1 neden kullanılmış?

Şemaya ve koda bakıldığında RF veri hattının doğrudan PIC16F628A’nın donanımsal RX/TX uçları yerine farklı I/O pinlerine bağlandığı görülüyor.

Bu, ilk bakışta kafa karıştırabilir. Ancak kaynak yorumlarda bu konu sorulmuş ve CMCON=7 ile ilgili pinlerin dijital giriş-çıkış olarak kullanılabildiği belirtilmiştir.

Burada esas amaç, donanımsal USART zorunluluğu olmadan basit seri veri alışverişini doğrudan seçilen pin üzerinden yürütmektir.

Bu yaklaşım her zaman en hızlı çözüm değildir ama basit RF veri taşıma denemeleri için yeterli olabilir. Benzer mantığı farklı projelerde görmek isteyenler için RF uzaktan kumanda uygulamaları da incelenebilir.

Proteus şemasında görünmeyen ama gerçek devrede düşünülmesi gerekenler

  • PIC16F628A ve RF alıcı-verici modüller için kararlı +5V besleme gerekir.
  • Her PIC’in besleme pinlerine yakın konumda 100nF bypass kondansatörü eklemek iyi olur.
  • RF modülün veri pini, besleme pini ve GND bağlantısı kullanılan hibritin gerçek pin dizilimine göre bağlanmalıdır.
  • Menzil yalnızca yazılım ile değil; modül kalitesi, anten yapısı, besleme temizliği ve ortam gürültüsü ile de doğrudan ilgilidir.
  • Simülasyonda görünen mantık doğru olsa bile, gerçek kartta topraklama ve besleme düzeni ihmal edilirse kararsız çalışma görülebilir.

Menzil ve uygulama sınırları

Kaynak açıklamaya göre devre açık alanda yaklaşık 150 metre, kapalı alanda ise yaklaşık 50 metre sorunsuz denenmiştir.

Bu değerler laboratuvar şartı değil, pratik gözlem olarak değerlendirilmelidir.

Kullanılan RF hibritin frekansı, çıkış gücü, besleme düzeni ve anten yapısı menzili ciddi biçimde etkiler.

Not: Yorumlarda 433 MHz hazır RF kitlerle çalışılabildiği ve örnek olarak ATX34/ARX34 benzeri modüllerin adı geçtiği görülüyor.

Ancak ana simülasyon şemasında kesin modül modeli verilmediği için uygulamada kullanılacak alıcı-verici kitin veri pini seviyesi ve besleme uyumu ayrıca kontrol edilmelidir.

Malzeme mantığı ve genişletme yapısı

Temel örnekte iki adet PIC16F628A, kanal sayısı kadar LED, kanal sayısı kadar buton veya dip switch ve hazır RF alıcı-verici hibriti kullanılır.

Kanal sayısı arttırılmak istenirse giriş ve çıkış sayısı da aynı mantıkla artırılmalıdır.

Bu yüzden aynı yapı 4 kanal, 8 kanal hatta daha fazla kanal için yeniden düzenlenebilir.

Daha gelişmiş bir uzaktan kontrol mantığı görmek isteyenler için 8 kanallı uzaktan kontrol örnekleri de fikir verebilir.

Uygulama açısından dikkat edilmesi gerekenler

  • Alıcı ve verici aynı beslemede çalışıyor ama farklı beslemelerde sorun çıkarıyorsa önce ortak topraklama mantığı, regülasyon kalitesi ve RF modül besleme temizliği kontrol edilmelidir.
  • Başlangıçta LED’lerin yanık gelmesi, çıkışların aktif seviye mantığı ile ilgilidir. Uygulamaya göre LED bağlantı yönü veya lojik terslenebilir.
  • RF hibrit yalnızca veri taşır; kanal sayısını belirleyen şey yazılım ve I/O yapısıdır.
  • modedefs.bas özel proje dosyası değil, PicBasic içindeki seri haberleşme tanımlarını kullanan standart kütüphane mantığındadır.

Bu proje, PIC16F628A ile temel RF veri gönderme ve alma mantığını öğretmek için hazırlanmış sade ama faydalı bir uygulamadır.

Kaynak anlatım 4 kanal üzerinden yapılmış olsa da, yorumlar ve güncel simülasyon görseli yapının 8 kanala genişletilebildiğini göstermektedir.

En güçlü tarafı, karmaşık protokoller yerine doğrudan anlaşılır bir veri akışı sunmasıdır. En zayıf tarafı ise Proteus şemasının gerçek uygulamadaki tüm donanım ayrıntılarını göstermemesidir.

Bu yüzden projeyi gerçek kartta kurarken besleme, RF modül pinleri, anten, filtreleme ve çıkış lojik seviyesi ayrıca gözden geçirilmelidir.

PIC16F628 ile 4 kanal alıcı veri RF uygulamasına ait picbasic pro kod dosyaları ve proteus isis simülasyon dosyaları;

Paylaş:

47 Yorum

  1. M
    Mehmet

    Selam , devre çok güzel olmuş , elinize sağlık.

    Yanıtla
  2. A
    atilla

    çok güzel bir devre yapmayı düşünüyoruz ancak alıcı ve verici hibriti nedir nereden temin edilir yaklaşık fiyatı nedir
    saygılar….

    Yanıtla
  3. R
    ramon

    selam devre güzel olmuş elinize sağlık. ben bu devrenin 8 kanallısını yapmak istiyorum. 8 kanallı kiti nerede bulurum. fiyatı nedir?

    Yanıtla
  4. A
    aykut54

    hibrit; bir çok malzeme ile yapılmış karma bir devredir.
    alıcı ve verici devresindede karma malzemeler; direnç,kondansatör,diyot,bobin… olduğundan dolayı kısacası bir paket halinde üretilmiş devreler olduğu için hibrit ismini almıştır.

    fiyatı ise 10 tl alıcı ve verici kiti.Her elektronik parça satan yerlerde bulabilirsin.

    Yanıtla
  5. O
    onur

    Merhaba devre güzel hazırlanmış bir sorum olacak kanal sayısını artırmak istediğimizde yine PIC16F628 mi kullanmamız gerekli

    Yanıtla
  6. P
    poyraz4224

    Selamün Aleyküm usta eline sağlık güzel olmuş 🙂 bu yazılımdaki modedefs.bas dosyasının içeriği nedir.

    Yanıtla
  7. A
    aykut54

    Merhaba arkadaşlar;
    Bir konuya burda deyineyim; Şimdi devremiz normalde 8 kanallı ama ben 4 kanal için devre oluşturdum yani 8 kanal için bu kodlar ile çalışmaya elverişli

    @ramon ve @onur devrede kanal sayısı arttırmamız için giriş sayımızı ya da çıkış sayımızı arrtımamız gerekir burda 4 kanal denilmiş 4 kanal 4 giriş ve 4 çıkış demek oluyor örneğin sen 8 kanal yapacaksın o zaman 8 adet giriş ya da 8adet çıkış kullanman gerekecek.

    RF kiti sadece veri yollamak ve almak için yanlış anlaşılmasın bu kit ile ister 10 kanal ister 33 kanal giriş ya da çıkışlı devre tasarlayabilirsin?

    include “modedefs.bas” Bu dosya ise poyraz seri iletişim için bize baundrate, paritybit…. gibi gerekli seri iletişim ile ilgili tanımlamalar ve kod tablosuna eklememiz için tanımlama yapmamız gerekecektir.

    include “modedefs.bas” bu dosya ile ayrıyaten tanımlama yapmamıza gerek yoktur;

    Kısacası;

    1 kanal ; 1 giriş ve 1 çıkıştan oluşmaktadır.
    8 kanal ; 8 giriş ve 8 çıkıştan oluşmaktadır.

    kanal sayısı için çıkış kanal sayısını arttırmak için 74hc595.

    Yanıtla
  8. P
    poyraz4224

    Kanal sayısını artırmak için “modedefs.bas” dosyasını içinde nasıl bir değişiklik yapmalıyız.

    Yanıtla
  9. A
    aykut54

    poyraz kanal sayısının modedefs.bas dosyası ile hiç alakası yoktur o dosya seri iletişim komutlarını özelliklerini kod içersine akuple eder.

    Kanal sayısı giriş ya da çıkış sayısı ile alakalı.

    Yanıtla
  10. M
    muratdmz

    aykut 54 istanbuldamı bu kitler. saha zahmet olmazsa hem senin hemde bu kitlerden satan yerlerin bilgilerini verirsen sevinirim.

    mailleşelim. kafamızdaki sorulara cevapları daha detaylı sorabiliriz..

    Yanıtla
  11. S
    sefa

    @aykut54 selam arkadaşım bizde senin yapmış olduğun projeyi yapacağız mödülü entegrenin neresine bağlıyacağız yardımcı olursan memnun olurum

    Yanıtla
  12. E
    eyup

    Selamlar; benim merak ettiğim verici devrede mesafeyi belirleyen eleman nedir. Nedenim ise kablosuz klavyemin mesafesi sadece 1,5m. ve bu mesafeyi artırmak için elimden birşey gelmemesi. Anteni klavye içinde arka kısma koymak yerine öne konumlamışlar, yani F1-F12 tuşlarının orada olacağına Space tuşununda önünde dar bi alanda konumlanmış. Bana fikir verebilirmisiniz, bu mesafeyi 5-6m civarına çıkarabilirmiyim ?

    Yanıtla
  13. H
    Hasan

    Merhaba 🙂 Ben bu devreyi yapmak istiyorum fakat veriler yetersiz malzeme listesini bulamadım kondansatör,transistör,diyot felan kulllanmadınızmı devrede?

    Yanıtla
  14. H
    Hasan

    Devre sahibi ile irtibata geçebilirmiyiz acaba ?

    Yanıtla
  15. H
    hasan_tas07

    kanal sayısı ile modedefs dosyasının alakası yok
    modedefs dosyası seri iletişimi yani serin ve serout komutunu çalışması için dahil ediliyor(pic basic de)

    Yanıtla
  16. H
    hasan_tas07

    kitler önemli değil arkadaşlar…
    önemli olan kitlerin ferkansı
    433 mhz olan bütün kitler çalışır.
    örn:atx34- arx34 kiti olabilir.
    pic basic te serin ve serout komutları 433mhz de çalışıyor…
    tabiki baund hızı da önemli 9600 baund da çalışıyor.bunun terslenmiş ve terslenmemiş olarak da gönderilmesi ferk ediyor.ayrıntılı bilgi işin seri iletişimi okuyun

    Yanıtla
  17. E
    emayer

    arkdaşlar bu devreyi yapmadım fakat daha gelişmişi üzerinde çalışıyorum şuanda.Malzeme listesi olarak baktığınızda pek bi malzemesei yok açık şemasında görüldüğü gibi 2 adet pic16f628a 4adet led 4 adet buton yada dıpswıtch 4 adet 330ohm direnç 2 adet 4mhz kristal ve rf alıcı verici kit bukadar yani.Modülü nereye bağlanacağı sorulmuş oda açıkca görülüyor piclerin 18 nolu pinleri modüllerin data pinlerine bağlanacaktır.Kolay gelsin.

    Yanıtla
  18. A
    aykut

    @hasan decvrede kullanılan malzemeler isis şemasındakilerdir…. PİC işlemcisine +5v vermen gerekir birde alıcı ve verici rf hybrid devlerine….yüksek gerilim ya da ters gerilim verme anlamadığın yer varsa yardımcı olalım

    Yanıtla
  19. H
    Hasan

    2 Tane PIC16F628A(628 mi 628A mı?),kanal sayısı kadar direnç,led ve dipswitch öylemi ?

    Yanıtla
  20. H
    Hasan

    Herşeyi anladımda programı nasıl atacağımızı anlamadım dolu dosya var rarda ?

    Hangi programı kullanarak hangi dosyaları alarak biraz açıklama yaparsanız bu konuda 🙂

    Yanıtla
  21. A
    Ali

    Proteus dosyasını açamadım versiyon sorunu oluyor galiba. Hangi versiyonda yapmıştınız?

    Yanıtla
  22. R
    RAMAZAN

    arkadaşlar devrenın tepkisi bazı uygulamalar için yavaş kalıyor. bunu nasıl hızlandırabiliriz ? yazılımda bi bekleme döngüsü yok. ama yine de yavaş nedenini anlayamadım.

    Yanıtla
  23. A
    ahmet

    Allah razı olsun
    güzel paylaşım

    Yanıtla
  24. V
    Vedat

    selam arkadaşlar ben bu devreyi yapmak istiyorum.fakat aklıma takılan bi soru var.ben rf modülünü alıcı verici modülünü hazır olarak satın alıcam.rf alıcı 8 ayaklı verici ise dört ayaklı.bunların bağlantısını nasıl yapıcam.yardımıcı olanlara şimididen teşekkürler.devrenin baskı devre şemasını ares de verirseniz sevinirim.

    Yanıtla
  25. A
    Ali Öztürk

    Merhabalar,
    Bu piclere +5 v girişi nereden yapılıyor? isis simulasyonunda ne güç kaynağı var nede osilator bağlanmış, ne direnç nede kondansatör var. sadece piclerle ledler arasında kablolar var. açıkçası bu devreyi gerçek hayatta nasıl gerçekleyeceğimi çözemedim. bu devreyi gerçekleştiren birisi cevaplarsa çok makbule geçicek.

    Yanıtla
  26. 2
    2_parmak

    Yazarla iletişime geçmemiz mümkünmü acaba,bu seri iletiçim dosyası ve modedefs.bas dosyası ile ilgili bilgi verebilirmisiniz .zip dosyasının içinde böyle bir dosya yok ve nasıl nereye eklenecek bilgi verirmisiniz lütfen

    Yanıtla
    1. G
      gevv

      @2_parmak modedefs.bas picbasic derleyicisinin içinde var standart kütüphane özel değil

      Yanıtla
  27. 2
    2_parmak

    Lütfen biraz daha açarmısın yazıyorum ama siteye düşmüyor.yani ben bu projeyi yaparken hex dosyaları haricinde bunlarımıda atacağım pice pic basic kullanmadım hiç.

    Yanıtla
    1. G
      gevv

      verici devresindeki pike RF verici.hex yüklenecek alıcı devresindeki pike RF alıcı.hex yüklenecek

      Yanıtla
  28. 2
    2_parmak

    Peki .bas dosyaları ne işe yarıyor birde sanırım özelden konuşamıyoruz bu konuyu kaçıncıya yazıyorum yönetim siliyor.

    Yanıtla
    1. G
      gevv

      kaynak kod dosyası devrenin çalışma şeklini değiştirmek isteyen kişiler kaynak kod üzerinde değişiklik yapıp yeni hex dosyası oluşturur yükler

      benim pic programlama konusunda bilgim yok yazar ile iletişime geçebilirsiniz yazının sorunda yazar bilgisi bölümünde link var

      Yanıtla
  29. M
    murat

    abi bana 12 kanallı rf alıcı verici 16f628a nın pıc programları lazım devre hazır ama programı bulamıyorum yardım ederseniz sevinirim.teşekkürler..

    Yanıtla
  30. M
    mustafa

    arkadaşlar devreyi kurdum çalıştırdım ama.ilk başlangıçta ledlerin tamamı yanıyor.butona bastığımda hangi butona bastıysam o led sönüyor bıraktığımda tekrar yanıyor.ben basınca yanmasını istiyorum fakat bir türlü yapamadım. bu arada usb ile programlama yapmıyorum.com çıkışı üzerinden ıc prog ile yapıyorum.

    Yanıtla
  31. L
    loto

    merhaba burdaki verilen kodlar 4 kanal için mi 8 kanal içinmi anlayamadım videoda 4 kanal yapılmış. birde verilen kodlar hangi programda yazılıp pic’e atlacak yardımcı olursanız sevinirim.

    Yanıtla
    1. H
      hasan

      Görüntüde 4 kanallısı var ama, dosyalar 8 kanallısı için

      Yanıtla
  32. S
    sefa demir

    sayın gevv;
    bu projede piclerin tx rx bacağını kullanmak yerine picin vericide porta.1 ve alıcıda porta.0 bacağı kullanılmış acaba bu doğru mu?
    yani ben onları analog çıkış biliyorum ve rf alıcı vericide dijital data alıp gönderdiği için bir sorun teşkil etmez mi?

    veya rf alıcı verici olarak ne kullandınız?

    teşekkürler…

    Yanıtla
    1. H
      hasan

      CMCON=7 kodu ile PIC’in giriş çıkışları digital yapılmış, RX ve TX pinleri neden kullanılmamış ben de anlamadım.

      Yanıtla
  33. M
    Mine

    Merhabalar,

    ellerinize, emeğinize sağlık. Çok güzel bir çalışma olmuş.
    RX modülünün Analog girişini mi kullandınız?

    Rx-TX modüllerinin pinlerinin PIC’te girişleri nelerdir, söyleyebilir misiniz?

    Şimdiden çok teşekkür ederim.
    İyi çalışmalar.

    Yanıtla
    1. H
      hasan

      Normal olarak 16F628A PIC’inin 7.pini RX, 8.pini TX olarak kullanılır. Ama burada 18. pinler kullanılmış.

      Yanıtla
  34. H
    hasan

    Devrenin 8 kanallı olanını denedim ve çalıştığını gördüm. Ancak bir sorun var ki o da şudur, alıcı ve verici devreleri aynı kaynaktan beslendiği(aynı pil, aynı adaptör v.b) zaman çalışmakta; fakat farklı kaynaktan beslendikleri zaman çalışmamaktadır. Farklı kaynaktan beslendiği zaman neden çalışmamaktadır. Rf alıcı verici modüllerle farklı yerlerde çalışmaları, dolayısıyla farklı besleme kaynaklarından beslenmeleri lazım. Yardımcı olabilecek kişilere teşekkürler.

    Yanıtla
  35. B
    berati

    Selam ben bu devreyi gerçeklemeyi düşünüyorum da devre hakkında daha fazla bilgi verebilir misiniz acaba?

    Yanıtla
  36. T
    Tarık

    Merhabalar bu projenin mikro c ko dosyaları varmıdır? Yoksa yardım sever biri yazabilir mi ?

    Yanıtla
  37. C
    Ceyhun Bostancı

    Hocam kullanmış oldugunuz RF modüller hakkında bilgi verirmisiniz.Bende yapmayı düşünüyorum ama hangi RF modül alacağımı bilmiyorum öneriniz varmıdır?

    Yanıtla
  38. O
    Osman Ertuğrul Altunkol

    8 Kanalli RF baskı devresi bulunan paylaşabilir mi? İyi çalışmalar

    Yanıtla
  39. M
    murat

    merabalar devre yi kurdum test ettim yanlız verici ve alıcı kısım çalıştıgında pı in cıkışındaki 8 kanal led yanmaya başlıyor ben burdan butona bastıgımla bastıgım kanalın ledi sönüyor. Ben devreyi başlattıgımda leddlerin yanmamasını bilgi gönderince yanmasını istiyorum yardımcı olabilirmisiniz

    Yanıtla
    1. E
      Ensar Alemdaroğlu

      Ledleri ters bağla, en kolay çözüm bu 😀

      Yanıtla
  40. A
    Asım Ertaş

    ben uzaktan kumandalı zil devresi yapıcam yanlız kumanda kapı önünde olucak zil ise oda içinde yardımcı olursanız sevinirim

    Yanıtla

Yorum Yap