nrf24l01

6
nRF24L01 1. Thông số kỹ thuật: - Radio o Hoạt động ở giải tần 2.4G o Có 126 kênh o Truyền và nhận dữ liệu o Truyền tốc độ cao 1Mbps hoặc 2Mbps. - Công suất phát: o Có thể cài đặt được 4 công suất nguồn phát: 0,-6,-12,-18dBm. - Thu: o Có bộ lọc nhiễu tại đầu thu o Kếch đại bị ảnh hưởng bởi nhiễu thấp (LNA) - Nguồn cấp: o Hoạt động từ 1.9-3.6V. o Các chân IO chạy được cả 3.3 lẫn 5V. - Giao tiếp: o 4 pin SPI o Tốc độ tối đa 8Mbps o 3-32 bytes trên 1 khung truyền nhận - Phân tích: o Modul nRF24L01 hoạt động ở tần số sóng ngắn 2.4G nên Modul này khả năng truyền dữ liệu tốc độ cao và truyền nhận dữ liệu trong điều kiện môi trường có vật cản o Modul nRF24L01 có 126 kênh truyền. Điều này giúp ta có thể truyền nhận dữ liệu trên nhiều kênh khác nhau. o Modul khả năng thay đổi công suất phát bằng chương trình, điều này giúp nó có thể hoạt động trong chế độ tiết kiệm năng lượng. o Chú ý: Điện áp cung cấp cho là 1.9 3.6V. Điện áp thường cung cấp

Upload: songoku711

Post on 02-Oct-2015

214 views

Category:

Documents


1 download

DESCRIPTION

nRF24L01

TRANSCRIPT

nRF24L011.Thng s k thut:-RadiooHot ng gii tn 2.4GoC 126 knhoTruyn v nhn d liuoTruyn tc cao 1Mbps hoc 2Mbps.-Cng sut pht:oC th ci t c 4 cng sut ngun pht: 0,-6,-12,-18dBm.-Thu:oC b lc nhiu ti u thuoKch i b nh hng bi nhiu thp (LNA)-Ngun cp:oHot ng t 1.9-3.6V.oCc chn IO chy c c 3.3 ln 5V.-Giao tip:o4 pin SPIoTc ti a 8Mbpso3-32 bytes trn 1 khung truyn nhn

-Phn tch:oModul nRF24L01 hot ng tn s sng ngn 2.4G nn Modul ny kh nng truyn d liu tc cao v truyn nhn d liu trong iu kin mi trng c vt cnoModul nRF24L01 c 126 knh truyn. iu ny gip ta c th truyn nhn d liu trn nhiu knh khc nhau.oModul kh nng thay i cng sut pht bng chng trnh, iu ny gip n c th hot ng trong ch tit kim nng lng.oCh : in p cung cp cho l 1.93.6V. in p thng cung cp l 3.3V. Nhng cc chn IO tng thch vi chun 5V. iu ny gip n giao tip rng di vi cc dng vi iu khin.2.S phn cng:

S kt ni vi iu khin:

Khi kt ni ti vi iu khin bn nh cu hnh chn l output hay input (AVR, PIC)3.Phn mm.Bn c th tham kho trong code ca mnh update theo Product. Mnh s gii thch cch ci t hot ng trong cc ch .Khung truyn:

a. -a ch truyn nhn:Khung truyn canRF24L01t 3-5 bytes dng lm a ch. Bn c th cu hnh, nhng a ch truyn nh th no th a ch nhn ca chip tng ng phi ging nh th c th thu c tn hiu. Trong chng trnh mnh dng 5 byte cho a ch truyn nhn.

HTML:#define TX_ADR_WIDTH 5 // 5 uints TX address width #define RX_ADR_WIDTH 5 // 5 uints RX address width unsigned char const TX_ADDRESS[TX_ADR_WIDTH]= {0x34,0x43,0x10,0x10,0x01}; unsigned char const RX_ADDRESS[RX_ADR_WIDTH]= {0x34,0x43,0x10,0x10,0x01};Hmvoid init_NRF24L01(void)cu hnh truyn nhn :

HTML:SPI_Write_Buf(WRITE_REG + TX_ADDR, TX_ADDRESS, TX_ADR_WIDTH); SPI_Write_Buf(WRITE_REG + RX_ADDR_P0, RX_ADDRESS, RX_ADR_WIDTH); b.Khung d liuKhung d liu t 0-32 byte, hin ti mnh dng 32 byte. Nu bn dng s lng byte khc th c th cu hnh trong bin.

HTML:#define TX_PLOAD_WIDTH 32 // 32 uints TX payload #define RX_PLOAD_WIDTH 32 // 32 uints TX payloadHmnRF24L01_TxPacket(unsigned char * tx_buf)gi d liu trongtx_bufHTML:SPI_Write_Buf(WR_TX_PLOAD, tx_buf, TX_PLOAD_WIDTH); // gi d liu 32 byte Trong hmvoid init_NRF24L01(void)cu hnh s byte nhn.HTML: SPI_RW_Reg(WRITE_REG + RX_PW_P0, RX_PLOAD_WIDTH); // Do rong data nhn 32 byte

c.- Knh truyn nhn v a ch nhn.-nRF24L01 c 126 knh truyn. Ban c th la chn knh truyn no bn mun bng hm.HTML:SPI_RW_Reg(WRITE_REG + RF_CH, 0); // knh 0, tn s RF = 2400 + RF_CH* (1or 2 M)-Trong 1 knh truyn, nRF24L01 c th nhn c 6 lung d liu. Do bn phi la chn 1 trong 6 lung .

HTML:SPI_RW_Reg(WRITE_REG + EN_AA, 0x01); // 0x01 Lung P0 // 0x02 Lung P1 // 0x03 Lung P2 // 0x04 Lung P3 // 0x05 Lung P4 // 0x06 Lung P5 SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x01); // 0x01 Enable Lung P0 // 0x02 Enable Lung P1 // 0x03 Enable Lung P2 // 0x04 Enable Lung P3 // 0x05 Enable Lung P4 // 0x06 Enable Lung P5d.Tc ng truyn v cng sut ngun phtHTML:SPI_RW_Reg(WRITE_REG + RF_SETUP, 0x07); // 1M, 0dbme.M CRC, truyn nhn-Truyn:HTML:SPI_RW_Reg(WRITE_REG + CONFIG, 0x0E); // Enable CRC, 2 byte CRC, Send-Nhn:HTML:SPI_RW_Reg(WRITE_REG + CONFIG, 0x0F); // Enable CRC, 2 byte CRC, Recivef.Cch gi d liu:Sau khi cu hnh cc trng thi hot ng ca nRF24L01 thng qua hm:void init_NRF24L01(void) gi d liu i bn lm theo cc bc sau.-Cho d liu vo buffer, binTxBuf[32]-Chn nRF24L01 ch pht, gi hmvoid SetTX_Mode(void);-Gi hmvoid nRF24L01_TxPacket(unsigned char * tx_buf); truyn d liu trongTxBuf[32]ig.Cch nhn d liu-Chn nRF24L01 ch thu, gi hmvoid SetRX_Mode(void);- d liu trong b m sau khi gi hmunsigned char nRF24L01_RxPacket(unsigned char* rx_buf);