Nrf24l01+pa ve pıc

erden43

Üye
Katılım
24 Kas 2013
Mesajlar
4
Puanları
1
Yaş
29
önceli̇kle merhabalar beni̇m sorum eli̇mde nrf24l01+pa alici veri̇ci̇ modül var ve bunun youtube da 1 km çeki̇m yaptiğini görmüştüm ama ben haberleşmesi̇ni̇ ardui̇no i̇le sağlayamadim bunun üzeri̇ne pic i̇le yapmaya karar verdi̇m ama bunun i̇çi̇n yeterli̇ deneyi̇mi̇m yok. pic i̇le bu modülü yaklaşik 800m mesafe haberleşti̇rebi̇li̇rmi̇yi̇z. yapabi̇li̇rsek nasil bi̇r yol i̇zlemem gereki̇yor yada yapan arkadaşlar var mi aranizda. bu modül yeri̇ne uygun mali̇yetli̇ başka önerebi̇leceği̇ni̇z modül var mi?

yardimci olursaniz sevi̇ni̇ri̇m.
şi̇mdi̇den teşekkürler.
 
Ben pek anlamam fakat arduino ile yapamadıysan pic ile hiç yapamazsın çünkü daha zordur bilgi ister.
 
Nrf modüllerinin sorunlu olduğunu duymuştum.Başka birşey kullan bence.
 
PIC İLE BU MODÜLÜ YAKLAŞIK 800M MESAFE HABERLEŞTİREBİLİRMİYİZ. YAPABİLİRSEK NASIL BİR YOL İZLEMEM GEREKİYOR

Yapılır fakat şu hususlara dikkat etmek gerekir

-Besleme önemli, modül veri yollarken akımın göçmemesi gerekir. Mesela beslemeyi arduino 5v pininden almak performansı düşürür, harici adaptör kullanmak arttırır.

-Bu modüllerin yanında verilen ucuz antenlerin performansı berbat, hiç takmasan da pek farketmiyor, uzun mesafe hedefleniyorsa daha kaliteli anten kullanılmalı

-800 metre açık alanda cihazlar birbirini görüyorsa haberleşme mümkün olur fakat arada binalar vs varsa çok zor.
 
Son düzenleme:
kusura bakmayın ben bunu düşünerek büyük harfle yazmadım sadece okunuş bakımından daha rahat olması açısından böyle yazdım zaten yinede özür dilerim böyle birşeye sebep olduğum için
Estf. özürlük bir durum değil, zaten siz yazmadan önce mesajı düzenleyip o yazım uslubu tavsiye kısmını fazla katı bulup kaldırmıştım, sıkıntı yok.
 
Yapılır fakat şu hususlara dikkat etmek gerekir

-Besleme önemli, modül veri yollarken akımın göçmemesi gerekir. Mesdela beslemeyi arduino 5v pininden almak performansı düşürür, harici adaptör kullanmak arttırır.

-Bu modüllerin yanında verilen ucuz antenlerin performansı berbat, hiç takmasan da pek farketmiyor, uzun mesafe hedefleniyorsa daha kaliteli anten kullanılmalı

-800 metre açık alanda cihazlar birbirini görüyorsa haberleşme mümkün olur fakat arada binalar vs varsa çok zor.
Bunun için önerebiliceginiz sağlam bir alıcı verici varmıdır pıc ile uyumlu çalışan
 
