當LaunchPad遇上nRF24L01

時間過得真快,又到了一週一文的截止時間後了(?),今天要來跟大家談談Jack和Rose相遇的故事,讓我們把時間回到1912年的鐵達尼號…

啊,不對,是LaunchPad與nRF24L01才對。LaunchPad我相信有在關注Single.9的朋友們應該不會很陌生才是,假如你是隨Google大神的指引而來到寒舍的話,那麼你可以先參考這篇文章後在來看也不遲。

開始之前

今天的豬腳是清蒸的主角是這個小小的傢伙,nRF24L01。別看他如此嬌小的樣貌,他的內部功能可以說是應有盡有,而且能力不輸ZigBee呢!

nRF24L01

特色:

  • 使用2.4GHz全球開放頻寬
  • 126個可選擇頻道
  • 可設定收發位址及頻率
  • 1 與 2 Mbps 的資料傳輸速率
  • 可程式控制的輸出功率(最大0dBm,消耗11.3mA)
  • 1.9~3.3V低電壓
  • 使用SPI界面控制
  • 詳細請參考Data Sheet

硬體設定

節錄自SPI的紀錄,大概就是長這樣:

白話文解釋:

nRF24L01模組上的第12腳分別接上電壓不可超過3.6V

程式設定

網路上已經有人幫nRF24L01寫了API以及SPI,這大大的減少了我們在軟體上面的設定時間,我們要作的就是把API以及SPI給包到我們的程式裡面這樣就算是做完基本定義了。之後在參考SPI.c的內容與註解來進行更細節的程式規劃,當然,如果需要的話,你也可以參考Data Sheet來作其他的細節設定,無論如何,真要謝謝這不知名的朋友無私的分享這樣的東西。

檔案請點這邊下載(含UART以及收發範例),註解翻譯並不是完全的,因為實在很不想翻(別打我)。

下載完之後,請將之放到與你主程式相同的資料夾裡,然後如以下include到你的程式。對了main.c裡面是簡易的範例程式可以參考看看。

話說我好像還沒寫 CCS 的使用說明,下次文章更新的時候我會順便寫的…(鞠躬)

如何使用

使用方法請參考SPI.c以及範例程式…基本上都有稍做翻譯了,這邊貼上接收與發射的主要程式片段。

發射(Tx)

以上,是 nRF24L01 與 LaunchPad 邂逅的方式,而他們的邂逅當然也有拍下珍貴的紀錄喔!(咦?)

當LaunchPad遇上nRF24L01 有 “ 7 則迴響 ”

  1. 您好 對LaunchPad和nRF24L01 很有興趣
    能否請問影片中的所使用的是哪顆ic? (430系列的哪顆?)
    影片只使用 LaunchPad + nRF24L01 + 430 兩組就完成了傳輸功能嗎?
    想複製影片中的傳輸功能 自己用看看 方便以信箱交流嗎?

  2. 獨夜 :
    影片下其實有附上原始碼連結,你可以參考看看。
    ic是g2553,不過不限定。
    的確是只用兩組就完成傳輸功能:D

    有的 程式碼我一開始就抓了 不過沒有實體版子+ic讓我玩
    已經下單網購了~~ 要是撰寫遇到問題 可能會再過來這邊 或討論區練工
    謝謝版主啦 :)

  3. 站長您好 我已經以兩組LaunchPad + nRF24L01 燒範例進去成功運行
    想請問站長示範影片中是用哪個讀取工具呈現? 我用RealTerm在看的時候只有看到亂碼
    我想是因為 傳送的是字串 而且經過SPI.c轉換後字碼不是 ASCII(抱歉 我還在摸索怎麼改傳ASCII)
    想請教是使用那個顯示器可以正常顯示範例 讓我確定範例功能正常 好進行自學修改

  4. 您好:
    我想請問一下關於NRF24L01的資料傳輸技術,網路上販賣的無線傳輸模組一大堆,多數有註明是何種傳輸技術(ZIGBEE 藍芽 WIFI等等),但NRF24L01在DATASHEET上似乎找不到相關資料,網路上相關資料也都沒提到,不知大大是否知道這方面的資訊~

    1. nRF24L01並沒有採用任何IEEE的技術規格,他是使用 Enhanced ShockBurst 這個技術的,細節可以參考:https://devzone.nordicsemi.com/documentation/nrf51/4.3.0/html/group__esb__users__guide.html。

      不過也有人嘗試使用這個模組來實作 ieee 802.15.4 規格的通訊技術,用來與 ZigBee通訊。

給點回應吧~