-
Notifications
You must be signed in to change notification settings - Fork 3
/
Transmitter.ino
78 lines (65 loc) · 1.46 KB
/
Transmitter.ino
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#include <RH_ASK.h>
#ifdef RH_HAVE_HARDWARE_SPI
#include <SPI.h>
#endif
// connect data to pin 2
// ( Speed, receving pin , Transmitting pin , push to talk)
RH_ASK driver(2000, 4, 10, 5);
int sw1 = 9;
int sw2 = 7;
int sw3 = 5;
int sw4 = 3;
void setup()
{
#ifdef RH_HAVE_SERIAL
Serial.begin(9600);
#endif
if (!driver.init())
#ifdef RH_HAVE_SERIAL
Serial.println("init failed");
#else
;
#endif
pinMode(sw1,INPUT_PULLUP);
pinMode(sw2,INPUT_PULLUP);
pinMode(sw3,INPUT_PULLUP);
pinMode(sw4,INPUT_PULLUP);
}
void loop()
{
int a = digitalRead(sw1);
int b = digitalRead(sw2);
int c = digitalRead(sw3);
int d = digitalRead(sw4);
if ( a == 0 && b!= 0 && c != 0 && d!=0){
const char *msg = "East";
driver.send((uint8_t *)msg, strlen(msg));
driver.waitPacketSent();
delay(200);
}
else if (a != 0 && b== 0 && c != 0 && d!=0){
const char *msg = "South";
driver.send((uint8_t *)msg, strlen(msg));
driver.waitPacketSent();
delay(200);
}
else if (a != 0 && b!= 0 && c == 0 && d!=0){
const char *msg = "West";
driver.send((uint8_t *)msg, strlen(msg));
driver.waitPacketSent();
delay(200);
}
else if (a != 0 && b!= 0 && c != 0 && d==0){
const char *msg = "North";
driver.send((uint8_t *)msg, strlen(msg));
driver.waitPacketSent();
delay(200);
}
else
{
const char *msg = "Invalid Input";
driver.send((uint8_t *)msg, strlen(msg));
driver.waitPacketSent();
delay(200);
}
}