'**************************************************************** '* Name : NRF ALICI.BAS1 * '* Author : [select VIEW...EDITOR OPTIONS] * '* Notice : Copyright (c) 2019 [select VIEW...EDITOR OPTIONS] * '* : All Rights Reserved * '* Date : 01.03.2019 * '* Version : 1.0 * '* Notes : * '* : * '**************************************************************** @ __CONFIG 0x30E4 include "modedefs.bas" DEFINE OSC 8 ON INTERRUPT GoTo KESME asm AYAR: ;BANK 1 BCF STATUS ,RP1 BSF STATUS ,RP0 MOVLW B'00000000' ;PORTA 0-7 ÇIKIŞ MOVWF TRISA MOVLW B'00000000' MOVWF TRISC MOVLW B'00110000' ;PORTB 4-5 GİRİŞ MOVWF TRISB MOVLW B'01000000' MOVWF SSPSTAT MOVLW B'10000111' MOVWF OPTION_REG MOVLW B'01110000' MOVWF OSCCON MOVLW B'00000000' MOVWF ADCON1 MOVLW B'00100000' ; KESMELER AÇIK MOVWF INTCON MOVLW B'00000000' ;ADIE-SSPIE AÇIK MOVWF PIE1 CLRF WPUA ;BANK 0 BCF STATUS ,RP1 BCF STATUS ,RP0 MOVLW B'00100000' ; fosc/16 MOVWF SSPCON MOVLW B'00000000' ;ADC Kapalı MOVWF ADCON0 MOVLW 0X00 MOVWF PORTA MOVWF PORTB MOVWF PORTC BCF _CE BSF _CSN ;BANK 2 BSF STATUS ,RP1 MOVLW 0X00 ; adc yok MOVWF ANSEL MOVWF ANSELH BCF CM1CON0 ,C1ON BCF CM2CON0 ,C2ON CLRF WPUB ;BANK 0 BCF STATUS ,RP1 BCF STATUS ,RP0 MOVLW .90 ;41 DEC MOVWF _TMP2 MOVLW .140 ;5 DEC MOVWF _TMP1 MOVLW .4 ;161 DEC MOVWF _TMP0 DECFSZ _TMP0,F GOTO $-1 DECFSZ _TMP1,F GOTO $-5 DECFSZ _TMP2,F GOTO $-9 endasm TMR0=100 A1 VAR byte $21 A2 VAR BYTE $22 B1 VAR BYTE $23 B2 VAR BYTE $24 C1 VAR BYTE $25 C2 VAR BYTE $26 D1 VAR BYTE $27 D2 VAR BYTE $30 E1 VAR BYTE $32 E2 VAR BYTE $34 F1 VAR BYTE $36 F2 VAR BYTE $38 TMP0 VAR BYTE TMP1 VAR BYTE TMP2 VAR BYTE ;ZAMAN VAR BYTE KAM VAR WORD BAM VAR WORD KANAT VAR WORD KUYRUK VAR WORD MOTOR VAR WORD DUMEN VAR WORD SYMBOL CSN = PORTB.7 SYMBOL CE = PORTC.4 SYMBOL IRQ = PORTB.5 ;SURE VAR WORD 'CE = 0 'CSN = 0 A2 = 100 B2 = 100 C2 = 100 D2 = 100 E2 = 100 F2 = 100 ;DISABLE NRF: ; DISABLE CSN = 0 PAUSEUS 6 CE = 0 SSPBUF =$88 CALL GONDER CE = 0 PAUSEUS 6 CSN = 1 PAUSEUS 6 CSN = 0 PAUSEUS 6 SSPBUF = $20 'CONFIG 0011 1101 CALL GONDER 'power off,prx SSPBUF = $3D CALL GONDER PAUSEUS 6 CSN = 1 PAUSEUS 6 CSN = 0 PAUSEUS 6 SSPBUF = $21 ' EN_AA CALL GONDER ' 0000 0011 SSPBUF = $03 CALL GONDER PAUSEUS 6 CSN = 1 PAUSEUS 6 CSN = 0 PAUSEUS 6 SSPBUF = $22 ' EN_RXADDR: 0000 0011 CALL GONDER SSPBUF = $03 CALL GONDER PAUSEUS 6 ' CSN = 1 ' PAUSEUS 6 ' CSN = 0 ' PAUSEUS 6 ' SSPBUF = $50 ' CALL GONDER ' SSPBUF = $73 ' CALL GONDER ' PAUSEUS 6 CSN = 1 PAUSEUS 6 CSN = 0 PAUSEUS 6 SSPBUF = $23 'SETUP_AW 0000 0011 5 BYTE ADRES CALL GONDER SSPBUF = $03 CALL GONDER PAUSEUS 6 CSN = 1 PAUSEUS 6 CSN = 0 PAUSEUS 6 SSPBUF = $24 'SETUP_RETR OTOTEKRAR GÖNDERME İPTAL CALL GONDER SSPBUF = $00 CALL GONDER PAUSEUS 6 CSN = 1 PAUSEUS 6 CSN = 0 PAUSEUS 6 SSPBUF = $25 'RF_CH 2400 + $35 MHZ CALL GONDER SSPBUF = $35 CALL GONDER PAUSEUS 6 CSN = 1 PAUSEUS 6 CSN = 0 PAUSEUS 6 SSPBUF = $26 'RF_SETUP = 0db,1mbps,LNA default değerler CALL GONDER SSPBUF = $06 CALL GONDER PAUSEUS 6 CSN = 1 PAUSEUS 6 CSN = 0 PAUSEUS 6 SSPBUF = $27 'STATUS KESME BAYRAKLARI RESET CALL GONDER SSPBUF = $70 CALL GONDER PAUSEUS 6 CSN = 1 PAUSEUS 10 CSN = 0 PAUSEUS 6 SSPBUF = $2A ' RX_ADDR_P0 5 BYTE ADRESİ CALL GONDER ' ACK AKTİF İSE TX ADRESİ İLE AYNI OLMALI SSPBUF = $53 ' RX CİHAZ ACK VERİSİNİ BU KANAL ARACILIĞI CALL GONDER ' GÖNDERİRİ SSPBUF = $53 CALL GONDER SSPBUF = $53 CALL GONDER SSPBUF = $53 CALL GONDER SSPBUF = $54 CALL GONDER PAUSEUS 6 CSN = 1 PAUSEUS 6 CSN = 0 PAUSEUS 6 SSPBUF = $30 'TX_ADDR 5 BYTE ADRESİ CALL GONDER SSPBUF = $53 CALL GONDER SSPBUF = $53 CALL GONDER SSPBUF = $53 CALL GONDER SSPBUF = $53 CALL GONDER SSPBUF = $54 CALL GONDER PAUSEUS 6 CSN = 1 PAUSEUS 6 CSN = 0 PAUSEUS 6 SSPBUF = $31 'GÖNDERİLECEK BYTE UZUNLUĞU CALL GONDER SSPBUF = $06 CALL GONDER PAUSEUS 6 CSN = 1 PAUSEUS 6 CSN = 0 PAUSEUS 6 SSPBUF = $E1 'RX FIFO SİLME CALL GONDER PAUSEUS 6 CSN = 1 PAUSEUS 6 CSN = 0 PAUSEUS 6 SSPBUF = $E2 'TX FİFO SİLME CALL GONDER PAUSEUS 6 CSN = 1 pauseus 6 CSN = 0 PAUSEUS 6 SSPBUF = $20 'CONFIG 01011110 CALL GONDER SSPBUF = $3F ' TX_DS = IRQ ,POWER UP,2 BYTE CRC CALL GONDER ' POWER UP,2 BYTE CRC,rX MOD PAUSEUS 6 CSN = 1 CE = 1 PAUSE 20 ; ENABLE GOTO BASLA BASLA: ;IF IRQ = 1 THEN GOTO REUSE CSN = 1 PAUSEUS 6 CSN = 0 CE = 0 PAUSEUS 2 SSPBUF = $61 ; SAHTE SİNYAL MOSİ YE GÖNDERİLİYOR MİSO DAN AYNI ANDA CALL GONDER SSPBUF = $88 ; GELEN VERİLER DEĞİŞKENLERE AKTARILIYOR CALL GONDER A1 = SSPBUF ASM KESME: ALL: [B]DISABLE[/B] ;""""SPI""""""" ;BSF STATUS ,RP0 ; BCF STATUS ,RP0 ;BTFSS SSPSTAT ,BF BTFSS PIR1 ,SSPIF GOTO $-1 BCF PIR1 ,SSPIF ; MOVF SSPBUF ,W ; CLRF SSPBUF ; BSF _CSN RETURN ; RETFIE ENDASM 'ENABLE ;return end bu kod 16f690 ile yapılan rc kumanda içindir başlave kesme bloğunun tümünü koymadım sadece örnek olsun diye bir kanalın verisinin okunması var orada diğer kanallar da aynısının tekrarı kod asm basic karması nrf de önemli olan nrf ayarlarının düzgün yapılması ve spi haberleşme protokolunu iyi anlamak.koddaki nrf ayarları çalışşan ayarlardır verici kısmında tek değişiklik nrf nin verici olarak ayarlanması nrf kısmında ayarların diğer kısmı hep aynı
 

Forum istatistikleri

Konular
129,807
Mesajlar
930,287
Kullanıcılar
452,608
Son üye
murat620

Yeni konular

Geri
Üst