Stap 8: Meer Code!
Dus wat als wij willen elke knop op de afstandsbediening om een andere functie te doen? Maken van een heleboel 'als' verklaringen zou veel te veel te typen! Dus laat dit te vereenvoudigen met een switch/case-instructie.
switch(results.value)
We gaan dit na de void lus en na de eerste als verklaring. Hier is het hele ding-
void loop als (irrecv.decode (& resultaten)) {irrecv.resume(); / / ontvangen van de volgende waarde} void loop() if (irrecv.decode(&results)) { irrecv.resume(); // Receive the next value } switch(results.value) {
We moeten dus nu de code afronden. Als je niet weet wat de switch/case zijn Zie http://arduino.cc/en/Reference/SwitchCase
Hier is de definitieve code. Kun je over het toevoegen van gevallen. Nu waar het zegt 'zaak 03' u het ' 03' naar welke knop nummer wenst u. Bijvoorbeeld zou kunnen het eerste geval zeggen:
case 16753245: // do this break;
En we gewoon houden op het toevoegen van andere knop nummers voor om verschillende dingen te doen.
Hier is de link naar de onderstaande code.
/ * Wat voorbeeldcode over het gebruik van de IR-afstandsbediening * laat aan de slag: de IR sensor van pinnen zijn aangesloten op de Arduino zoals zo: Pin 1 naar Vout (pin 11 op Arduino) Pin 2 GND Pin 3 Vcc (+ 5v van de Arduino) * / #include < IRremote.h > int IRpin = 11; PIN voor de IR sensor int LED = 13; LED pin IRrecv irrecv(IRpin); decode_results resultaten; Boole LEDon = waar; initialiseren van de LEDon als ware void setup {Serial.begin(9600); irrecv.enableIRIn(); / / Start de ontvanger pinMode (LED, OUTPUT);} void loop {als (irrecv.decode (& resultaten)) {irrecv.resume(); / / ontvangen van de volgende waarde} /* Some Sample code of how to use your IR remote * Lets get started: The IR sensor's pins are attached to Arduino as so: Pin 1 to Vout (pin 11 on Arduino) Pin 2 to GND Pin 3 to Vcc (+5v from Arduino) */ #include <IRremote.h> int IRpin = 11; // pin for the IR sensor int LED = 13; // LED pin IRrecv irrecv(IRpin); decode_results results; boolean LEDon = true; // initializing LEDon as true void setup() { Serial.begin(9600); irrecv.enableIRIn(); // Start the receiver pinMode(LED, OUTPUT); } void loop() { if (irrecv.decode(&results)) { irrecv.resume(); // Receive the next value } switch(results.value) { case 01: // do this break; case 02: // do another thing break; case 03: // feed my dog for me break; default: digitalWrite(LED, HIGH); } }