Stap 10: Voltooide kussen en CODE
/ * VARIABELEN * /
int digPin [6] = {8, 9, 10, 11, 12}; LED's / / 5 "Rondes" van LED is (LED's aangesloten op PIN 2 met lichte eerste en LED's
int vibePin = 7; VIBE BOARD / /
int buzzPin = 4; ALARM
int isOn = laag;
int isBuzzerOn = 0;
unsigned long zeroCount = 0;
unsigned long timestash = 0; Laatste keer dat ik iets deed.
/ * SETUP - initialiseren van variabelen; loopt eens; na elke powerup/reset van LilyPad (micro-controller) * /
VOID Setup
{
pinMode (digPin [0], OUTPUT);
pinMode (digPin [1], OUTPUT);
pinMode (digPin [2], OUTPUT);
pinMode (digPin [3], OUTPUT);
pinMode (digPin [4], OUTPUT);
pinMode (digPin [5], OUTPUT);
pinMode (vibePin, OUTPUT);
pinMode (buzzPin, INPUT);
}
/ * LOOP - lussen consectively, waardoor programma te wijzigen en te reageren, actief controleert de LilyPad * /
void loop
{
unsigned long currTime = millis(); Mijn huidige tijd / /--dit is het mechanisme dat we gebruiken om iets te doen elke tweede zonder gebruik van een vertraging
unsigned long difTime = currTime - timestash; huidige tijd afgetrokken van opgeslagen tijd om het verschil te berekenen
De zoemer aanstaat?
if(digitalRead(buzzPin) > 0)
{
isBuzzerOn = 1;
zeroCount = 0;
} else {}
20 nullen?
zeroCount += 1;
if(zeroCount > 20)
{
isBuzzerOn = 0;
}
}
Als (isBuzzerOn == 1) {}
Als (difTime > 1000) {}
timestash = currTime; Ik heb om te zetten van de huidige tijd in timestash zodat ik opnieuw de timing
difTime = 0;
VIBE BOARD
Als (isOn == LOW) {}
isOn = hoog;
digitalWrite (vibePin, hoge);
} else {}
isOn = laag;
digitalWrite (vibePin, laag);
}
inschakelen van alle de LEDs
digitalWrite (digPin [0], hoge);
digitalWrite (digPin [1], hoge);
digitalWrite (digPin [2], hoge);
digitalWrite (digPin [3], hoge);
digitalWrite (digPin [4], hoge);
digitalWrite (digPin [5], hoge);
}
}
--einde van het tweede enige
Als (difTime > 100) {}
digitalWrite (digPin [0], laag);
}
Als (difTime > 200) {}
digitalWrite (digPin [1], laag);
}
Als (difTime > 300) {}
digitalWrite (digPin [2], laag);
}
Als (difTime > 400) {}
digitalWrite (digPin [3], laag);
}
Als (difTime > 500) {}
digitalWrite (digPin [4], laag);
}
Als (difTime > 600) {}
digitalWrite (digPin [5], laag);
}
Als (difTime > 700) {}
digitalWrite (digPin [6], laag);
}
}