ufm-a12wpa kullanımı hakkında yardım lütfen

Başlatan timu57, 04 Ocak 2011, 12:55:27

timu57

Merhaba
İki adet  PIC 16F877A  ile bir butona basıldığında ikinci PIC teki bir ledin yanıp sönmesini sağlayan programı forumdaki örneklere bakarak yazdım, kurdum çalıştı fakat udea nın ufm-a12wpa rf modülü ile bunu kablosuz olarak yapmaya çalıştığımda olmadı. Rf modülün start of frame ve end of frame datalarınıda programa ekledim fakat bir türlü sonuç alamadım.
Rf modülün kullanma klavuzunda rf modülleri antenleri takılı iken birbirine 3mt'den yakın bir mesafede çalıştırırsanız bozulabilir dediği için anten takmadan denedim.
Oyüzden mi çalışmadı yoksa programda mı bir hata var bilemedim.
Yardımcı olursanız çok sevinirim arkadaşlar..

verici kısmının programı:

'****************************************************************
'*  Name    : verici2.BAS                                        *
'*  Author  : by_timu                                           *
'*  Notice  : Copyright (c) 2010 [select VIEW...EDITOR OPTIONS] *
'*          : All Rights Reserved                               *
'*  Date    : 19.12.2010                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'****************************************************************
@ DEVICE pic16F877A
@ DEVICE pic16F877A, WDT_ON
@ DEVICE pic16F877A, PWRT_ON
@ DEVICE pic16F877A, PROTECT_OFF
CMCON=7
ADCON1=7
PortB=0
TrisB=255
PortA=0
TrisA=%00000000
SYMBOL CIKIS=PORTA.0
SYMBOL TUSA=PORTB.1
VER VAR BYTE
PAUSE 200
'------------------------------------------------------------------------------
BASLA: VER=0
IF TUSA=1 THEN
VER=88
gosub gonder
WHILE TUSA=1 ' hala tuşa basılı tutuluyor ise
WEND         ' bırakılıncaya kadar bekle.
endIF        ' tuş bırakılınca buraya geç.
PAUSE 200
GOTO BASLA
'-------------------------ALT PROGRAMLAR---------------------------------------
gonder:
SEROUT2 CIKIS,396,[REP$AA\5,REP$00\5,REP$FF\5]
SEROUT2 CIKIS,396,[$24,$52,$46,"E","T","E",ver,$45,$4E,$44,$0D,$0A]
SEROUT2 CIKIS,396,[$24,$52,$46,"E","T","E",ver,$45,$4E,$44,$0D,$0A]
SEROUT2 CIKIS,396,[$24,$52,$46,"E","T","E",ver,$45,$4E,$44,$0D,$0A]
SEROUT2 CIKIS,396,[$24,$52,$46,"E","T","E",ver,$45,$4E,$44,$0D,$0A]
return
END

alıcı kısmının programı:

'****************************************************************
'*  Name    : alıcı2                                      *
'*  Author  : by_timu                    *
'*  Notice  : Copyright (c) 2010 [select VIEW...EDITOR OPTIONS] *
'*          : All Rights Reserved                               *
'*  Date    : 19.12.2010                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
@ DEVICE pic16F877A
@ DEVICE pic16F877A, WDT_ON
@ DEVICE pic16F877A, PWRT_ON
@ DEVICE pic16F877A, PROTECT_OFF
CMCON=7
ADCON1=7
PORTA=0
TRISA=%00000001
PORTB=0
TRISB=%00000000 'B portu tamamı çıkıs yapıldı.
'---------------------------degiskenler------------------------------
AL VAR BYTE
LEDA VAR PORTB.5
GIRIS VAR PORTA.0
'-----------------------------B A S L A N G I Ç ---------------------------
CLEAR
PAUSE 500
PORTB=0 'tüm çıkıslar low seviyesinde
'-------------------------------------------------------------------------------
BASLA:
SerIn2 GIRIS,396,[WAIT ("ETE"),AL]
IF AL=88 THEN
TOGGLE LEDA
ENDIF
PAUSE 200
GOTO BASLA
END

