질문게시판 > 답변 : 아두이노 Rf433 송수신기 진동모터

TODAY363 TOTAL312,448
사이트 이용안내
Login▼/회원가입
포럼 동영상강좌 회원가입


구글 플레이 스토어에서
Basic4mcu를 검색해보세요

▼ BASIC4MCU 후원업체 신제품 정보 ▼

▲ BASIC4MCU 후원업체 신제품 정보 ▲

BASIC4MCU | 질문게시판 | 답변 : 아두이노 Rf433 송수신기 진동모터

페이지 정보

작성자 master 작성일2018-09-28 21:50 조회5,128회 댓글28건

본문

	

 

// DateTime : 2018-09-28 오후 9:54:17
// by Ok-Hyun Park
//
//수신기 스케치
//
byte message[VW_MAX_MESSAGE_LEN];      // a buffer to store the incoming messages
byte messageLength=VW_MAX_MESSAGE_LEN// the size of the message
const int RX_DIO_Pin=11;               // default 11
//
void setup(){
  pinMode(2,OUTPUT); // 진동모터
  Serial.begin(9600);
  Serial.println("Ready to receive: ");
  vw_set_rx_pin(RX_DIO_Pin); // Initialize RX pin
  vw_setup(2000);            // Transfer speed: 2000 bits per sec
  vw_rx_start();             // Start the receiver
}
//
void loop(){
  if(vw_get_message(message,&messageLength)){ // Non-blocking
    Serial.print("Received: ");
    for(int i=0;i<messageLength;i++)Serial.write(message[i]);
    Serial.println();
    if(message[i]=='0')digitalWrite(2,0); // 진동모터 OFF
    if(message[i]=='1')digitalWrite(2,1); // 진동모터 ON
  }
}
//-------------------------------------------------------
//송신기 스케치
//
#include <VirtualWire.h>
const int TX_DIO_Pin=12// default 12
//
void setup(){
  vw_set_tx_pin(TX_DIO_Pin); // Initialize TX pin
  vw_setup(2000);            // Transfer speed: 2000 bits per sec
}
//
void loop(){
  send("0"); delay(1000); // 진동모터 OFF
  send("1"); delay(1000); // 진동모터 ON
}
//
void send(char *message){
  vw_send((uint8_t*)message,strlen(message));
  vw_wait_tx();             // Wait until the whole message is gone
}

 

 

 

// DateTime : 2018-10-01 오후 11:35:53
// by Ok-Hyun Park
//
#include <VirtualWire.h>
byte message[VW_MAX_MESSAGE_LEN];      // a buffer to store the incoming messages
byte messageLength=VW_MAX_MESSAGE_LEN// the size of the message
const int RX_DIO_Pin=11;               // default 11
//
void setup(){
  pinMode(2,OUTPUT); // 진동모터
  Serial.begin(9600);
  Serial.println("Ready to receive: ");
  vw_set_rx_pin(RX_DIO_Pin); // Initialize RX pin
  vw_setup(2000);            // Transfer speed: 2000 bits per sec
  vw_rx_start();             // Start the receiver
}
//
int i;
//
void loop(){
  if(vw_get_message(message,&messageLength)){ // Non-blocking
    Serial.print("Received: ");
    for(i=0;i<messageLength;i++)Serial.write(message[i]);
    Serial.println();
    if(message[i]=='0')digitalWrite(2,0); // 진동모터 OFF
    if(message[i]=='1')digitalWrite(2,1); // 진동모터 ON
  }
}  

수신기 컴파일 오류 처리

 

RF434 MHz Modules

https://wiki.eprolabs.com/index.php?title=RF434_MHz_Modules 

위 사이트  참고하세요

 

  • BASIC4MCU 작성글 SNS에 공유하기
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기

댓글 28

조회수 5,128

A반장님의 댓글

A반장 작성일

정말 감사합니다!!!!!
엄청 고민 많이 했었는데 이렇게 도와주셔서 해결했네요 ㅜㅜ 감사합니다!!

A반장님의 댓글

A반장 작성일

진동모터 선이 2개인제 하나는 2번에 하나는 gnd에 연결하면 될까요???

master님의 댓글

master 댓글의 댓글 작성일

모터 드라이버는 사용하지 않나요?
TR이라도 사용해야 할텐데요
그냥연결하면 핀이 고장날 수 있습니다.

A반장님의 댓글

A반장 댓글의 댓글 작성일

넵 동전진동모터로 하고 있습니다.

A반장님의 댓글

A반장 댓글의 댓글 작성일

동전모터로 하면 안될까요?ㅜㅜ 지금 당장 구할 수 가 없어서요..ㅠ

