Buongiorno a tutti, vorrei chiedervi un consiglio su un'idea che mi era venuta in mente.
Vorrei creare uno slider capacitivo per alzare o abbassare il volume di un amplificatore. Fare semplicemente il pulsantino Volume+ o Volume- è stato semplicissimo seguendo le librerie Arduino Playground - HomePage.
Ho deciso allora di provare a creare uno slider prendendo 3 contatti numerati 1,2 ,3 in modo tale che si ripetano con ordine sulla Breadboard in questo modo : 123123123123.
La mia idea è quella di far capire ad arduino che se arriva la successione 1-2-3 [oppure 2-3-1 /3-1-2] deve alzare il volume di una unità, mentre se arriva 3-2-1 [oppure 2-1-3 / 1-3-2] deve diminuirlo.
Ho scritto questo codice:
#include <CapacitiveSensor.h>
CapacitiveSensor cs_2_3 = CapacitiveSensor(2,3);
CapacitiveSensor cs_4_5 = CapacitiveSensor (4,5);
CapacitiveSensor cs_6_7 = CapacitiveSensor (6,7);
int volume=0;
int soglia=50;
void setup(){
Serial.begin(9600);
}
void loop(){
long total1 = cs_2_3.capacitiveSensor(30);
long total2 = cs_4_5.capacitiveSensor(30);
long total3 = cs_6_7.capacitiveSensor(30);
if(total1 > soglia){ // se contatto 1 > soglia
delay(10); //attendi per dare tempo di attivare il contatto successivo
if(total2 > soglia){ //se viene attivato il contatto 2 allora
delay(10); //attendi per dare tempo di attivare il contatto successivo
if(total3 >soglia){ //Se viene attivato il contatto 3 alzi il volume
Serial.println("Alza Volume");// a questo punto la successione 1-2-3 è verificata
}
}else{ // Altrimenti se il contatto 2 non è premuto
delay(10); //attendi per dare tempo di attivare il contatto successivo
if(total3 > soglia){ //Se il contatto 3 viene premuto
delay(10); //attendi per dare tempo di attivare il contatto successivo
if(total2 > soglia){ //se il contatto 2 viene premuto allora ab bassi il volume
Serial.println("Abbassa volume"); //a questo punto la successione 1-3-2 è verificata
}
}
}
}
delay(100);
}
Ma quello che riesco ad ottenere è solo l'aumento del volume sia se scorro il dito da sinistra verso destra o nell'altro verso.
Qualcuno saprebbe aiutarmi a risolvere questo problema?