BASIC4MCU | 질문게시판 | 답변 : NRF24L01 송수신되는것까지 확인했습니다.
페이지 정보
작성자 master 작성일2018-06-14 17:33 조회10,138회 댓글2건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=1881
작성일
본문
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2018-06-14 오후 5:35:57// by Ok-Hyun Park송신부#include <SPI.h>#include <nRF24L01.h>#include <RF24.h>RF24 radio(7,8); // SPI 버스에 nRF24L01 라디오를 설정하기 위해 CE,CSN를 선언.const byte address[6]="00001"; //주소값을 5가지 문자열로 변경할 수 있으며,송신기와 수신기가 동일한 주소로 해야됨.//void setup(){radio.begin();radio.openWritingPipe(address); //이전에 설정한 5글자 문자열인 데이터를 보낼 수신의 주소를 설정radio.setPALevel(RF24_PA_MIN); //전원공급에 관한 파워레벨을 설정합니다.모듈 사이가 가까우면 최소로 설정합니다.//거리가 가까운 순으로 RF24_PA_MIN/RF24_PA_LOW/RF24_PA_HIGH/RF24_PA_MAX 등으로 설정할 수 있습니다.//높은 레벨(거리가 먼 경우)은 작동하는 동안 안정적인 전압을 가지도록 GND와 3.3V에 바이패스 커패시터 사용을 권장함.radio.stopListening(); //모듈을 송신기로 설정}//void loop(){const char text[]="H";radio.write(&text,sizeof(text)); //해당 메시지를 수신자에게 보냄delay(1000);}//수신부//#include <SPI.h>#include <nRF24L01.h>#include <RF24.h>RF24 radio(7,8); // SPI 버스에 nRF24L01 라디오를 설정하기 위해 CE,CSN 선언.const byte address[6]="00001"; //주소값을 5가지 문자열로 변경할 수 있으며,송신기과 수신기가 동일한 주소로 해야됨.//void setup(){pinMode(13,OUTPUT);Serial.begin(9600);radio.begin();radio.openReadingPipe(0,address);radio.setPALevel(RF24_PA_MIN); //전원공급에 관한 파워레벨을 설정합니다.모듈 사이가 가까우면 최소로 설정합니다.//거리가 가까운 순으로 RF24_PA_MIN/RF24_PA_LOW/RF24_PA_HIGH/RF24_PA_MAX 등으로 설정할 수 있습니다.//높은 레벨(거리가 먼 경우)은 작동하는 동안 안정적인 전압을 가지도록 GND와 3.3V에 바이패스 커패시터 사용을 권장함radio.startListening(); //모듈을 수신기로 설정}//void loop(){if(radio.available()){char text[32]="";radio.read(&text,sizeof(text));Serial.println(text);if(text[0]='H')digitalWrite(13,1);else digitalWrite(13,0);}}1문자 부터 테스트하고
문자열 수신은 웹검색해서 공부하세요
댓글 2
조회수 10,138대학생초보님의 댓글
대학생초보 작성일신호수신되면 LED 켜지도록 코드 추가해주실수있나요??
master님의 댓글
master
돌려보지 않았나요?
LED가 켜질텐데요