Låg kostnad vatten flöda Sensor och omgivande Display (4 / 8 steg)
Steg 4: Kalibrera sensorn till upptäcka vibrationer
Testa signalen med mastix för att fästa piezo till en plan yta. Försök trycka eller repor på ytan på olika platser och olika intensiteter se vilken typ av avläsningar du får på Arduino.
För att minska buller, rekommenderar jag computing ett glidande medelvärde för indata. Detta är ett grovt sätt fastställa våg amplitud som undviker falsklarm på grund av slumpmässiga statisk ström. Mer avancerade metoder såsom FFT kan också användas.
Exempelkod
int sensor = 2; Analog i
int val = 0; Aktuell läsning för analoga pin
int avg; Löpande genomsnittlig av våg amplitud
int MITTPUNKTEN = 520; Bas läsning
void setup() {
Serial.BEGIN(9600);
AVG = MITTPUNKT; ställa in genomsnittliga på mittpunkt
}
void loop() {
Val = analogRead(sensor);
Beräkna wave amplittue
om (val > MITTPUNKTEN) {
Val = val - MITTPUNKTEN;
} annat {
Val = MITTPUNKT - val;
}
beräkna löpande genomsnittliga fr amplitute
AVG = (avg * 0,5) + (val * 0,5);
om (avg > 130) {
vibration upptäckt!
Serial.println("Tap");
Delay(100); fördröjning för seriell port inte är överbelastad
}
}