Sfiorando la guaina dei cavetti bianchi, al pc vendono inviati dei caratteri tastiera, da sinistra a destra (per scelta) QWERTYUI.
Il circuito è lo stesso di questo qui, sulla striscia blu del ground della bread bord ho collegato il piede numero 7 che in qualche modo è il "comune", le resistenze un po' grosse non sono tutte uguali (ho montato quelle che avevo).
Questo circuitino mi serve per costruire il controller di un videogame che produrrà l'amica e collega Annalisa. Ci siamo accordati per i quattro pulsanti delle due postazioni che saranno collegati ai caratteri della tastiera QWER e TYUI.
I due giocatori sfioreranno con le mani uno dei quattro tubi opalescenti davanti a loro, questi oltre ad inviare il carattere al pc si illumineranno con dei led colorati, pare...
Lo sketch:
#include
<CapacitiveSensor.h>
#include
"pitches.h"
CapacitiveSensor
Q = CapacitiveSensor(7, 11);
CapacitiveSensor
W = CapacitiveSensor(7, 10);
CapacitiveSensor
E = CapacitiveSensor(7, 9);
CapacitiveSensor
R = CapacitiveSensor(7, 8);
CapacitiveSensor
T = CapacitiveSensor(7, 6);
CapacitiveSensor
Y = CapacitiveSensor(7, 5);
CapacitiveSensor
U = CapacitiveSensor(7, 4);
CapacitiveSensor
I = CapacitiveSensor(7, 3);
int
soglia = 50;
boolean
QTouch = false;
boolean
WTouch = false;
boolean
ETouch = false;
boolean
RTouch = false;
boolean
TTouch = false;
boolean
YTouch = false;
boolean
UTouch = false;
boolean
ITouch = false;
void
setup()
{
Keyboard.begin();
Q.set_CS_AutocaL_Millis(0xFFFFFFFF);
W.set_CS_AutocaL_Millis(0xFFFFFFFF);
E.set_CS_AutocaL_Millis(0xFFFFFFFF);
R.set_CS_AutocaL_Millis(0xFFFFFFFF);
T.set_CS_AutocaL_Millis(0xFFFFFFFF);
Y.set_CS_AutocaL_Millis(0xFFFFFFFF);
U.set_CS_AutocaL_Millis(0xFFFFFFFF);
I.set_CS_AutocaL_Millis(0xFFFFFFFF);
Serial.begin(9600);
}
void loop()
{
long
start = millis();
long
totaleQ = Q.capacitiveSensor(30);
long
totaleW = W.capacitiveSensor(30);
long
totaleE = E.capacitiveSensor(30);
long
totaleR = R.capacitiveSensor(30);
long
totaleT = T.capacitiveSensor(30);
long
totaleY = Y.capacitiveSensor(30);
long
totaleU = U.capacitiveSensor(30);
long
totaleI = I.capacitiveSensor(30);
/****************************/
if(totaleQ > soglia && !QTouch){
Serial.println("Q");
Keyboard.write('Q');
QTouch
= true;
}
else{QTouch
= false;}
if(totaleW > soglia && !WTouch){
Serial.println("W");
Keyboard.write('W');
WTouch
= true;
}
else{WTouch
= false;}
if(totaleE > soglia && !ETouch){
Serial.println("E");
Keyboard.write('E');
ETouch
= true;
}
else{ETouch
= false;}
if(totaleR
> soglia && !RTouch){
Serial.println("R");
Keyboard.write('R');
RTouch
= true;
}
else{RTouch
= false;}
if(totaleT
> soglia && !TTouch){
Serial.println("T");
Keyboard.write('T');
TTouch
= true;
}
else{TTouch
= false;}
if(totaleY > soglia && !YTouch){
Serial.println("Y");
Keyboard.write('Y');
YTouch
= true;
}
else{YTouch
= false;}
if(totaleU
> soglia && !UTouch){
Serial.println("U");
Keyboard.write('U');
UTouch
= true;
}
else{UTouch
= false;}
if(totaleI
> soglia && !ITouch){
Serial.println("I");
Keyboard.write('I');
ITouch
= true;
}
else{ITouch
= false;}
} |
POTRESTI ILLUSRARE MEGLIO LO SCHEMA??
RispondiEliminaGRAZIE.
se clicchi sull'immagine si apre, dalla bread si capisce bene dai... no?
RispondiElimina