Étape 3: Créer le fil virtuel
Télécharger le code ici
// 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 ; module récepteur
constint ignitionPin = 3 ; pour allumeur
constint activeIndicatorPin = 5 ; à LED verte
constint inactiveIndicatorPin = 6 ; à LED rouge
constint buzzerPin = 4 ; la sonnerie
#include < VirtualWire.h >
le décollage booléen = false ;
annulerle programme d’installation() {}
Série.begin(9600) ; pour le débogage
pinMode (activeIndicatorPin, sortie) ;
pinMode (inactiveIndicatorPin, sortie) ;
pinMode (ignitionPin, sortie) ;
vw_set_ptt_inverted(true) ; trucs de configuration normale
vw_setup(2000) ;
vw_set_rx_pin(recieverPin) ;
vw_rx_start() ;
}
voidloop() {}
while(liftOff == false) {}
digitalWrite (activeIndicatorPin, HIGH) ; montre que cet allumeur n’a pas encore été utilisé
uint8_t buf [VW_MAX_MESSAGE_LEN] ;
uint8_t buflen = VW_MAX_MESSAGE_LEN ;
Si (vw_get_message (buf, & buflen)) {}
Série.print ("a:") ;
Série.print (buf [0], DEC) ; uniquement un seul octet dans le tableau (il devrait être à 97)
Série.println("") ;
}
Si (buf [0] == 97) {//checks si la lettre « a » est reçu (numéro ASCII est 97)
le décollage = ignition() ;
}
}
}
int ignition() {}
ton (buzzerPin, 500, 300) ; 5 second compte à rebours
Delay(1000) ; Il n’est pas nécessaire et peut être enlevé
ton (buzzerPin, 500, 300) ; 4 (j’ai relize ce n’est pas exactement une seconde)
Delay(1000) ;
ton (buzzerPin, 500, 300) ; 3
Delay(1000) ;
ton (buzzerPin, 500, 300) ; 2
Delay(1000) ;
ton (buzzerPin, 500, 300) ; 1
Delay(500) ;
allumage!!
digitalWrite (ignitionPin, HIGH) ;
Delay(2000) ;
digitalWrite (ignitionPin, basse) ;
digitalWrite(activeIndicatorPin,LOW) ;
digitalWrite(inactiveIndicatorPin,HIGH) ; montre que cet allumeur a été utilisé
returntrue ; empêche les autres allumages à des fins de sécurité
}
Code de l’émetteur
Télécharger le code ici
// 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 ; broches pour le module transitter
constint buttonPin = 3 ; broches pour le bouton d’allumage
constint armedPin = 4 ; broche pour indicateur LED
#include < VirtualWire.h >
annulerle programme d’installation() {}
pinMode (armedPin, sortie) ;
digitalWrite (armedPin, HIGH) ; montre que cet allumeur est armé
vw_set_ptt_inverted(true) ; trucs d’installation
vw_setup(2000) ;
vw_set_tx_pin(transmitPin) ;
}
voidloop() {}
char * msg = « a » ; aller à envoyer le char « a »
Si (digitalRead(buttonPin) == 1) {}
digitalWrite (13, HIGH) ; clignotement LED de montrer qu’il travaille
vw_send ((uint8_t*) msg, 1) ; envoie le char
vw_wait_tx() ; Attendez que le char est envoyé
digitalWrite (13, faible) ;
Delay(500) ;
}
}