Stap 3: De code
Nu kopieer en plak de volgende schets in Arduino en uploaden. Als u de pinnen rond hebt gewijzigd, dan uw LEDS mogelijk buiten de orde en je moet ofwel de pinnen overeenkomen met mijn code of bewerken van de code opnieuw te ordenen. Ik uitleggen de code in de volgende stap, zodat u kunt zien wat er gaande is. Ik weet zeker dat deze code eleganter geschreven kon worden, maar dit werkt voor mij en het is kort genoeg is, dat er niet al te slecht.
LED druk spel met Force Gevoelige Resistor
Const int rood = 11; LED's aangesloten op elke pin
Const int yellow1 = 10;
Const int yellow2 = 9;
Const int green1 = 6;
Const int green2 = 5;
Const int blauw = 3;
Const int FSR = 0; FSR aangesloten op analoge pin 0
int niveau = 0; variabele voor het niveau van kracht uitgeoefend op de FSR
void setup / / eenmalig uit te voeren om de installatie te
{
pinMode (rood, OUTPUT); LED stellen als uitvoerapparaat
pinMode (yellow1, OUTPUT);
pinMode (yellow2, OUTPUT);
pinMode (green1, OUTPUT);
pinMode (green2, OUTPUT);
pinMode (blauw, uitvoer);
analoge pinnen zijn automatisch ingesteld om input
}
void loop / / herhaald routine
{
Lees eerst het geluidsdrukniveau
int niveau = analogRead(FSR);
volgende, verlicht de LEDS volgens druk
Als (niveau < 200) {}
analogWrite (rood, niveau);
}
Als (niveau > 200) {}
analogWrite (yellow1, niveau);
}
Als (niveau > 400) {}
analogWrite (yellow2, niveau);
}
Als (niveau > 600) {}
analogWrite (green1, niveau);
}
Als (niveau > 700) {}
analogWrite (green2, niveau);
}
Als (niveau > 800) {}
analogWrite (blauw, niveau);
}
Daarna vertellen het aan alle lichten uit te schakelen als niveau = 0
if(level == 0) {}
digitalWrite (rood, laag);
digitalWrite (yellow1, laag);
digitalWrite (yellow2, laag);
digitalWrite (green1, laag);
digitalWrite (green2, laag);
digitalWrite (blauw, laag);
}
vertellen het aan flash-LEDS als druk groter dan 800 is
Als (niveau > 800) {}
digitalWrite (rood, hoge);
digitalWrite (yellow1, hoge);
digitalWrite (yellow2, hoge);
digitalWrite (green1, hoge);
digitalWrite (green2, hoge);
digitalWrite (blauw, hoge);
delay(100);
digitalWrite (rood, laag);
digitalWrite (yellow1, laag);
digitalWrite (yellow2, laag);
digitalWrite (green1, laag);
digitalWrite (green2, laag);
digitalWrite (blauw, laag);
delay(100);
}
}