Pulsanti Capacitivi SENZA collegamento a terra

Ciao a tutti questo W.E. volevo realizzare una piccola tastiera touch capacitiva utilizzando la libreria CapacitiveSensor.h.
Collegando il pc alla rete quindi con messa a terra tutto funziona ma se simulo un sistema che funziona a batterie (senza collegamento a terra da utilizzare sulla mia barchetta)staccando l'alimentatore del mio pc inizia a non funzionare bene.
Il mio hardware è il seguente:
-) scheda ATMEGA2560
-) trimmer da 10Mcollegato tra il pin arduino e pin sensore
-) un cs con pin quadrati da 9mm di lato che fungono da sensori capacitivi collegati ai pin
-) una lastra di vetro da 6mm posta sopra il cs
allego sketch

#include <CapacitiveSensor.h>
 
int led1 = 50;

CapacitiveSensor cs_22_30= CapacitiveSensor(22,30);
//CapacitiveSensor cs_7_3 = CapacitiveSensor(7,3);

 int puls1=0;
void setup() 
{
Serial.begin(9600);

pinMode(led1, OUTPUT);

cs_22_30.set_CS_AutocaL_Millis(0xFFFFFFFF); // turn off autocalibrate on channel 1 - just as an example
//cs_7_3.set_CS_AutocaL_Millis(0xFFFFFFFF); // turn off autocalibrate on channel 1 - just as an example
}
 
void loop() 
{
long total1 = cs_22_30.capacitiveSensor(30);
//long total2 = cs_7_3.capacitiveSensor(70);


//gestione tasto 1
 
total1 = cs_22_30.capacitiveSensor(30);
     
     Serial.println("-----------------------------------------");  
     Serial.println(total1);
     Serial.println("-----------------------------------------");
if(total1>300)
  digitalWrite(led1, HIGH);   // sets the LED on
  else
    digitalWrite(led1,LOW );   // sets the LED on
 delay(500);
}

mi potete dare una mano?
Grazie

Il problema dei pulsanti capacitivi, e' che possono funzionare solo in due modi ... quello, e' il modo "chiusura verso terra", in cui misuri appunto di quanto il tuo corpo chiude il contatto verso terra ... ma e' un "ripiego", non un "vero" pulsante capacitivo ... per poter costruire una tastiera che funzioni anche senza collegamento verso terra, serve usare il secondo sistema, che e' quello usato dalle MCU esplicitamente realizzate per quello scopo ...

In questo secondo metodo di funzionamento, il chip spedisce dei segnali AF ai vari elettrodi, li misura in condizioni di "nessun tasto toccato" all'accensione, e poi da quel momento rileva la "diminuzione" dei suoi stessi segnali, creata da un corpo che avvicinandosi all'elettrodo ne sottrae una parte, e quindi funziona senza connessione di massa ... ma serve usare una specifica MCU per crearci la tastiera, non una normale MCU ...

In passato ne ho disegnate alcune, per i prodotti della Atmel (adesso Microchip, ma le sigle sono rimaste le stesse) ... il piu semplice da usare e' AT42QT1070, da uno a sette tasti, comunica I2C ... poi ce ne sono altri sempre della stessa famiglia AT42 che consentono anche di creare cursori, sia lineari che circolari ... come ad esempio AT42QT2120, o 12 tasti, o 9 tasti piu uno slider, che puo essere sia lineare che circolare ...

