Stap 1: Arduino Code
De IRremote bibliotheek kan worden gedownload via de volgende koppeling als u nog geen het.
https://brainy-bits.com/tutorials/IR-Remote-arduin...
Ook, afhankelijk van welke IR afstandsbediening die u gebruikt u wellicht invoegen van verschillende waarden voor de knoppen op de afstandsbediening. Bijvoorbeeld, was in de code hieronder de waarde voor de OK knop op mijn afstandsbediening geplaatst "0xFF02FD". Als u gaat gebruiken een ander ras dan wat ik gebruikt moet u uitzoeken van de juiste waarden voor de knoppen. U mei zitten kundig voor postuur zulks uiterlijk door te doen wat onderzoek op google, of u kunt het downloaden van een schets van de decoder IR. Er zijn daar veel tutorials over hoe dit te doen.
Als u problemen met een van ondervindt deze "FoamboardRC" heeft een uitstekende instructable over het gebruik van IR-afstandsbedieningen met Arduino. Hier is de link naar zijn instructable:
Code:
//Gun Lamp
//By: austiwawa
#include <Servo.h> #include <IRremote.h>
unsigned long Value1 = 0xFF02FD; // where XXXXXXXX is on our your remote's values (OK button)
int relay_pin = 13; int recv_pin = 11; int actual_state = LOW;
// Postions for even, odd clicks const byte oddPosition = 84; const byte evenPostion = 40; int clickCount = 0; // # of clicks
IRrecv irrecv(recv_pin); decode_results results;
Servo servo1;
void setup() { pinMode(relay_pin, OUTPUT); Serial.begin(9600); irrecv.enableIRIn(); // Start the receiver servo1.attach(9); // attach servo to digital pin 9 }
void loop() { if (irrecv.decode(&results)) { Serial.println(results.value, HEX); if (results.value == Value1) { // button actual_state = (actual_state == LOW) ? HIGH : LOW; digitalWrite(relay_pin, actual_state); } irrecv.resume(); // Receive the next value if(results.value == Value1) {
// increment click count clickCount++;
// move to even or odd position based on click count servo1.write( (clickCount % 2) ? oddPosition : evenPostion);
}
} }