[Chia sẻ] Truyền dữ liệu thông qua RF với nRF24L01

zealotnt

Cố Vấn CLB
Thực ra trên mạng đã có driver sẵn cho con này khá là nhiều, sử dụng đơn giản (so với các chip RF của TI), thích hợp cho các bạn mới làm quen với giao tiếp RF, có một số nguồn tham khảo mình đã tìm được như :
http://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo
http://gpio.kaltpost.de/?page_id=748 ( trang này có code cho con msp430 nhưng lại ít cmt - đọc khó hiểu)
trên diendanti.com cũng có 1 anh đã viết và share code cho con này, nhưng phần SPI của a ấy thì lại viết bằng software, cộng với việc ít cmt nên mình cũng ko xài)
và cuối cùng là trang này http://blog.diyembedded.com/ trang này có source cho con PIC18, nhưng quan trọng là tác giả đã viết các tut rất dễ hiểu, code cmt trực quan sinh động nên mình chọn để sử dụng
.
Giới thiệu sơ lược về nRF24L01:
- Giá thành rẻ (85k mua tại hshopvn.com)
- Là 1 module transceiver (vừa truyền vừa nhận), hỗ trợ giao tiếp SPI.
Các tut và source code mình đã đính kèm ở dưới, các phần basic và tut1 (code truyền nhận đơn giản) thì mình đã tổng hợp và tóm tắt thành file word cho dễ đọc (thú thật là đọc cái tut tiếng anh xong rồi mình chả bik làm j với nó cả).
Ở prj này mình chỉ truyền nhận dữ liệu đơn giản, msp430 số 1 đóng vai trò giao tiếp với máy tính qua UART, sau khi nhận được kí tự từ máy tính, nó sẽ truyền sang con nRF thứ 2, con thử 2 sau khi nhận sẽ truyền lại đúng kí tự đó về con vừa gửi, msp430 số 1 sẽ gửi lại kí tự đó lại trên máy tính, nếu con msp430 số 1 ko nhận được thì sẽ hiện kí tự "?". Ở prj này mình ko sử dụng chức năng Enhanced Shockburst (tính năng bao gồm chức năng auto ack - và send back khi có lỗi, 6 data pipe, giao tiếp đến 6 module cùng lúc).
Vạn sự khởi đầu nan, mong rằng các bạn có thể qua nhanh giai đoạn làm quen, có thể làm nhiều prj vip hơn, phức tạp hơn và ko quên share nhé

Link của prj và TUT : http://www.mediafire.com/?36fb8auj756gaor
 
Top