X-Fi

Anten takıp yaklaştırırsanız modülün RX kısmındaki hassas LNA zarar görebilir antensiz denerseniz böyle bi sorun olmaz ve antensizde ufm 12 wpa modülü 20m civarında çalışıyor.

Donanımsal bir sorun yaşıyor olabilirsiniz picbasic den anlamadığım için yardım edemiyorum.
http://www.coskunergan.dev/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)

Ruzgarbey

ufm12wpa transparan bir modüldür.dahili USART kullanmanızı tavsiye ederim.modül transparan olduğu için SEROUT2 CIKIS,396,[REP$AA\5,REP$00\5,REP$FF\5]  preamble verisi göndermenize gerek yoktur.
gonder :   alt programında iki veri arasında yeterli bekleme yapmıyorsunuz.datasheetinde iki veri gönderme arasındaki sürehesaplaması verilmiş ona göre beklemeyapıp tekrar veri gönderin.modül transparan olduğu için veriyi tekrar tekrar göndermenize gerek yok sadece 1 defa veriyi gönderin yeterli.
SEROUT2 CIKIS,396,[$24,$52,$46,"E","T","E",ver,$45,$4E,$44,$0D,$0A]
daha öncede dediğim gibi dahili usart kullanarak veriyi gönderip ve alırsanız pprojeniz için daha iyi olacaktır.
HSEROUT [$24,$52,$46,"E","T","E",ver,$45,$4E,$44,$0D,$0A]
kolay gelsin..

Hayatta En Hakiki Mürşid İlimdir. M.K. ATATÜRK

KIRIKDR

hocam bu 10 km mesafesi olan modul degil mi

Ruzgarbey

Alıntı yapılan: KIRIKDR - 06 Ocak 2011, 17:18:10
hocam bu 10 km mesafesi olan modul değil mi
evet.udeanın belirttiğine göre açık alanda 10 km ye kadar iletişim yapabilen bir modüldür.udeanın bu modülü son baktığımda 170 tl civarlarında idi.bu modüle göre bu para bana göre çok fazla.udea amatör elektronik ve arge yapan firmalara hitap etmiyor maalesef :(
şimdi şöyle bir düşünelim.diyelimki amatör veya hobi amaçla ilgilenen bir elektronikçiyiz.3 km ilerde bir su pompanız var ve bunu evden veya herhangi biryerden açıp kapatmak istiyorsunuz.bunun için ne lazım en az 2 adet rf modül.transreceiver olursa motorun çalışıp çalışmadığını vs anlarız daha iyi.
gidiyoruz udeanın sitesine ;
2 adet ufm12-wpa = 344 tl
2 adet anten         = 75 tl
daha projeye başlamadan 419 tl sadece rf modüllere gidiyor.yani daha başlamadan insanın şevki kırılıyor.yurtdışındaki modüllere bakalım.aynı özellikteki modül 60 $ buyrun burdan yakın.maalesefki ülkemizdeki ar-ge çalışmlarının az olmasının sebeblerinden sadece birini görüyoruz.
saygılarımla..
Hayatta En Hakiki Mürşid İlimdir. M.K. ATATÜRK

KIRIKDR

haklısın rüzgar bey bende gecen yıl almaya niyetlenmistim ama masrafının cok olması sebebi ile vazgecmistim..model ucak yapmıstım onu ucurmak icin kullanacaktım öylece kaldı...Gözü kör olsun amatörlüğün :D :D

X-Fi

Arkadaşlar sizlere yeni bir seçenek olmak adına modül üretmeye başladık kendi ürünlerimizde kullanıyoruz satışınıda yapacağız.

Buradan inceleyebilirsiniz.

www.rfmodul.com

çok yakında tam anlamıyla hazır olacak bazı modüllerimiz eksik o yüzden reklam yapmaya başlamadık sizin işlerinizde drfm500pa uygun sanırım fiyatıda 85 lira + kdv.
http://www.coskunergan.dev/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)

Ruzgarbey

#7
Alıntı yapılan: X-Fi - 07 Ocak 2011, 09:35:28
Arkadaşlar sizlere yeni bir seçenek olmak adına modül üretmeye başladık kendi ürünlerimizde kullanıyoruz satışınıda yapacağız.

Buradan inceleyebilirsiniz.

www.rfmodul.com

çok yakında tam anlamıyla hazır olacak bazı modüllerimiz eksik o yüzden reklam yapmaya başlamadık sizin işlerinizde drfm500pa uygun sanırım fiyatıda 85 lira + kdv.
modüller işlev olarak güzel görünüyorlar ama drfm500pa modülde pa için 12v  mcu iletişim için 3v kullanılmış.şahsım tarafından tercih edilmeyen bir durum :) modülün içine 3~5v level interface koyulsaydı çok daha hoş olurdu.transparan bir ürün olduğu anlaşılıyor.modüllerden alıp test etmek isterim,siz ne zaman satış yapmaya başlarsanız.sitede bir fiyat göremedim.umarım yakın zamanda eklersiniz.umarım ülkemiz RF konusunda daha çok çeşitliliğe sahip olur.
X-Fi   2004~2006 yıllarında anfilerle uğraşıyorduk bugün RF modüller hakkında fikir üretiyoruz.bunda Pic i keşfetmemin büyük fonksiyonu var.500 w mos anfi hala çalışıyor,hergün olmasada arada müzik dinliyorum :) seni uzun zamandır  hiç online görmüyorum sanırım MSN adresin değişti.MSN adresini mesajla bildirirsen yeniden eklerim.en son konuştuğumuzda bir işe başlayacağını yazmıştın,anladığım kadarı ile başlamışsın.başarılar dilerim.saygılarımla..
Hayatta En Hakiki Mürşid İlimdir. M.K. ATATÜRK

