Paso 9: código
El código:*/
#include
CAPI cPin_10 = CapPin(10); leyó el pin 10 (D10 sobre Flora) - conectar a NES B
CAPI cPin_9 = CapPin(9); leyó el pin 9 (D9 a Flora) - conectar a NES A
CAPI cPin_6 = CapPin(6); leyó el pin 6 (D6 en Flora) - conectar para empezar a NES
CAPI cPin_12 = CapPin(12); leyó el pin 12 (D12 sobre Flora) - conectar a NES seleccionar
CAPI cPin_1 = CapPin(1); leyó el pin 1 (TX Flora) - conectar a derecha NES
CAPI cPin_0 = CapPin(0); leyó el pin 0 (RX Flora) - conectar a NES
CAPI cPin_2 = CapPin(2); leyó el pin 2 (SDA Flora) - conectar a NES a la izquierda
CAPI cPin_3 = CapPin(3); leyó el pin 3 (SCL Flora) - conectar a NES abajo
CAPI pernos [] = {cPin_10, cPin_9, cPin_6, cPin_12, cPin_1, cPin_0, cPin_2, cPin_3};
Ver http://arduino.cc/en/Reference/KeyboardModifiers para más información sobre claves únicas
Departamento D-pad, seleccione = retorno, Inicio = espacio, LeftButton = z, RightButton = x
char las teclas [] = {'x', 'z', ' ', KEY_RETURN,'d ', 'w', 'a', de '};
flecha D-pad, seleccione = retorno, Inicio = espacio, LeftButton = b, RightButton = un
char las teclas [] = {'a', 'b', ' ', KEY_RETURN, KEY_RIGHT_ARROW, KEY_UP_ARROW, KEY_LEFT_ARROW, KEY_DOWN_ARROW};
char * llaves [] = {"Hola", "winkyface", "¿allí?", "Hola", "Estoy aburrido", "nos vemos para el almuerzo", "zzz", "bye"};
Boolean currentPressed [] = {falso, falso, falso, falso, falso, falso, falso, falso};
Threashhold táctil de Capactive, quiera meterse con esto si encuentras su demasiado
sensible o no sensible
#define trilla 500
flotador alisado [8] = {0,0,0,0,0,0,0,0};
void setup()
{
mientras (!. Serie)
Serial.Begin(115200);
Serial.println("Start");
Keyboard.Begin();
}
void loop()
{
para (int i = 0; i < 8; i ++) {}
Delay(1);
largo total1 = 0;
tiempo Inicio = millis();
largo total = pins[i].readPin(2000);
comprobar si estamos detección que un dedo toca la almohadilla
y el que no era ya
Si ((total > THRESH) & & (! {currentPressed[i]))}
Serial.Print ("tecla #"); Serial.Print(i);
Serial.Print ("(''); Serial.Print(keys[i]); Serial.println(")");
currentPressed [i] = true;
Keyboard.println(keys[i]); envía cadena como prensas de teclado con la tecla ENTER
}
else if ((total < = THRESH) & & (currentPressed[i])) {}
se suelta la tecla (no táctil y se presionó antes)
Serial.Print ("suelta tecla #"); Serial.Print(i);
Serial.Print ("(''); Serial.Print(keys[i]); Serial.println(")");
currentPressed [i] = false;
Keyboard.releaseAll();
}
/*
filtro de paso bajo simple para tomar un poco de la inquietud
cambiar el parámetro (0 es min,.99 es máximo) o eliminar para adaptarse a
alisado [i] = suave (total,.8, smoothed[i]);
Serial.Print(i); Serial.Print(":");
Serial.Print (millis() - start); tiempo para ejecutar en mS
Serial.Print ("ms \t");
Serial.Print(total); total materia prima
Serial.Print ("\t-> \t");
Smoothed[i]) de serial.println((int); alisado
*/
Delay(5);
}
}
filtro de paso bajo simple
requiere reciclaje la salida en el parámetro "smoothedVal"
Lisa de la int (int datos, filterVal de flotador, flotan smoothedVal) {}
Si (filterVal > 1) {/ / comprobar que son de hacer seguro param dentro de gama
filterVal =. 999999;
}
else if (filterVal < = 0) {}
filterVal = 0;
}
smoothedVal = (datos * (1 - filterVal)) + (smoothedVal * filterVal);
devolver (int) smoothedVal;
}