Kapacitiv touch vibrerande box (6 / 7 steg)
Steg 6: Koden
#include < CapacitiveSensor.h >
/*
* CapitiveSense bibliotek Demo skiss
* Paul grävling 2008
* Använder ett högt värde motstånd t.ex. 10 Megaohm mellan skicka pin och ta emot pin
* Motstånd effekter känslighet, experiment med värden, 50 kilohm - 50 Megaohm. Större motstånd värden ge större sensor värden.
* Ta emot pin är givarstaven - prova olika mängder av folie/metall på detta stift
* Bästa resultat erhålls om sensor folie och tråd är täckt med en isolator som papper eller plastfolie
*/
CapacitiveSensor cs_4_2 = CapacitiveSensor(4,2); 10 Megaohm motstånd mellan stift 4 & 2, stift 2 är givarstaven, lägga till tråd, folie
CapacitiveSensor cs_4_5 = CapacitiveSensor(4,5); 10 Megaohm motstånd mellan stift 4 & 6, stift 6 är givarstaven, lägga till tråd, folie
CapacitiveSensor cs_4_8 = CapacitiveSensor(4,8); 10 Megaohm motstånd mellan stift 4 & 8, stift 8 är givarstaven, lägga till tråd, folie
int stereo = 13. ignorera detta
void setup()
{
pinMode (12, OUTPUT);
pinMode (9, OUTPUT);
cs_4_5.set_CS_AutocaL_Millis(0xFFFFFFFF); stänga av autocalibrate på kanal 1 - bara som ett exempel
Serial.BEGIN(9600);
}
void loop()
{
långa start = millis();
långa total1 = cs_4_2.capacitiveSensor(30);
lång total2 = cs_4_5.capacitiveSensor(30);
lång total3 = cs_4_8.capacitiveSensor(30);
/ * om (total2 > 10000) * /
om (total2 > 370) {digitalWrite (12, hög).
digitalWrite (9, låg).
analogWrite (3, 255);}
om (total2 < 350) {digitalWrite (9, hög);}
Serial.Print(Millis() - start); kolla på prestanda i millisekunder
Serial.Print("\t"); tabbtecken för debug windown mellanrum
Serial.Print(total1); sensor utdata 1
Serial.Print("\t");
Serial.println(total2); sensor utdata 2
Serial.Print("\t");
Serial.println(total3); avtrycken sensoren utgång 3
Delay(100); godtyckliga dröjsmål att begränsa data till seriell port
}