아두이노 > 아두이노 RF 통신

TODAY216 TOTAL209,384
사이트 이용안내
Login▼/회원가입
포럼 동영상강좌 회원가입


BASIC4MCU 후원업체 최신 정보

BASIC4MCU | 아두이노 | 아두이노 | 아두이노 RF 통신

페이지 정보

작성자 돌석 작성일2018-06-08 01:52 조회150회 댓글0건

본문

	

한쪽 아두이노에서는 스위치 두개의 값을 입력받아 safe 변수가 결정되고 safe 변수를 RF통신으로 내보낸다.

반대쪽 아두이노에서는 받은 safe 변수로 릴레이를 작동 정지 시킨다.

 

1. 먼저 송신하는 스위치 센서부분

#include <SPI.h>

#include <nRF24L01.h>

#include <RF24.h>

RF24 radio(7, 8); // SPI 버스에 nRF24L01 라디오를 설정하기 위해 CE, CSN를 선언.

const byte address[6] = "12345"; //주소값을 5가지 문자열로 변경할 수 있으며, 송신기와 수신기가 동일한 주소로 해야됨.

int safe;

 

void setup() {

  Serial.begin(9600);

  pinMode(3, INPUT);

  pinMode(4, INPUT);

  radio.begin();

  radio.openWritingPipe(address); //이전에 설정한 5글자 문자열인 데이터를 보낼 수신의 주소를 설정

  radio.setPALevel(RF24_PA_LOW); //전원공급에 관한 파워레벨을 설정합니다. 모듈 사이가 가까우면 최소로 설정합니다.

 

  //거리가 가까운 순으로 RF24_PA_MIN / RF24_PA_LOW / RF24_PA_HIGH / RF24_PA_MAX 등으로 설정할 수 있습니다.

 

  //높은 레벨(거리가 먼 경우)은 작동하는 동안 안정적인 전압을 가지도록 GND와 3.3V에 바이패스 커패시터 사용을 권장함.

 

  radio.stopListening();  //모듈을 송신기로 설정

}

void loop() {

  int right = digitalRead(3);

  int left = digitalRead(4);

 

  if (right && left) {

    safe = 1;

    Serial.println("DANGER");

  }

  else {

    safe = 0;

    Serial.println("SAFE");

  }

 

  radio.write(&safe, sizeof(safe));

  delay(100);

}

 

 

2. 수신하는 솔레노이드 작동부분 (릴레이 이용) 

 

#include <SPI.h>

#include <nRF24L01.h>

#include <RF24.h>

RF24 radio(7, 8); // SPI 버스에 nRF24L01 라디오를 설정하기 위해 CE, CSN 선언.

const byte address[6] = "12345"; //주소값을 5가지 문자열로 변경할 수 있으며, 송신기과 수신기가 동일한 주소로 해야됨.

void setup() {

  pinMode(10, OUTPUT);

  Serial.begin(9600);

  radio.begin();

  radio.openReadingPipe(0, address);

  radio.setPALevel(RF24_PA_HIGH); //전원공급에 관한 파워레벨을 설정합니다. 모듈 사이가 가까우면 최소로 설정합니다.

 

  //거리가 가까운 순으로 RF24_PA_MIN / RF24_PA_LOW / RF24_PA_HIGH / RF24_PA_MAX 등으로 설정할 수 있습니다.

 

  //높은 레벨(거리가 먼 경우)은 작동하는 동안 안정적인 전압을 가지도록 GND와 3.3V에 바이패스 커패시터 사용을 권장함

  radio.startListening(); //모듈을 수신기로 설정

}

void loop() {

  if (radio.available()) {

    int safe;

    radio.read(&safe, sizeof(safe));

    if (safe == 1) {

      Serial.println("BRAKE");

      digitalWrite (10, HIGH); // 릴레이 ON

      delay (500);              //0.5초 delay

    }

    else {

      Serial.println("MOVE");

      digitalWrite (10, LOW); // 릴레이 ON

      delay (500);              //0.5초 delay

    }

  }

  delay(100);

}

 

 

코딩이 괜찮은지 수정할 부분 있으면 말씀해주시면 감사하겠습니다.

댓글 0

조회수 150

등록된 댓글이 없습니다.

아두이노HOME > 아두이노 > 전체 목록

아두이노 목록
제목 작성자 작성일 조회
207 아두이노 아두이노 스텝모터(리니어 액추에이터) 제어 질문 드립니다. 댓글[5] 이미지첨부파일 rickio 18-08-08 65
답변 답변글 답변 : 아두이노 스텝모터(리니어 액추에이터) 제어 질문 드립니다. 댓글[2] 이미지 master 18-08-09 46
답변 답변글 답변 : 답변 : 아두이노 스텝모터(리니어 액추에이터) 제어 질문 드립니다. 댓글[7] 이미지 rickio 18-08-10 74
204 아두이노 아두이노 블루투스 연결 코딩 질문입니다 댓글[6] 보람찬시간낭비 18-08-08 62
203 아두이노 아두이노 저장,재생기능 댓글[1] 첨부파일 gksl 18-08-06 46
답변 답변글 답변 : 아두이노 저장,재생기능 댓글[1] master 18-08-06 47
답변 답변글 답변 2: 아두이노 저장,재생기능 master 18-08-06 28
답변 답변글 답변 3: 아두이노 저장, MIDI 재생기능 댓글[1] master 18-08-06 42
199 아두이노 아두이노 74138 시계 소스코드 여기까지 해봤는데.. hktsakura 18-08-04 39
답변 답변글 답변 : 아두이노 74138 시계 소스코드 여기까지 해봤는데.. 댓글[12] master 18-08-04 98
197 아두이노 와이파이 웹서버 댓글[1] 유케이 18-08-01 53
196 아두이노 와이파이 실드 오류 댓글[1] 이미지첨부파일 유케이 18-08-01 52
195 아두이노 아래 아두이노 질문 사진 다시올립니다. 댓글[6] 이미지 kkk9094 18-07-31 78
194 아두이노 아두이노 회로 질문이요! 댓글[8] 이미지 kkk9094 18-07-31 94
답변 답변글 답변 : 아두이노 펠티어 구동 회로 질문이요! 댓글[1] master 18-07-31 49
게시물 검색

Privacy Policy
MCU BASIC ⓒ 2017