Taktila tangentbord / game controller med Arduino och bearbetning (4 / 5 steg)
Steg 4: Programmera Arduino
Koden nedan är en enkel skiss som skickar en karaktär (T, B, L, R) för alla nycklarna (topp, botten, vänster, höger), om sensorn är över en viss tröskel.EDIT: jag glömde att nämna att du behöver ladda ner först biblioteket CapacitiveSensor här
Du kan o-kommentera utskriftskommandona först att testa med Arduino att tangentbordet fungerar. Glöm inte att när du bearbetar för att läsa den seriella porten men kan inte du ha Arduino konsolen på samma gång.
(några fler tankar
Koden kan berikas genom att skicka också upptäckt värdet, men bearbetning koden skulle vara mer komplex, så jag inte tog med det här...
Likaså den påvisbara gränsen är hårdkodad, och identiska för alla nycklar. Det kunde vara gjorde olika för varje och kalibreras i setup() funktion.)
#include < CapacitiveSensor.h >
Krets
4 taktil kapacitiv detektorer med 1 MOhm motstånd
CapacitiveSensor sensorTop = CapacitiveSensor (13, 11);
CapacitiveSensor sensorBottom = CapacitiveSensor (10, 8);
CapacitiveSensor sensorLeft = CapacitiveSensor (7, 5);
CapacitiveSensor sensorRight = CapacitiveSensor (4, 2);
hårdkodad tröskel
lägre till få en känsligare pekplatta
högre för att undvika buller
CONST int tröskel = 150;
void setup() {
Serial.BEGIN(9600);
}
void loop() {
lång valTop = sensorTop.capacitiveSensor(30);
lång valBottom = sensorBottom.capacitiveSensor(30);
lång valLeft = sensorLeft.capacitiveSensor(30);
lång valRight = sensorRight.capacitiveSensor(30);
Skicka den pressande nyckel info till bearbetning
om (valTop > tröskel) {
Serial.Print("T");
Serial.println(valTop);
}
om (valBottom > tröskel) {
Serial.Print("B");
Serial.println(valBottom);
}
om (valLeft > tröskel) {
Serial.Print("L");
Serial.println(valLeft);
}
om (valRight > tröskel) {
Serial.Print("R");
Serial.println(valRight);
}
}