Étape 6: Arduino Sketch
Arduino RF au projet IR
par Jack Zaldivar
Envoyer haut scénario (250ms) toutes les 5 secondes, comme test de signal
#include < IRremote.h >
définir le brochage basé sur la disposition de la télécommande d’origine
const int OFF1_PIN = 2 ;
const int OFF2_PIN = 3 ;
const int OFF3_PIN = 4 ;
const int ON1_PIN = 5 ;
const int ON2_PIN = 6 ;
const int ON3_PIN = 7 ;
int BASE_PIN ;
la section suivante si pour traitement IR
int RECV_PIN = 11 ;
char * recv_IR ;
IRrecv irrecv(RECV_PIN) ;
IRsend irsend ;
résultats de la decode_results ;
au cours de la fonction setup() ; qualifier toutes les broches de sortie sauf le récepteur IR, qui sera une entrée
Cela transformera également toutes les broches de sortie à faible par défaut
void setup() {}
Définir toutes les goupilles de ON et réglez le mode à faible
pinMode (ON1_PIN, sortie) ;
digitalWrite (ON1_PIN, basse) ;
pinMode (ON2_PIN, sortie) ;
digitalWrite (ON2_PIN, basse) ;
pinMode (ON3_PIN, sortie) ;
digitalWrite (ON3_PIN, basse) ;
Décrivez tout au loin épingles et mode de réglage à faible
pinMode (OFF1_PIN, sortie) ;
digitalWrite (OFF1_PIN, basse) ;
pinMode (OFF2_PIN, sortie) ;
digitalWrite (OFF2_PIN, basse) ;
pinMode (OFF3_PIN, sortie) ;
digitalWrite (OFF3_PIN, basse) ;
Serial.Begin(9600) ; Ouvrir le port série et la valeur de débit de données
irrecv.enableIRIn() ;
}
void loop() {}
Si (irrecv.decode (et résultats)) {}
/*
Ces quelques lignes de commentaire et de surveiller les valeurs dans le moniteur de la série Arduino pour afficher des données de débogage
Serial.Print ("bits:") ;
Serial.println(Results.bits) ;
Serial.Print("type") ;
Serial.println(Results.decode_type) ;
Serial.Print ("ul valeur:") ;
Serial.println(Results.value) ;
Serial.println("---") ;
Serial.println (ultoa (results.value, NULL, results.bits)) ;
unsigned long test = strtoul ("a90", NULL, 12) ;
Serial.println(test) ;
*/
Si (results.value == 2704) //piano Light ON - Light 1
{
processReceived(ON1_PIN) ;
}
Si (results.value == 2705) {//piano lampe OFF - Light 1
processReceived(OFF1_PIN) ;
}
Si (results.value == 2706) {//Table Light ON - Light 2
processReceived(ON2_PIN) ;
}
Si (results.value == 2707) {//Table éteint - Light 2
processReceived(OFF2_PIN) ;
}
irrecv.Resume() ; Recevoir la valeur suivante
}
}
void processReceived (int BASE_PIN) {}
digitalWrite (BASE_PIN, élevé) ;
Delay(1000) ;
/*
Serial.Print lignes servent uniquement à des fins de débogage. Décommenter si vous avez besoin afficher l’état de la fonction
Serial.Print (« écrit ») ;
Serial.Print(BASE_PIN) ;
Serial.println ("HIGH"); * /
digitalWrite (BASE_PIN, basse) ;
/*
Serial.println ("écrit LOW") ;
Serial.Print ("traité:") ;
Serial.println(BASE_PIN) ;
*/
}