Linkit en - aktivitet kontrollerade växla (1 / 3 steg)
Steg 1: kod
Förändringar i koden
Definition av pin D13 som en utgång – viktigt – använda versaler eller styrelsen erkänner inte anvisningen
Införandet av två om uttalanden i slutet för att testa potten värde för ett inställt värde – jag har satt det till 20. Om potten är mindre än eller lika med 20 är utdata för d13 inställd på hög och led på pin 13 varv på. Omvänt om värdet är större än 20 stängs led.
Kopiera från här:
byte ledPin [] = {4,5,6,7,8,9,10,11,12}.
float ledDelay(65);
int riktning = 1;
int currentLED = 0;
osignerade långa changeTime;
flyta potPin = A2;
void setup() {
pinMode (13, OUTPUT);
Serial.BEGIN(128000); öppnar serieport, uppsättningar data rate128000 bps
Serial.println("CLEARDATA"); rensar alla återstående data
för (int x = 0; x < 9; x ++) {
pinMode (ledPin [x], produktionen);}
changeTime = millis();
}
void loop() {
ledDelay = analogRead(potPin);
om ((millis()-changeTime)>ledDelay) {
changeLED();
changeTime=millis();
}
}
void changeLED() {
för (int x = 0; x < 9; x ++) {
digitalWrite(ledPin[x],LOW);
}
digitalWrite (ledPin [currentLED], hög);
currentLED += riktning;
om (currentLED == 8) {riktning = -1;}
om (currentLED == 0) {riktning = 1;}
om (ledDelay < = 20) {digitalWrite 13, hög.}
om (ledDelay > 20) {digitalWrite (13, låg);}
Serial.Print("data,Time,");
Serial.Print(currentLED);
Serial.Print(",");
Serial.println(ledDelay);
}
Stoppa kopia här