A반장님의 댓글

A반장 댓글의 댓글 작성일

수신기 스케치에서 byte messageLength=VW_MAX_MESSAGE_LEN; // the size of the message 이부분에서 오류가 뜨는데 도움 부탁드립니다.ㅠㅠ
아두이노:1.8.7 (Windows 10), 보드:"Arduino/Genuino Uno"

sketch_oct01b:1:14: error: 'VW_MAX_MESSAGE_LEN' was not declared in this scope

sketch_oct01b:2:20: error: 'VW_MAX_MESSAGE_LEN' was not declared in this scope

C:\Users\?씠珥?\Desktop\sketch_oct01b\sketch_oct01b.ino: In function 'void setup()':

sketch_oct01b:9:27: error: 'vw_set_rx_pin' was not declared in this scope

sketch_oct01b:10:16: error: 'vw_setup' was not declared in this scope

sketch_oct01b:11:15: error: 'vw_rx_start' was not declared in this scope

C:\Users\?씠珥?\Desktop\sketch_oct01b\sketch_oct01b.ino: In function 'void loop()':

sketch_oct01b:15:21: error: 'message' was not declared in this scope

sketch_oct01b:15:43: error: 'vw_get_message' was not declared in this scope

sketch_oct01b:17:37: error: 'serial' was not declared in this scope

sketch_oct01b:18:5: error: 'serial' was not declared in this scope

sketch_oct01b:20:16: error: 'i' was not declared in this scope

exit status 1
'VW_MAX_MESSAGE_LEN' was not declared in this scope

이 리포트는 파일 -> 환경설정에 "컴파일중 자세한 출력보이기"를
활성화하여 더 많은 정보를
보이게 할 수 있습니다.

A반장님의 댓글

