Schritt 5: Das Endprodukt
Unten stehend finden Sie die Sendercode.
#include < VirtualWire.h >
const Int Transmit_pin = 4;
Char-Id [4];
Int ich = 0;
void setup()
{
Serial.Begin(9600);
PinMode (5, OUTPUT);
DigitalWrite (5, 1);
PinMode (6, OUTPUT);
DigitalWrite (6, 0);
vw_set_tx_pin(transmit_pin);
vw_setup(2000);
}
void loop()
{
{If(Serial.available())}
Char Eingabe = Serial.read();
Wenn (Eingabe > = 48 & & Eingabe < = 57) {}
ID [i] = Eingang;
i ++;
} else {}
Ich = 0;
}
If(i == 4) {}
Eingabe = Serial.read();
Wenn (Eingabe == 'U') {}
Char msg [5] = {Id [0], Id [1], [2] Id, Id [3], "U"};
Vw_send ((uint8_t *) msg, 5);
}
Wenn (Eingabe == hatte ") {}
Char msg [5] = {Id [0], Id [1], [2] Id, Id [3], hatte "};
Vw_send ((uint8_t *) msg, 5);
}
Wenn (Eingabe == 'L') {}
Char msg [5] = {Id [0], Id [1], [2] Id, Id [3], 'L'};
Vw_send ((uint8_t *) msg, 5);
}
Wenn (Eingabe == 'R') {}
Char msg [5] = {Id [0], [1] Id, Id [2] Id [3], "R"};
Vw_send ((uint8_t *) msg, 5);
}
Wenn (Eingabe == ist ') {}
Char msg [5] = {Id [0], Id [1], [2] Id, Id [3], "};
Vw_send ((uint8_t *) msg, 5);
}
vw_wait_tx();
Ich = 0;
}
}
}
unten ist der Empfängercode.
#include < VirtualWire.h >
const Int Receive_pin = 6;
pan-Int [] = {14, 15};
Int kippen [] = {16, 17;}
void setup()
{
für (Int ich = 0; ich < 2; i ++) {}
PinMode (pan [i], Ausgang);
PinMode (kippen [i], Ausgang);
}
DigitalWrite (11, HIGH);
PinMode (7, OUTPUT);
DigitalWrite (7, 0);
PinMode (4, OUTPUT);
DigitalWrite (4, 1);
vw_set_rx_pin(receive_pin);
vw_setup(2000);
vw_rx_start();
}
void loop()
{
uint8_t Buf [VW_MAX_MESSAGE_LEN];
uint8_t Buflen = VW_MAX_MESSAGE_LEN;
Wenn (Vw_get_message (Buf, & Buflen)) {}
Wenn (Buf [0] == '1' & & Buf [1] == '0' & & Buf [2] == "2" & & Buf [3] == "4") {}
Wenn (Buf [4] == 'U') {}
DigitalWrite (Tilt [0], LOW); //up
DigitalWrite (Tilt [1], HIGH); //up
}
Wenn (Buf [4] == hatte ") {}
DigitalWrite (Tilt [0], HIGH); //down
DigitalWrite (Tilt [1], LOW); //down
}
Wenn (Buf [4] == 'L') {}
DigitalWrite (Pan [0], HIGH); //left
DigitalWrite (Pan [1], LOW); //left
}
Wenn (Buf [4] == 'R') {}
DigitalWrite (Pan [0], LOW); //right
DigitalWrite (Pan [1], HIGH); //right
}
Wenn (Buf [4] == ist ') {}
DigitalWrite (Pan [0], LOW); //stop
DigitalWrite (Pan [1], LOW); //stop
DigitalWrite (Tilt [0], LOW); //stop
DigitalWrite (Tilt [1], LOW); //stop
}
}
}
}
Dies funktioniert wie ein Genuss und ich werde auf die Schaffung einer Schnittstelle dafür, die wird in Visual Basic zu kommunizieren und kontrollieren die Halterung zu arbeiten.
Ich hoffe ihr hattet diese instructable, haben Sie Fragen wenden Sie sich bitte frei, stellen