Hur du använder IR-fjärrkontroller med Arduino (aktuella och uppdaterade) (8 / 10 steg)
Steg 8: Mer kod!
Så vad händer om vi vill att varje knapp på fjärrkontrollen för att göra en annan funktion? Att göra en massa "if" uttalanden skulle vara alldeles för mycket att skriva! Så kan förenkla detta med en switch/case uttalande.
Switch(results.Value)
Vi kommer att sätta detta efter void slingan och efter den första om uttalande. Här är det hela sak-
void loop()
om (irrecv.decode (& resultat))
{
irrecv.Resume(); Ta emot nästa värde
}
Switch(results.Value)
{
Så nu behöver vi avslutar koden. Om du inte vet vad switch/fallet är se http://arduino.cc/en/Reference/SwitchCase
Här är den sista koden. Du kan hålla på att lägga till fall. Nu där det står "fall 03' du ändra de ' 03" till vad knappen nummer önskar du. Det första fallet kan exempelvis säga:
fall 16753245:
göra detta
bryta;
Och vi bara hålla på att lägga olika knappen nummer för att göra olika saker.
Här är länken till koden nedan.
/*
Några exempel på kod för hur du använder din IR-fjärrkontroll
* Låter komma igång:
IR-sensor stift kopplas till Arduino som så:
Stift 1 till Vout (stift 11 på Arduino)
Stift 2 till GND
PIN 3 till Vcc (+ 5v från Arduino)
*/
#include < IRremote.h >
int IRpin = 11; PIN-koden för IR-sensor
int LED = 13. LED stift
IRrecv irrecv(IRpin);
decode_results resultat.
booleska LEDon = sant; initierar LEDon som sant
void setup()
{
Serial.BEGIN(9600);
irrecv.enableIRIn(); Starta mottagaren
pinMode (LED, OUTPUT);
}
void loop()
{
om (irrecv.decode (& resultat))
{
irrecv.Resume(); Ta emot nästa värde
}
Switch(results.Value)
{
fall 01:
göra detta
bryta;
fall 02:
göra en annan sak
bryta;
fall 03:
mata min hund för mig
bryta;
standard:
digitalWrite (LED, hög);
}
}