grazie per la risposta ma stanotte ragionavo su un aspetto prbabilmente la mia idea è assolutamente senza senso ma la scrivo ugualmente (ma potevo dormire bhà) i sensori come hai detto te chiudono verso terra che sarà ad un potenziale differente dal negativo di alimentazione quindi sarebbe tutta una questione di differenze di potenziale o sbaglio?
la mia barca ha una piastra porosa fissata sullo scafo alla quale è collegato il negativo della batteria (24V) potrei, con un regolatore di tensione avere 12V e collegareil positivo in uscita dal regolatore al negativo di alimentazione, il positivo della batteria al positivo della mia scheda (ottenendo cosi 12v sulla scheda cosi avrei un potenziale (il negativo della batteria ad un potenziale inferiore del negativo della scheda quindi potrei avere la mia terra in mare :slight_smile:
ditemi se ho perso una notte invano oppure se le mie occhiaie di oggi son servite a qualcosa di costruttivo.
Grazie

potresti provare una superfice sensibile doppia (una parte verso l' entrata del Arduino e l'altra collegata a GND di Arduino. Cosí un dito cambia la capacitá facendo come terza piastra tra le 2 piastre del "condensatore".

La libreria ha un calcolo dell'offset molto grossolano. La libraria ha un seconda funzione che TI da il valore grezzo della misura. Forse con quel valore la misura é piú affidabile.

Ciao Uwe

Ciao Grazie per la prova che mi hai suggerito ma il sistema resta diciamo instabile cioè una volta calibrato (ho messo un trimmer per regolare la resistenza tra i pin della Mega) alimentando la scheda attraverso una batteria sembra che funzioni tutto ma se disalimento e rialimento la scheda il setting che ho appena fatto risulta errato a volte mi rileva la pressione del tasto toccando il tavolo dove è appoggiata la scheda :frowning:
Altri suggerimenti o devo inesorabilmente rifare il cs e utilizzare dei chip tipo quello suggerito da Etemenanki (AT42QT1070) oppureavrei visto anche il chip della cypress CY8CMBR3116 montato sulla scheda di sviluppo CY3280-MBR3 che sembra sia immune all'acqua cosa mi consigliate?

Se ti bastano i 12 tasti, questa puo essere una soluzione con il QT2120 (era una versione singola faccia prevista per essere incollata dietro un pannellino di plastica da 3mm, ne ho altre diverse ... da qualche parte nell'archivio dovrei avere ancora anche quelle con 9 tasti ed il cursore, sia lineare che rotativo) ... se ti servono te li cerco e ti posto i files appena li trovo ...

GRAZIE Etemenanki!
La Tua scheda è un ottimo punto di partenza la mia dovrà essere rettangolare 300mmx50mm e i 10 pulsanti saranno disposti su due file e con dei led intorno ai tasti.
lo spessore del vetro+serigrafia +biadesivo l'ho valutato intorno ai 6mm spero non sia troppo elevato;
una cosa non mi è chiara nella tua scheda, guardando il datasheet del QT2120 prevedono un Guard Channel te non lo hai inserito? sebbene la mia scheda la istallerò sulla mia barchetta (con possibilità di spruzzi d'acqua) mi consigli di prevederlo? magari anche un ulteriore sensore di prossimita?
in ogni caso opterei per il funzionamento comms mode per poterla tarare non vorrei che in standalone mode (innanzitutto me ne occorrerebbero 2) la taratura non sia adeguata.

inserisco anche un'immagine del pulsante che ho pensato di realizzare le forature ad angolo esul lato mi servono per retroilluminare la mia tastierina che dite la vicinanza dei led alla piastra introdurrà interferenze?

Ciao Etemenanki
Ho ordinato i chip AT42QT2120 mi arriveranno mercoledi cosi posso iniziare a fare alcune prove ma utilizzi una libreria particolare per arduino?
Rirottolando sul Web avrei trovato questa

https://www.avrfreaks.net/forum/qt2120-and-slider?skey=at42qt2120%20arduino

io partirei da questa se nessuno me la sconsiglia.......qualcuno l'ha mai utilizzata?
Grazie

Io avevo sviluppato solo la parte hardware di alcune tastiere differenti per un'amico a cui servivano, che programma ma non se la cava molto bene con la parte "fisica" del'elettronica (ah, questi giovani cresciuti programmando MCU, ma senza saperle saldare :D) ... non so poi che libreria usasse, anche perche' lui principalmente usa PIC ... posso cercarti fuori i vari files se li ritrovo nell'archivio vecchio e mandarteli, cosi puoi usarli se ti vanno bene, o prenderli come spunto per fare qualcosa di tuo se non ti vanno bene come sono, ma piu di quello non saprei dirti ...

sarebbero davvero di aiuto Grazie!

Domani riesumo l'archivio vecchio (servira' probabilmente un rituale necromantico, dato che il vecchio disco era leggermente deceduto, ma dovrei avere tutto il necessario a casa :D), e ti posto tutto quello che riesco a recuperare ...