LED tryck spelet Arduino (3 / 4 steg)
Steg 3: Koden
Nu kopiera och klistra in följande skiss till Arduino och ladda upp den. Om du ändrat stiften runt, sedan din Lysdioderna kan vara i ordning och måste du antingen ändra ordning på stiften att matcha min kod eller redigera koden. Jag förklara koden i nästa steg så att du kan se vad som händer. Jag är säker på att denna kod kunde skrivas mer elegant, men den här fungerar för mig och det är kort nog att det inte är alltför dålig.
LED tryck spel med Force känsliga Resistor
CONST int rött = 11; Lysdioderna anslutna till varje stift
CONST int yellow1 = 10;
CONST int yellow2 = 9;
CONST int green1 = 6;
CONST int green2 = 5;
CONST int blå = 3;
CONST int FSR = 0; FSR ansluten till analoga stift 0
int nivå = 0; variabel för den kraft som anbringas på FSR
void setup() / / kör en gång till setup
{
pinMode (röd, produktionen); LED som utdata
pinMode (yellow1, produktionen);
pinMode (yellow2, produktionen);
pinMode (green1, produktionen);
pinMode (green2, produktionen);
pinMode (blå, OUTPUT);
analoga stift anges automatiskt att mata in
}
void loop() / / upprepad rutin
{
först läsa det pressa jämnt
int nivå = analogRead(FSR);
Nästa, tänds Lysdioderna enligt tryck
om (nivå < 200) {
analogWrite (röd, nivå).
}
om (nivå > 200) {
analogWrite (yellow1, nivå);
}
om (nivå > 400) {
analogWrite (yellow2, nivå);
}
om (nivå > 600) {
analogWrite (green1, nivå);
}
om (nivå > 700) {
analogWrite (green2, nivå);
}
om (nivå > 800) {
analogWrite (blå, nivå).
}
Nästa säger det att stänga av alla lampor om nivå = 0
IF(Level == 0) {
digitalWrite (röd, låg);
digitalWrite (yellow1, låg);
digitalWrite (yellow2, låg);
digitalWrite (green1, låg);
digitalWrite (green2, låg);
digitalWrite (blå, låg);
}
berätta den till flash lysdioder om trycket är större än 800
om (nivå > 800) {
digitalWrite (röd, hög);
digitalWrite (yellow1, hög);
digitalWrite (yellow2, hög);
digitalWrite (green1, hög);
digitalWrite (green2, hög);
digitalWrite (blå, hög);
Delay(100);
digitalWrite (röd, låg);
digitalWrite (yellow1, låg);
digitalWrite (yellow2, låg);
digitalWrite (green1, låg);
digitalWrite (green2, låg);
digitalWrite (blå, låg);
Delay(100);
}
}