Den återanvändbara och trådlösa Igniter (3 / 7 steg)
Steg 3: Skapa virtuell tråd
Hämta koden här
// Receiver by Noah DC
// This code is built around the VirualWire library which
// can be found here: http://www.airspayce.com/mikem/arduino/
// Visit my instructable for the wiring, explaination, etc.
//
constint recieverPin = 2; till mottagare modul
constint ignitionPin = 3; till igniter
constint activeIndicatorPin = 5; till grön LED
constint inactiveIndicatorPin = 6; till röd LED
constint buzzerPin = 4; att summern
#include < VirtualWire.h >
booleska liftOff = false;
Annullerasetup() {
Seriella.begin(9600); för felsökning
pinMode (activeIndicatorPin, produktionen);
pinMode (inactiveIndicatorPin, produktionen);
pinMode (ignitionPin, produktionen);
vw_set_ptt_inverted(true); normal inställning grejer
vw_setup(2000);
vw_set_rx_pin(recieverPin);
vw_rx_start();
}
Ogiltigloop() {
While(liftOff == false) {
digitalWrite (activeIndicatorPin, hög); visar att tändaren inte har använts ännu
uint8_t buf [VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;
om (vw_get_message (buf, och buflen)) {
Seriella.print ("fick:");
Seriella.print (buf [0], DEC); bara ett byte i matrisen (det bör vara 97)
Seriella.println("");
}
om (buf [0] == 97) {//checks om bokstaven "a" tas emot (ASCII nummer är 97)
liftOff = ignition();
}
}
}
int ignition() {
tonen (buzzerPin, 500, 300); 5 sekunders nedräkning
Delay(1000); Det är inte nödvändigt, och kan tas bort
tonen (buzzerPin, 500, 300); 4 (jag relize det är inte precis en sekund)
Delay(1000);
tonen (buzzerPin, 500, 300); 3
Delay(1000);
tonen (buzzerPin, 500, 300); 2
Delay(1000);
tonen (buzzerPin, 500, 300); 1
Delay(500);
tändning!
digitalWrite (ignitionPin, hög);
Delay(2000);
digitalWrite (ignitionPin, låg);
digitalWrite(activeIndicatorPin,LOW);
digitalWrite(inactiveIndicatorPin,HIGH); visar att tändaren har använts
returntrue; hindrar andra tändningar av säkerhetsskäl
}
Sändaren kod
Hämta koden här
// Transmitter by Noah DC
// This code is built around the VirualWire library which
// can be found here: http://www.airspayce.com/mikem/arduino/
// Visit my instructable for the wiring, explaination, etc.
//
constint transmitPin = 2; stift till modulen transitter
constint buttonPin = 3; nåla fast till tändning knappen
constint armedPin = 4; PIN-koden för indikatorn LED
#include < VirtualWire.h >
Annullerasetup() {
pinMode (armedPin, produktionen);
digitalWrite (armedPin, hög); visar att tändaren är beväpnad
vw_set_ptt_inverted(true); setup grejer
vw_setup(2000);
vw_set_tx_pin(transmitPin);
}
Ogiltigloop() {
char * msg = "a"; kommer att skicka char "a"
om (digitalRead(buttonPin) == 1) {
digitalWrite 13, hög. blinkar LED att visa det arbetar
vw_send ((uint8_t*) msg, 1); skickar röding
vw_wait_tx(); vänta tills char skickas
digitalWrite 13, låg.
Delay(500);
}
}