반응형

 

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번핀에 연결해서 수신기쪽으로 전송한 다음 시리얼모니터에 출력하시오!

433mhz-2-1-1.txt
0.00MB
433mhz-2-1-2.txt
0.00MB

 

2.(1)예제의 온도와 습도값을 FND모듈인 TM1637에 출력하시오!

433mhz-2-2-1.txt
0.00MB
433mhz-2-2-2.txt
0.00MB

 

3.(1)예제의 온도와 습도값을 1602LCD(i2c버전)에 출력하시오!

433mhz-2-3-1.txt
0.00MB
433mhz-2-3-2.txt
0.00MB

 

4.송신기에 적외선근접센서를 연결하고 사람이 지나간 횟수를 측정한다음 카운터값을 수신기로 전송해서 출력하시오!(충격센서와 겸용으로 활용가능)

433mhz-2-4-1.txt
0.00MB
433mhz-2-4-2.txt
0.00MB

 

5.송신기에 2축 조이스틱(x축만 사용)을 연결하고 수신기에 스탭모터를 연결해서 제어하시오!

433mhz-2-5-1.txt
0.00MB
433mhz-2-5-2.txt
0.00MB

 

6.송신기에 온도센서(DS18B20)를 연결하고 수신기에 FND모듈인 TM1637을 연결해서 측정값을 전송하시오!

433mhz-2-6-1.txt
0.00MB
433mhz-2-6-2.txt
0.00MB

반응형
Posted by 덕력킹
,