X-Fi

#8
Teşekkürler şimdi DRFM-600-PA üzerinde çalışıyoruz mcu için 5V, RF pwr kısmı 3V ile beslenecek. Bu versiyonda ek olarak;

*-121dbm(min) alıcı hassasiyeti
*sıcaklık okuma
*kendi besleme seviyelerini okuyabilme
*64 byte Rx Tx buffer
*256kbps(max) baud hızı

Gibi birkaç özellik daha ekledik yazılıma o daha hazır değil ama DRFM-500-PA yı satın alabilirsiniz tüm çalışmalar bitince fiyatlarıda ekleyeceğiz. Kolay gelsin.

not: msn adresim değişti tekrar göndereyim haklısın oradan buraya :)

http://www.coskunergan.dev/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)

Ruzgarbey

Alıntı yapılan: X-Fi - 07 Ocak 2011, 13:42:57
Teşekkürler şimdi DRFM-600-PA üzerinde çalışıyoruz mcu için 5V, RF pwr kısmı 3V ile beslenecek. Bu versiyonda ek olarak;

*-121bdm(min) alıcı hassasiyeti
*sıcaklık okuma
*kendi besleme seviyelerini okuyabilme
*64 byte Rx Tx buffer
*256kbps(max) baud hızı

Gibi birkaç özellik daha ekledik yazılıma o daha hazır değil ama DRFM-500-PA yı satın alabilirsiniz tüm çalışmalar bitince fiyatlarıda ekleyeceğiz. Kolay gelsin.

not: msn adresim değişti tekrar göndereyim haklısın oradan buraya :)
fiyatlarınızı büyük bir sabırsızlıkla bekliyor olacağım.umarım kısa bir zaman zarfında hazır olur.
Hayatta En Hakiki Mürşid İlimdir. M.K. ATATÜRK

KIRIKDR

insallah X-Fi hocam cok güzel büyük bir eksiği kapatacak calısmalarınızda basarılar dilerim bir an evvel neticelenmesini dört gözle bekliyoruz :D  :o

timu57

