Stap 6: Decoding waarde met behulp van Arduino code
Gebruik de bijgevoegde code om te decoderen van de waarde in uw programma. Een paar aanpassingen moeten worden aangebracht in de variabelen op de top.
DATA_LOC: deze waarde instellen op 0 als de gegevenswaarden (die we gemarkeerd in vet) in OFF lijst, anders 1 voor op lijst
LOW_VAL: de waarde u neemt als 0 voor decodering
HIGH_VAL: ook de waarde u neemt als 1 voor decodering
START_ON: de waarde voor de code start onder ON
START_OFF: ook de waarde voor de start code onder OFF
RANGE1_START: waar te beginnen met het lezen van de waarden voor het decoderen voor het eerste gegevensbereik. Gebruik niet het nummer van het excel-rij. De eerste rij is 0, vervolgens 1, enzovoort...
RANGE1_END: ook, waar komt de laatste waarde voor het bereik van de liefor 1 te decoderen?
RANGE2_START: als uw worden gedupliceerd, dan waar de gedupliceerde waarden begint?
RANGE1_END: ook waar ze eindigen?
RANGE2_INVERTED: zijn de dubbele waarden in bereik 2 het complement van de waarden in het bereik van 1?
// IR DEFINITIONS #define IRpin_PIN PIND // Pins for IR sensor (do not change) #define IRpin 2 // Pin number for IR sensor (do not change) #define DATA_LOC 0 // Data located in which list? 0: OFF, 1: ON #define LOW_VAL 550 // Value to interpret as 0 #define HIGH_VAL 1560 // Value to interpret as 1 #define START_ON 8500 // Start code's ON value #define START_OFF 4200 // Start code's OFF value #define RANGE1_START 17 // From which index to start decoding? #define RANGE1_END 24 // Till where to decode? #define RANGE2_START 25 // comment this #define if you do not have repeated data #define RANGE2_END 32 // comment this #define if you do not have repeated data #define RANGE2_INVERTED 1 // is range2 inverse/complement of range1? 1: yes, 0: no #define MAXPULSE 65000 // the maximum pulse we'll listen for - 65 ms #define MAX_PULSE_PAIRS 60 // maximum number of pulse pairs to store #define FUZZINESS 5 // What percent variation is allowed: 2 = 50%, 3 = 33.3%, 4 = 25%. 5 = 20%
Waarom zijn wij met behulp van de 2 bereiken als ze het dezelfde, of gewoon complement van elkaar zijn? Het is gewoon een extra controle om te zien of beide wedstrijden. #define uitcommentariëren voor RANGE2_START als u nog geen een reeks 2 of niet wilt gebruiken de extra controle.
Wanneer u een knop op uw afstandsbediening drukt, zal het de gedecodeerde waarde bieden voor de desbetreffende knop in de seriële monitor.
Nu kan je Arduino weten welke knop wordt ingedrukt. Nu kunt u verschillende taken toewijzen aan verschillende knoppen, zoals het draaien een LED aan en uit met de power-knop, verhogen/verlagen van helderheid met de knopen van het volume, versnellen up/vertragen van de knippersnelheid van het met kanaal up/down knoppen, enz.