Stap 5: CODE
De code voor het project kan worden gedownload als Code.txt uit de onderstaande lijst. Ik verstrek een basisoverzicht van de onderstaande code.OVERZICHT VAN DE CODE-
We nemen eerst de externe IR-bibliotheek voor afstandsbediening gemaakt door ken sheriff kunt u downloaden van de bibliotheek op de volgende koppeling-http://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html
#include
Nu definiëren we de verschillende knoppen door hun hex code. Opmerking dat deze code uniek voor een specifieke externe .Dit is kan gevonden worden uit met behulp van het voorbeeld van de demo ontvangen in de bibliotheek zelf.
lang kleuren [11] = {}
0x33FFFF,
.
.
.
.
.
}
Initialiseren van pin 7 als de pin ontvangen
int RECV_PIN = 7;
U kunt ontvangen en decoderen van het signaal van de Ir afstandsbediening vanuit starten hebben we het volgende codesegment.
IRrecv irrecv(RECV_PIN);
decode_results resultaten;
Verklaar verschillende input- en output pinnen in de setup-functie.
VOID Setup
{
Serial.begin(9600); Beginnen met seriële communicatie op 9600 baud-rate
irrecv.enableIRIn(); De ontvanger inschakelen
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
digitalWrite (4, laag); //Connected aan de GND pin van IR tsop
digitalWrite (5, hoge); //Connected aan de VCC pin van IR tsop
pinMode(redPin,OUTPUT);
pinMode(greenPin,OUTPUT);
pinMode(bluePin,OUTPUT);
}
In de lus functie controleren we als een knop is ingedrukt en de vereiste operatie doen.
void loop {}
Als (irrecv.decode (& resultaten)) {}
Serial.println (results.value, HEX);
if(results.Value==EQ)
{
modus =! modus;
}
Vergelijk de waarde die is opgeslagen in de variabele resultaten en winkel overeenkomstige waarde in de variabele.
if(results.Value==Zero)
{
Ik = 0;
}
if(results.Value==One)
{
Ik = 1;
}
.
.
.
irrecv.resume(); De volgende waarde ontvangen
}
De parameter wordt doorgegeven aan de functie setcolor die de overeenkomstige kleur toont.
setColor(Colors[i]);
De volgende code wordt gebruikt om aan te geven van een kaars als flikkerend effect. Dit effect wordt bereikt door het hebben van een willekeurige vertraging.
if(mode)
{
analogWrite(redPin,0);
analogWrite(greenPin,0);
analogWrite(bluePin,0);
delay(Random(200));
}
}
Opmerking: - Best gebruikt als kaarsen zijn gegroepeerd
Dank u allen en graag van u te horen