Stap 2: Voeg code toe
Kopieer en plak de volgende code in de Arduino schets (deze code is een variatie op een capaciteit sensing code die is vrij stabiel en gratis lawaai. Hier is een link naar de oorspronkelijke code in de Arduino forum.
code op basis van CapSense.pde door Paul Badger 2007. Een paar veranderingen op hoe I/O pinnen zijn verklaard.
code kan hier gevonden worden http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1171076259
int i;
unsigned int x, y;
zweven uitvalaantal, fout, fval =. 07; Dit zijn de variabelen voor een eenvoudige (vloeiend) laagdoorlaatfilter - fval van 1 = geen filter - 001 = max filter
VOID Setup {}
Serial.begin(9600);
pinMode (8, OUTPUT); uitgang pins
pinMode (9, INPUT); invoer pin
pinMode (10, OUTPUT); Garde pin
digitalWrite (10, laag);
pinMode (13, OUTPUT);
pinMode (12, OUTPUT); ook kan hoge - deze pin niet gebruiken voor het veranderen output hoewel
}
void loop {}
y = 0; leeghalen van variabelen
x = 0;
voor (ik = 0; ik < 4; i ++) {/ / doe het vier keer voor de opbouw van een gemiddelde - niet echt nodig, maar neemt uit sommige jitter
Overgang van laag naar hoog
Hetzelfde als hieronder - lijn toont programmeur koteletten maar elke meer snelheid echt niet kopen
digitalWrite (8, hoge);
terwijl de zin pin niet hoog is
terwijl (digitalRead(9)! = 1) {/ / dezelfde als boven poort manipulatie boven - slechts 20 keer langzamer!
x ++;
}
delay(1);
HOOG-laag-overgang
Zelfde als lijn eronder - deze shows programmeur koteletten maar elke meer snelheid echt niet kopen
digitalWrite (8, laag);
terwijl pin is niet laag--hetzelfde zoals hieronder slechts 20 keer sneller
while(digitalRead(9)! = 0) {/ / dezelfde als boven poort manipulatie - slechts 20 keer langzamer!
y ++;
}
delay(1);
}
fout = (fval * (float) x) + ((1-fval) * uitvalaantal); Eenvoudig filter "fval" smoothing bepaalt bedrag voor nieuwe data in fout
uitvalaantal = fout;
Als (fout > 90) {}
digitalWrite (13, hoge);
digitalWrite (12, hoge);
} else {}
digitalWrite (13, laag);
digitalWrite (12, laag);
}
Serial.Print ("");
Serial.println ((lange) fout, DEC); Gladgestreken van laag naar hoog
}