Stap 3: programmeren
Open eerst de Arduino Software.
Open het menu schets > omvatten bibliotheek > bibliotheken beheren > Zoek voor IRremote, installeren. Open nu een nieuw project in de Arduino Software. Open het menu bestanden > voorbeelden > IRremote > IRrecvDemo. Vervolgens controleren en uploaden naar je adruino board. Vervolgens open seriële monitor en probeer te klikken op een willekeurige knop van de afstandsbediening om een signaal afgeven aan de IR ontvanger, de code van de Hexuitdraai van elke knop. Vervolgens detecteren de code van de Hexuitdraai van de knoppen gebruiken om te controleren de servomotor, veronderstellen dat zal u vijf knoppen van uw keuze. Bijvoorbeeld (juiste pijl) voor 0 graden en (verlaten pijl) te gebruiken voor 180 graden, dus je moet krijgen van hun HEX-codes. (R)---> A3C8EDDB (L)---> F076C13B In de definitieve code, de functionaliteit is als de motor op een van de vijf knoppen te klikken is schakelen tussen de rotatie in de hoofdrichting en stop dus wanneer eerst Klik op een van de twee knoppen die de motor in de richting van knop draaien zal en als tweede klik op dezelfde knop de motor stopt zoals in de video. De code is:
#include
#include
unsigned long waarde1 = 0xFD50AF; waarin XXXXXXXX is op onze waarden van uw afstandsbediening
unsigned long waarde2 = 0xFD10EF; waar XXXXXXXX is een andere knop op uw afstandsbediening
unsigned long Waarde3 = 0xFD906F; waar XXXXXXXX is een andere knop op uw afstandsbediening
unsigned long Waarde4 = 0xFD08F7; waar XXXXXXXX is een andere knop op uw afstandsbediening
unsigned long Value5 = 0xFD48B7; waar XXXXXXXX is een andere knop op uw afstandsbediening
int RECV_PIN = 2;
IRrecv irrecv(RECV_PIN);
decode_results resultaten;
Servo servo1;
de setup-routine wordt uitgevoerd zodra wanneer u drukt op reset:
VOID Setup {}
Serial.begin(9600);
irrecv.enableIRIn(); Start de ontvanger
Initialiseer de digitale pin als uitgang.
servo1.attach(9); aanval servo naar digitale pin 10
}
de routine van de lus wordt uitgevoerd over en weer forever:
void loop {}
Als (irrecv.decode (& resultaten)) {}
Serial.println (results.value, HEX);
irrecv.resume(); De volgende waarde ontvangen}
if(results.Value == Value1) {}
servo1.write(180);
}
else if (results.value == waarde2) {}
servo1.write(0);
}
else if (results.value == Waarde3) {}
servo1.write(90);
}
else if (results.value == Waarde4) {}
servo1.write(45);
}
else if (results.value == Value5) {}
servo1.write(135);
}
}