Stap 4: magnetisch veld
< code >
EMF Detector voor LED-Bargraph v1.0
5.12.2009
oorspronkelijke code/project door Aaron ALAI - aaronalai1
#define NUMREADINGS 15 / / dit getal te verhogen gegevens vloeiend verheffen
int senseLimit = 15; Dit getal te verlagen van de gevoeligheid (tot max 1023) verheffen
int probePin = 5; analoge 5
int val = 0; bij het lezen van probePin
variabelen voor het vloeiend maken
int lezingen [NUMREADINGS]; de lezingen van de analoge ingang
int index = 0; de index van de huidige lezing
int totaal = 0; het lopend totaal
int gemiddelde = 0; definitieve gemiddelde van de lezing van de sonde
VOID Setup {}
Serial.begin(9600); seriële verbinding maken voor debugging/enz
for (int i = 0; ik < NUMREADINGS; i ++)
lezingen [i] = 0; initialiseren van alle lezingen op 0
}
void loop {}
Val = analogRead(probePin); Neem een lezing van de sonde
Als (val > = 1) {/ / als de lezing is niet nul, gaat u verder
Val = beperken (val, 1, senseLimit); zetten iedere lezing hoger dan de waarde van senseLimit in de senseLimit-waarde
Val = kaart (val, 1, senseLimit, 1, 1023); de beperkte waarde binnen een bereik van 1 tot en met 1023 remap
totale-= lezingen [index]; de laatste lezing aftrekken
lezingen [index] = val; lezen van de sensor
Total += lezingen [index]; de lezing aan het totaal toevoegen
index = (index + 1); verder naar de volgende index
Als (index > = NUMREADINGS) / / als we aan het einde van de array...
index = 0; .. .wrap rond naar het begin
gemiddelde = totaal / NUMREADINGS; het gemiddelde berekenen
Serial.println(val); Gebruik de uitgang om hulp bij het kalibreren
}
}
< / code >