1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.

Outils Arduino avec touches sensor

Discussion dans 'Arduino' créé par jpbbricole, 20 Juin 2016.

  1. jpbbricole

    jpbbricole Ouvrier

    Messages:
    455
    Inscrit:
    26 Mai 2016
    Localité:
    Corsier-sur-Vevey (Vaud)
    Département:
    1804
    Arduino avec touches sensor
    Arduino avec touches sensor

    Bonjour à tous
    Pour rendre vos montages un petit plus fun, rendre parfois leur usage plus pratique et diminuer le nombre du boutons, mettez des touches sensor.
    Elles peuvent être faites d’un bout de circuit imprimé, d’une rondelle, une belle vis, du papier d’alu………
    Il n'est pas nécessaire que le doigt touche le métal, vous pouvez très bien mettre un bout de papier avec un motif dessus, un plastique pour protéger. Il suffira, ensuite à régler la sensibilité.
    Vous pouvez même, pour faire des jeux par ex. dessiner des touches au crayon noire (1b ou 2b), tirer un très assez épais, mettre un trombonne au bout pour prendre le contact, mettre du scotch sur le tout pour ne pas se salir et …
    Elles sont à simple contact (1 fil) et sont très souples à paramétrer.
    Le schéma est très simple :
    upload_2016-6-20_16-13-12.png
    Et le code aussi:
    Code:
    /*-------------------------------------------------------------------
      jpbbricole 20.06.2016
      Utilisation de touches sensor sur Arduino
      http://playground.arduino.cc/Main/CapacitiveSensor
    -------------------------------------------------------------------*/
    #include <CapacitiveSensor.h>
    CapacitiveSensor toucheSensor1 = CapacitiveSensor(8,9);                  // 8 = commun  9  entrée touche 1
    CapacitiveSensor toucheSensor2 = CapacitiveSensor(8,10);                 // 8 = commun  10 entrée touche 2
    CapacitiveSensor toucheSensor3 = CapacitiveSensor(8,11);                 // 8 = commun  11 entrée touche 3
    int toucheSens1val, toucheSens2val, toucheSens3val;
    int toucheDerniere;
    
    void setup()
    {
    
        Serial.begin(9600);
        Serial.println("Touches sensor capacitives");
    }
    
    void loop()
    {
        int toSensSel = toSensLecture();
        if (toSensSel > 0)
        {
            if (toSensSel != toucheDerniere)
            {
                Serial.println("Touche " + String(toSensSel));
                toucheDerniere = toSensSel;
            }
        }
    }
    
    int toSensLecture()
    {
        int toSensValmin = 400;
        int toSensValMax = 600;
        int toSensVal = 0;
     
        toSensVal = toucheSensor1.capacitiveSensor(30);
        toucheSens1val = constrain(map(toSensVal,toSensValmin,toSensValMax,0,10),0,1);
     
        /*---------------------------------------------------------------------------------
        Pour adapter la sensibilité à vos touches, enlevez la remarque ci-dessous
        pour afficher la valeur lue et ajustez les variables toSensValmin et toSensValmax
        Jouez aussi avec la temps de lecture, actuellement 30
        Attention!! Si une des touches est mal câblées le programme tourne très lentement
        alors, au début, ne câblez pas trop de touches à la fois.
        -----------------------------------------------------------------------------------
        */
        //Serial.println(toSensVal);
     
        toSensVal = toucheSensor2.capacitiveSensor(30);
        toucheSens2val = constrain(map(toSensVal,toSensValmin,toSensValMax,0,10),0,1);
     
        toSensVal = toucheSensor3.capacitiveSensor(30);
        toucheSens3val = constrain(map(toSensVal,toSensValmin,toSensValMax,0,10),0,1);
     
        if      (toucheSens1val > 0){return(1);}
        else if (toucheSens2val > 0){return(2);}
        else if (toucheSens3val > 0){return(3);}
        else
        {
            return(0);
        }
    }
    
    
    Amusez-vous bien!

    Cordialement
    jpbbricole
     
    Dernière édition: 20 Juin 2016
  2. gégé62

    gégé62 Compagnon

    Messages:
    1 407
    Inscrit:
    26 Février 2013
    Localité:
    Harnes (Pas de Calais)
    Département:
    62440
    Arduino avec touches sensor
    quelle inventivité encore !!!
    j'ai pas tout lu (le lien) et pas tout compris (:smt017) mais ça semble encore un bel exemple de chose assez ardue rendue simple pour l'utilisateur....
    Merci ! :smt038
     
  3. M4vrick

    M4vrick Ouvrier

    Messages:
    313
    Inscrit:
    12 Août 2015
    Arduino avec touches sensor
    Je suis impressionné qu'ils arrivent à faire du capacitif en software.
    J'en ai déjà mis en place mais avec un CI spécifiquement conçu pour faire des entrées capacitives.

    Il va falloir que j'essaye ca :D
     
  4. vibram

    vibram Compagnon

    Messages:
    792
    Inscrit:
    15 Mars 2014
    Arduino avec touches sensor
    tu as des photos d'exemple dont tu parles (avec des vis etc)

    merci pour ton apport encore une fois :)
     
  5. jpbbricole

    jpbbricole Ouvrier

    Messages:
    455
    Inscrit:
    26 Mai 2016
    Localité:
    Corsier-sur-Vevey (Vaud)
    Département:
    1804
    Arduino avec touches sensor
    En fait ça marche avec n'importe quelle partie métallique où tu peux fixer un fil.
    2 exemples, les rondelles et le papier d'alu:
    upload_2016-6-20_17-5-15.png upload_2016-6-20_17-5-47.png
    Les rondelles je l'ai appliqué sur le pupitre de mon tour.
    upload_2016-6-20_17-12-39.png
    Pour le papier d'alu, il faut un support, ici en bois, du scotch double face, tu colles le câble électrique brins ouvert, tu mets le papier d'alu dessus et ensuite un ou 2 coups de cutter pour créer les touches. Après tu peux mettre des ettiquettes et un plastique.
     
    Dernière édition: 20 Juin 2016
  6. tranquille

    tranquille Compagnon

    Messages:
    4 169
    Inscrit:
    12 Avril 2008
    Localité:
    Aveyron - France
  7. coredump

    coredump Compagnon

    Messages:
    3 409
    Inscrit:
    8 Janvier 2007
    Localité:
    Côte d'azur
    Arduino avec touches sensor
    Ce n'est pas un capteur capacitif, mais une simple antenne avec couplage capacitif. Ça ramasse tout les parasites sans discrimination.
    En plus il faut soigner l'isolation pour ne pas claquer les entrées avec des décharges d'électricité statique (peu probable car c'est quand même robuste).
     
  8. M4vrick

    M4vrick Ouvrier

    Messages:
    313
    Inscrit:
    12 Août 2015
    Arduino avec touches sensor
    Oui, c'est ce que j'avais en tete. Mais le schema tel quel avec juste une résistance de 1M ca m'a un peu surpris.
     
  9. coredump

    coredump Compagnon

    Messages:
    3 409
    Inscrit:
    8 Janvier 2007
    Localité:
    Côte d'azur
    Arduino avec touches sensor
    La resistance est un pull-up pour avoir un niveau logique défini, sans ca on se retrouve avec du 50Hz.
     
  10. jpbbricole

    jpbbricole Ouvrier

    Messages:
    455
    Inscrit:
    26 Mai 2016
    Localité:
    Corsier-sur-Vevey (Vaud)
    Département:
    1804
    Arduino avec touches sensor
    Je ne pense pas tout à fait, ça sert à pouvoir distribuer le signal de l'émetteur, D8 sur le schéma, sur les différentes entrées de touches et ainsi mesurer la déformation de ce signal de référence, preuve de la présence "d'un doigt". Voir la doc ici.

    Bonne soirée
    jpbbricole
     
Chargement...

Partager cette page