2017. 6. 2. 16:39
아두이노
그런건 없다
VirtualWire는 죽은 라이브러리기 때문이다. RadioHead를 쓰자
RadioHead는 다음 링크에서 구할수 있다
공식홈페이지:http://www.airspayce.com/mikem/arduino/RadioHead/
다운로드(v1.74): http://www.airspayce.com/mikem/arduino/RadioHead/RadioHead-1.74.zip
'아두이노설치경로\libraries'에 넣어줘야 하는데
일반적으로 아래경로에 있다.
C:\Users\사용자이름\Documents\Arduino\libraries
여기에 다운받은 RadioHead폴더를 풀어서 넣어주자
설치가 완료되면 RH_ASK.h를 쓸수 있게된다. 복잡하게 볼 필요없이 아래 코드를 적절하게 이용하자
#include <RH_ASK.h>
#include <SPI.h> // Not actualy used but needed to compile
#define RH_speed 2000
#define RH_pin_RX 11
#define RH_pin_TX 12
#define RH_pin_PTT 10
#define RH_PTT_inverted false
RH_ASK driver(RH_speed,RH_pin_RX,RH_pin_TX,RH_pin_PTT,RH_PTT_inverted);
uint8_t RF_buff[64];//uno192max
uint8_t RF_buff_sizeof = sizeof(RF_buff);
void setup()
{
Serial.begin(9600);
if (driver.init())
{
Serial.println("RH init success");
}
else
{
Serial.println("RH init failed");
}
}
void RH_print(String Message)
{
int MessageLength = Message.length();
uint8_t msg[MessageLength];
Message.getBytes(msg,MessageLength+1);
driver.send(msg, MessageLength);
driver.waitPacketSent();
}
String RH_readString()
{
uint8_t buflen = sizeof(RF_buff);
if (driver.recv(RF_buff, &RF_buff_sizeof))
{
return (String)(char*)RF_buff;
}
return "";
}
void loop()
{
String message = RH_readString();
if(message!="")
{
Serial.println(message);
}
RH_print("Hello World!");
delay(1000);
}
부품은 아두이노 RF 433이라고 치면 나온다
내가 살때당시에는 안테나 따로 달아야 했는데 요샌 비싼거사면 안테나도 같이 주더라
'아두이노' 카테고리의 다른 글
자이로 좌표계 (0) | 2018.02.17 |
---|---|
attiny 쓰기 (0) | 2018.02.11 |
각도 계산 스크립트 (0) | 2017.10.20 |