Stap 3: Kopieer de code
Kopieer de code naar de Arduino IDE, en upolad het je Arduino, alle opdrachten worden toegelicht, zodat u kunt lezen het lijn door lijn te begrijpen het hele ding
Code:
int ledPin = 13; Kies de pin voor de LED
int inputPin = 2; Kies de invoer pin (voor PIR sensor)
int pirState = laag; We beginnen, ervan uitgaande dat geen bewegingsdetectie
int val = 0; variabele voor het lezen van de Pinstatus
variabelen die nodig zijn voor het opslaan van waarden
lange puls, inch, cm;
VOID Setup {}
pinMode (ledPin, OUTPUT); declareren van LED als de uitgang
pinMode (inputPin, INPUT); sensor declareren als input
Serial.begin(9600);
}
void loop {}
Val = digitalRead(inputPin); lezen van de invoerwaarde
Als (val == HIGH) {/ / controleren als de ingang hoog is
setColor(250,0,255,ledPin); Kies de kleurwaarde
digitalWrite (ledPin, hoge); Zet LED ON
Als (pirState == LOW) {}
We hebt zojuist ingeschakeld
Serial.println ("bewegingsdetectie!");
Wij willen alleen afdrukken op de uitvoer veranderen, niet staat
pirState = hoog;
Pulse = pulseIn (inputPin, hoge);
147uS per inch
inch = puls/147;
wijzigen van inches naar centimeters
cm = inch * 2,54;
Serial.Print(inches); voor de duim-waarde afdrukken
Serial.Print ("in");
Serial.Print(cm);
Serial.Print("cm"); voor de centinetres-waarde afdrukken
Serial.println();
delay(500);
}
} else {}
digitalWrite (ledPin, laag); uitschakelen LED
Als (pirState == HIGH) {}
We hebben net draaide van
Serial.println ("Motion eindigde!");
Wij willen alleen afdrukken op de uitvoer veranderen, niet staat
pirState = laag;
}
}
}
VOID setColor (int rood, int groen, int blauw, int geleid) / / functie in te stellen u de gewenste kleur voor de LED kleur
{
#ifdef COMMON_ANODE
rood = 255 - rood; de rode kanaal-waarde
groen = 255 - groen; de waarde van het groene kanaal
blauw = 255 - blauw; de waarde van het blauwe kanaal
#endif
de waarde van elk kanaal om een kleur te wijden
analogWrite (led, rood);
analogWrite (led, groen);
analogWrite (led, blauw);
}