[433Mhz #2] 아두이노(arduino)에 433mhz 송수신기(SYN115/SYN480R)를 연결해서 다양한 센서값 전송해보기!(녹칸다의 아두이노)
https://youtube.com/live/V7IOQmIY10c
[433Mhz #2] 아두이노(arduino)에 433mhz 송수신기(SYN115/SYN480R)를 연결해서 다양한 센서값 전송해보기!(녹칸다의 아두이노)
녹칸다의 433mhz 무선통신 시리즈이다!
이번편에서는 다양한 센서데이터를 송신기에서 수신기로 전송해보도록 하자!
(깨알지식)
1.무선통신으로 데이터를 전송할경우 송신기 입장에서 수신기가 데이터를 받았는지 안받았는지는 알아낼 수 없다!(433mhz모듈)
2.송신기 내부의 타임스템프를 수신기쪽으로 전송해서 수신기가 데이터 누락이 있는지 없는지 알 수있도록 하는게 좋을 것 같다!
3.서보라이브러리는 433mhz관련 라이브러리와 충돌나서 작동이 안되었다!
4.아두이노용 스탭모터의 총 스탭량은 2048스탭이고 최소 스탭량은 32이다!
5.시계방향으로 회전할때는 양의값을 가지고 반시계방향으로 회전할때는 음의값을 가지는데 이것은 연결을 어떻게 하느냐에 따라 달라질 수 있음!
6.스탭량이 2048일때 360도의 각도를 가지고 32라는 스탭량은 5.625이므로 32스탭을 이동하면 스탭모터는 5.625도 회전하게된다!
(필요한 라이브러리목록)
1.dht sensor library
2.TM1637
3.liquidcrystal i2c
4.DallasTemperature
(데이터를 송수신하기 위한전략)
1.기본함수원형
driver.send(바이트배열, 바이트배열의사이즈);
2.내가 보내고자 하는 데이터가 변수 1개이다!(int라고 가정)
int num = 10;
driver.send((byte*)&num, sizeof(num));
3.내가 보내고자 하는 데이터가 byte배열이다!
byte myarray[] = {1,2,3,4};
driver.send(myarray, sizeof(myarray));
4.내가 보내고자 하는 데이터가 문자열(char 배열)이다!
char * mytext = "simsimhan nockanda";
driver.send((byte*)mytext, sizeof(mytext));
5.내가 보내고자 하는 데이터가 2개이상의 변수로 구성되어있다!(구조체)
struct{
int data1 = 10;
long data2 = 100;
}mystruct;
driver.send((byte*)&mystruct, sizeof(mystruct));
(예제목차)
1.송신기에 온습도센서(DHT-11)를 2번핀에 연결해서 수신기쪽으로 전송한 다음 시리얼모니터에 출력하시오!
2.(1)예제의 온도와 습도값을 FND모듈인 TM1637에 출력하시오!
3.(1)예제의 온도와 습도값을 1602LCD(i2c버전)에 출력하시오!
4.송신기에 적외선근접센서를 연결하고 사람이 지나간 횟수를 측정한다음 카운터값을 수신기로 전송해서 출력하시오!(충격센서와 겸용으로 활용가능)
5.송신기에 2축 조이스틱(x축만 사용)을 연결하고 수신기에 스탭모터를 연결해서 제어하시오!
6.송신기에 온도센서(DS18B20)를 연결하고 수신기에 FND모듈인 TM1637을 연결해서 측정값을 전송하시오!