Alıntı yapılan: Ruzgarbey - 06 Ocak 2011, 10:59:11
ufm12wpa transparan bir modüldür.dahili USART kullanmanızı tavsiye ederim.modül transparan olduğu için SEROUT2 CIKIS,396,[REP$AA\5,REP$00\5,REP$FF\5]  preamble verisi göndermenize gerek yoktur.
gonder :   alt programında iki veri arasında yeterli bekleme yapmıyorsunuz.datasheetinde iki veri gönderme arasındaki sürehesaplaması verilmiş ona göre beklemeyapıp tekrar veri gönderin.modül transparan olduğu için veriyi tekrar tekrar göndermenize gerek yok sadece 1 defa veriyi gönderin yeterli.
SEROUT2 CIKIS,396,[$24,$52,$46,"E","T","E",ver,$45,$4E,$44,$0D,$0A]
daha öncede dediğim gibi dahili usart kullanarak veriyi gönderip ve alırsanız pprojeniz için daha iyi olacaktır.
HSEROUT [$24,$52,$46,"E","T","E",ver,$45,$4E,$44,$0D,$0A]
kolay gelsin..



çok teşekkürler hocam
dediğinizi deneyip en kısa zamanda foruma geri dönücem inşallah

timu57

ben bu modülleri hala haberleştirmeyi başaramadım :(
iki PIC var verici tarafındaki b portunu komple giriş olarak ayarladım ve her pin bir switch e bağlı
alıcı tarafındaki b portunuda çıkış olarak ayarladım ve her pin bir lede bağlı
vericiden hangi switche 1 bilgisi verirsem alıcıdaki o led yansın istiyorum
yani vericideki portb.1=1 ise alıcıdaki portb.1e bağlı led yansın örneğin.
bu işi yine bu forumdan yardım alarak iki PIC i kablo ile bağlayarak seri iletiişimle başarabildim
ama udea modül ile bir türlü yapamıyorum.
yazdığım programlar bunlar, nerde hata yapıyorum acaba_?

VERİCİ PROG:

@ DEVICE pic16F877A
@ DEVICE pic16F877A, WDT_ON
@ DEVICE pic16F877A, PWRT_ON
@ DEVICE pic16F877A, PROTECT_OFF

DEFINE HSER_RCSTA 90h
DEFINE HSER_TXSTA 20h
DEFINE HSER_BAUD 2400
define HSER_SPBRG 25
DEFINE HSER_CLROERR 1

CMCON=7
ADCON1=7
PortB=0
TrisB=255
ver var byte
pause 350

BASLA:
IF NOT PORTB=0 THEN 'PORTB nin girişlerine basılmış ise
ver=portb 'portb nin içeriğini okuduk.
gosub gonder 'alıcı pice gönderiyoruz.
ENDIF
if PORTB=0 then
ver=0
gosub gonder
endif
GOTO BASLA

'-------------------------ALT PROGRAMLAR---------------------------------------
gonder:

HSEROUT [$24,$52,$46,"T","I","M",ver,$45,$4E,$44,$0D,$0A]
pause 350
HSEROUT [$24,$52,$46,"T","I","M",ver,$45,$4E,$44,$0D,$0A]
pause 350
HSEROUT [$24,$52,$46,"T","I","M",ver,$45,$4E,$44,$0D,$0A]
pause 350
HSEROUT [$24,$52,$46,"T","I","M",ver,$45,$4E,$44,$0D,$0A]
pause 350

return
END

ALICI PROG:

@ DEVICE pic16F877A
@ DEVICE pic16F877A, WDT_ON
@ DEVICE pic16F877A, PWRT_ON
@ DEVICE pic16F877A, PROTECT_OFF

DEFINE HSER_RCSTA 90h
DEFINE HSER_TXSTA 20h
DEFINE HSER_BAUD 2400
define HSER_SPBRG 25
DEFINE HSER_CLROERR 1
CMCON=7
ADCON1=7
PORTB=0
TRISB=%00000000 'B portu tamamı çıkıs yapıldı.
'---------------------------degiskenler------------------------------
AL VAR BYTE
'-----------------------------B A S L A N G I Ç ---------------------------
CLEAR
PAUSE 350
PORTB=0 'tüm çıkıslar low seviyesinde
'-------------------------------------------------------------------------------
BASLA:
Hserin [wait("TIM"),AL]
portb=AL
GOTO BASLA
END

timu57

cevaplarınız için teşekkürler.
modülleri haberleştirmeyi başardık sonunda
verici tarafta b portu komple giriş, alıcı taraftaki PIC te b portu komple çıkış(yani led bağlı)
alıcı ve verici kodları aşağıdaki gibidir;

VERİCİ PROGRAMI:
@ DEVICE PROTECT_ON , WDT_OFF , BOD_OFF , PWRT_OFF
ADCON1=7
INCLUDE "MODEDEFS.BAS"
TRISA=255
TRISB=255
TRISC=%10111111
TRISD=255
TRISE=%111

GONDER VAR PORTC.6
AL VAR PORTC.7
RESET VAR PORTD.2
D1 VAR BYTE
R VAR BYTE
F VAR BYTE
E VAR BYTE
N VAR BYTE
D VAR BYTE
CRR VAR BYTE
LF VAR BYTE
BUTON VAR BYTE

OUTPUT RESET
HIGH RESET
D1 = $24
R = $52
F = $46
E = $45
N = $4E
D = $44
CRR = $0D
LF = $0A
PAUSE 1000
MAIN:
BUTON=PORTB
PAUSE 332
SEROUT2 GONDER,396,[D1,R,F,"PBP",BUTON,E,N,D,CRR,LF]

GOTO MAIN



ALICI TARAF PROGRAMI;

@ DEVICE PROTECT_ON , WDT_OFF , BOD_OFF , PWRT_OFF
ADCON1=7

TRISA=255
TRISB=0
TRISC=%10111111
TRISD=255
TRISE=%111
INCLUDE "MODEDEFS.BAS"
GONDER VAR PORTC.6
AL VAR PORTC.7
RESET VAR PORTD.2
D1 VAR BYTE
R VAR BYTE
F VAR BYTE
E VAR BYTE
N VAR BYTE
D VAR BYTE
CRR VAR BYTE
LF VAR BYTE
LED VAR BYTE
OUTPUT RESET

HIGH RESET
D1 = $24
R = $52
F = $46
E = $45
N = $4E
D = $44
CRR = $0D
LF = $0A
PAUSE 1000
MAIN:
PORTB=LED

SERIN2 AL,396,[WAIT("PBP"),LED]

GOTO MAIN

ısıs devre şemasınıda koyacaktım ama beceremedim :(
şimdi çift taraflı haberleşme yapmaya çalışıyorum fakat bir türlü başaramadım
yani devre aynı haliyle kalacak,ek olarak b portunun butonlu olduğu tarafta a portuna ledler
bağlı olacak, diğer taraftaki b portuna ledler bağlı olan taraftada a portuna butonlar bağlı olacak şekilde çalıştırmam gerekiyor.
5 gündür uğraşıyorum yapamadım. varmı yardım edebilecek kimse?
umarım derdimi düzgün bi şekilde anlatabilmişimdir.
yazdığım ama çalışmayan kodları isterseniz onlarıda ekleyebilirim...

eln07

Arkadaş halletmiş ama ben size başka bir modül daha önereyim.
Bu modül çok esnek karşında bir bilgisayar var gibi düşün sadece serout pin,hız.data data diyorsun cihaz başına sonuna kendisi ekliyor gereken dataları.
Ayrıca kendi Rf ağını kurabilirsin modülün haberleşme sırasında kullandığı bir IDsi var bu ID ye göre alıcı modül cevap veriyor.Modül çift yönlü yani hem alıcı hem verici.9600 bautta denedim üstüne çıkmadım daha..
Fiyatıda uygun varın siz arayın fiyatını.
Madülün adı DRF2070d27..