A반장 작성일

  수신기 스케치에서
 for(int i=0;i<messageLength;i++)Serial.write(message[i];
이부분도
아두이노:1.8.7 (Windows 10), 보드:"Arduino/Genuino Uno"

C:\Users\?씠珥?\Desktop\sketch_oct01b\sketch_oct01b.ino: In function 'void loop()':

sketch_oct01b:19:60: error: expected ')' before ';' token

sketch_oct01b:22:16: error: 'i' was not declared in this scope

exit status 1
expected ')' before ';' token

이 리포트는 파일 -> 환경설정에 "컴파일중 자세한 출력보이기"를
활성화하여 더 많은 정보를
보이게 할 수 있습니다.
이렇게 뜨네요..ㅠ

A반장님의 댓글

A반장 작성일

혹시 시간 되실때 카톡으로 좀 도와주실 수 있을까요?ㅠㅠ 도저히 혼자서는 안되서 부탁좀 드리겠습니다.
카톡아이디는 hrdragon314 입니다
제발 도와주세요..ㅠㅠㅠ

master님의 댓글

master 댓글의 댓글 작성일

원 소스를 어디서 구했을까요?
본문글 하단에 수신쪽 컴파일 오류는 처리했습니다만
정상동작을 하지 않으면 직접 디버깅 해보세요
모뎀 자료가 있는 사이트 링크도 첨부했습니다.

A반장님의 댓글

A반장 댓글의 댓글 작성일

http://bbangpan.tistory.com/9
원본은 여기서 가져왔습니다.

A반장님의 댓글

A반장 작성일

byte message[VW_MAX_MESSAGE_LEN];      // a buffer to store the incoming messages
byte messageLength=VW_MAX_MESSAGE_LEN; // the size of the message
수신기 스케치가 또 오류라고 뜨네요.ㅠㅠ
머가 문제일까요?ㅜㅜ

master님의 댓글

master 댓글의 댓글 작성일

#include <VirtualWire.h>
제일 위에 라이브러리 헤더파일 선언 해주면 에러 없습니다.
라이브러리 설치되지 않았다면 다시 설치하세요

A반장님의 댓글

A반장 작성일

void setup() {
아두이노:1.8.7 (Windows 10), 보드:"Arduino/Genuino Uno"

sketch_oct01b:7:1: error: expected ',' or ';' before 'void'

C:\Users\?씠珥?\Desktop\sketch_oct01b\sketch_oct01b.ino: In function 'void loop()':

sketch_oct01b:22:3: error: 'serial' was not declared in this scope

sketch_oct01b:23:38: error: 'digitalwrite' was not declared in this scope

exit status 1
expected ',' or ';' before 'void'

이 리포트는 파일 -> 환경설정에 "컴파일중 자세한 출력보이기"를
활성화하여 더 많은 정보를
보이게 할 수 있습니다.
여기에서도 오류가 뜨네요 확인 좀 부탁드려요..ㅠ

master님의 댓글

master 댓글의 댓글 작성일

소스를 마우스로 긁어서 복사하면 되는데 키입력했나보군요?
키입력오타입니다.

A반장님의 댓글

A반장 댓글의 댓글 작성일

복사해서 입력하면 302오류가 뜨더아규요 ㅠㅠ

A반장님의 댓글

A반장 댓글의 댓글 작성일

죄송하지만 스케치를 메일로 보내 주실 수 있을까요???ㅜㅜ
hrdragon314@naver.com
입니다

master님의 댓글

master 댓글의 댓글 작성일

복사하는 법을 공부하세요

A반장님의 댓글

A반장 댓글의 댓글 작성일

죄송하지만 복사하는법은 어디서 배울 수 있을까요??ㅠㅠ초보자라서요 ㅠㅠ

master님의 댓글

master 댓글의 댓글 작성일

초등학생도 할 줄아는 복사를 모르신다는 것은 이해가 안되고요

A반장님의 댓글

A반장 댓글의 댓글 작성일

그리고 위에 알려주신 사이트 링크는 연결이 안된다고 하네요 ㅠㅠ

master님의 댓글

master 댓글의 댓글 작성일

사이트는 문제가 있나봅니다.

A반장님의 댓글

A반장 작성일

마스터님
소스 드레그 해서 Ctrl+c ctrl+v하는게 맞다면 stay 302오류가 뜬다고 말씀 드렸는데요;;
그리고 복사하고 붙이는 방법 다른 방법이 있는줄 알았습니다
방금 말씀드린거 위에 댓글보면 똑같이 댓글달았는데 복사하는법을 공부하라고 하셔서...

master님의 댓글

master 댓글의 댓글 작성일

노트북에서 오류가 발생하나요?
그런 오류는 처음 봅니다.

A반장님의 댓글

A반장 댓글의 댓글 작성일

넵 ㅜㅜ 저희집엔 전부 노트북이라서요 ㅠㅠ 아두이노 지우고 다시 깔아보고 말씀드리겠습니다 ! 항상 관심가져주셔서 감사합니다 ㅠㅠ

A반장님의 댓글

A반장 댓글의 댓글 작성일

드디어 되었네요;;; 인터넷 검색하니 띄어쓰기를 전부 지우고 다시 하면 된다고 하여 성공하였습니다. 그런데 진동모터를 빨강선을 2번에 검정선을 GND에 연결하였는데 진동이 안되네요;; 시리얼 모니터에 0와 1이 계속 반복 되서 나오기는 하는데; 방법이 없을까요?ㅠㅠ

A반장님의 댓글

A반장 댓글의 댓글 작성일

수신기에서 코인형 진동모터가 켜지게는 만들었는데요 혹시 메시지가 않오면 진동모터가 꺼지게 루프를 어떻게 수정해야 할ㄲㅏ요?

master님의 댓글

master 댓글의 댓글 작성일

마지막 수정한 소스 첨부해보세요

A반장님의 댓글

A반장 댓글의 댓글 작성일

//
#include <VirtualWire.h>
byte message[VW_MAX_MESSAGE_LEN];      // a buffer to store the incoming messages
byte messageLength=VW_MAX_MESSAGE_LEN; // the size of the message
const int RX_DIO_Pin=11;              // default 11
//
void setup(){
  pinMode(2,OUTPUT); // 진동모터
  Serial.begin(9600);
  Serial.println("Ready to receive: ");
  vw_set_rx_pin(RX_DIO_Pin); // Initialize RX pin
  vw_setup(2000);            // Transfer speed: 2000 bits per sec
  vw_rx_start();            // Start the receiver
}
//
int i;
//
void loop(){
  if(vw_get_message(message,&messageLength)){ // Non-blocking
    Serial.print("Received: ");
    for(i=0;i<messageLength;i++)Serial.write(message[i]);
    Serial.println();
    //if(message[i]=='0')digitalWrite(2,0); // 진동모터 OFF
    //if(message[i]=='1')digitalWrite(2,1); // 진동모터 ON
digitalWrite(4,HIGH)
else if()
  }

이다음에 어떻게 해야할지 모르겠네요 ㅠㅠ 스케치 어떻게 해야할까요??ㅠㅠ

질문게시판HOME > 질문게시판 목록

MCU, AVR, 아두이노 등 전자공학에 관련된 질문을 무료회원가입 후 작성해주시면 전문가가 답변해드립니다.
ATMEGA128PWMLED초음파
아두이노AVR블루투스LCD
UART모터적외선ATMEGA
전체 스위치 센서
게시물 검색

Privacy Policy
MCU BASIC ⓒ 2017