[아두이노 부품사용법] 완전 저렴한 아두이노 무선통신 모듈 NRF24L01

이노팹 2017-01-16 (월) 23:46 5년전 10662  

개요 (Overview)

 

de573e29eb749648da1c0e59422e3fa8_1484577 

 

WIFI, XBEE, 블루투스 등등 다양한 모듈들이 무선통신을 가능하게 하지만, 가성비 중 '갑'은 역시 NRF24L01이 아닐까요? 

양방향 무선통신이 가능하며, 개당 1500원이라니..ㅎㄷㄷ

링크: http://mechasolution.com/shop/goods/goods_view.php?goodsno=539625&category=054003 

사용방법도 따라해보시면 절대 어렵지 않습니다.

 

스펙 (Specification)

  • 70m

  • SPI 통신

  • 아두이노 호환 

 

사용법 (How to use)

 

우선 아두이노 두 대가 필요합니다. 그리고, 각각 전원을 공급해줄 수 있는 배터리 혹은 USB 케이블이 필요할 것이고요. 

 

그 다음, 각각의 아두이노 보드에 NRF24L01을 점퍼선을 사용하여 연결합니다. 그리고 각각 보내는 쪽 (송신부), 받는 쪽 (수신부)로 정하고, 각각의 아두이노 코드를 업로드해줍니다. 

 

하드웨어 연결 (Wiring)

 

de573e29eb749648da1c0e59422e3fa8_1484577
 

[송신부] - 프로그램을 업로드 한 후에 배터리를 통해서 전원을 넣어주었습니다.

de573e29eb749648da1c0e59422e3fa8_1484577

 

[수신부] - 프로그램을 업로드 한 후에 USB 케이블을 통해 데이터가 잘 들어오는지 확인하였습니다.

de573e29eb749648da1c0e59422e3fa8_1484577

 

 

아두이노 코드 (Arduino source code) 

 

[송신부] 

#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>

RF24 radio(7, 8);

const byte rxAddr[6] = "00001";

void setup()
{
  radio.begin();
  radio.setRetries(15, 15);
  radio.openWritingPipe(rxAddr);
  
  radio.stopListening();
}

void loop()
{
  const char text[] = "Hello World";
  radio.write(&text, sizeof(text));
  
  delay(1000);
}

[수신부]

#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>

RF24 radio(7, 8);

const byte rxAddr[6] = "00001";

void setup()
{
  while (!Serial);
  Serial.begin(9600);
  
  radio.begin();
  radio.openReadingPipe(0, rxAddr);
  
  radio.startListening();
}

void loop()
{
  if (radio.available())
  {
    char text[32] = {0};
    radio.read(&text, sizeof(text));
    
    Serial.println(text);
  }
}

 

참고 링크 (Links)

 

 

메카리워즈 Image Map


모바일 버전으로 보기