Stap 4: Programmeren van de Arduino
De onderstaande code is een eenvoudige schets die stuurt een teken (T, B, L, R) voor elk van de sleutels (Top, Botton, links, rechts), als de sensor boven een bepaalde drempel.EDIT: ik vergat te vermelden dat u moet downloaden eerst de bibliotheek CapacitiveSensor hier
U kunt un-comment de print opdrachten eerst te testen met de Arduino-console dat uw toetsenbord werkt. Vergeet niet dat wanneer u zal verwerken om te lezen van de seriële poort echter, kan niet heb je de Arduino-console op hetzelfde moment.
(paar gedachten
De code kan worden verrijkt door de gevonden waarde ook te sturen, maar de verwerking code zou complexer, dus ik heb het hier niet opnemen...
De detectie-drempel is ook hardcoded, en identiek voor alle sleutels. Het kon worden verschillende gemaakt voor elk en gekalibreerd in de functie Setup.)
#include < CapacitiveSensor.h >
Circuit
4 tactiele capacitieve detectoren met 1 MOhm weerstanden
CapacitiveSensor sensorTop = CapacitiveSensor (13, 11);
CapacitiveSensor sensorBottom = CapacitiveSensor (10, 8);
CapacitiveSensor sensorLeft = CapacitiveSensor (7, 5);
CapacitiveSensor sensorRight = CapacitiveSensor (4, 2);
hardcoded drempel
lager te krijgen een gevoeliger touchpad
hogere om te voorkomen dat lawaai
Const int drempel = 150;
VOID Setup {}
Serial.begin(9600);
}
void loop {}
lange valTop = sensorTop.capacitiveSensor(30);
lange valBottom = sensorBottom.capacitiveSensor(30);
lange valLeft = sensorLeft.capacitiveSensor(30);
lange valRight = sensorRight.capacitiveSensor(30);
de geperste belangrijke info verzenden Processing
Als (valTop > drempel) {}
Serial.Print("T");
Serial.println(valTop);
}
Als (valBottom > drempel) {}
Serial.Print("B");
Serial.println(valBottom);
}
Als (valLeft > drempel) {}
Serial.Print("L");
Serial.println(valLeft);
}
Als (valRight > drempel) {}
Serial.Print("R");
Serial.println(valRight);
}
}