Orologio Nixie: 4 – sensore touch

luca 27/02/2013 13

Il mio orologio Nixie non avrà alcun pulsante visibile: per questo ho scelto di utilizzare un sensore touch, che indichi ad Arduino quando viene toccato il contenitore dell’orologio.

Ho acquistato da SureElectronics il modulo Capacitive Proximity and Touch Button Control Module, basato sull’integrato IQS127D di Azoteq. Di tale integrato sono disponibili il datasheet e un importante application note dove viene illustrato sia come avviene il rilevamento del “tocco”, sia come disegnare i pad perché tale rilevamento avvenga in maniera ottimale.

L’integrato gestisce un sensore touch e offre due uscite digitali: prossimità (in rosso) e tocco (in giallo). SureElectronics ha integrato nel modulo anche due led che indicano lo stato di tali uscite:

Le uscite hanno normalmente livello logico alto:

  • se un dito si avvicina al sensore, l’uscita POUT viene portata a massa;
  • se un dito tocca il sensore, sia POUT che TOUT sono portate a massa.

Interfacciare il sensore ad Arduino è quindi molto semplice: basta utilizzare due pin digitali di quest’ultimo per leggere (INPUT) lo stato delle due uscite sopra descritte.

Attraverso il pin ANT è possibile collegare al sensore una antenna di rilevamento esterna: questa può essere costituita da un filo conduttore, da una zona (= pad) su un circuito stampato…

L’integrato IQS127 ha un algoritmo di tuning dell’antenna (ATI) che ne rileva le caratteristiche per adattarsi automaticamente.

La funzionalità di Automatic Antenna Tuning viene eseguita all’accensione dell’integrato: se state facendo prove con diversi tipi di antenna ricordatevi quindi di togliere corrente ad ogni cambiamento

Ho fatto alcune prove con diversi materiali (plexiglass, vetro…) posti davanti all’antenna (un semplice filo) e il sensore è sempre stato in grado di rilevare il tocco; ecco un esempio del suo funzionamento:

13 Comments »

  1. Tellus 03/03/2013 at 20:40 - Reply

    Scusa luca…. ho letto numerosi tuoi articoli e vorrei chiederti una cosa abbastanza complessa. Dove posso contattarti?
    p.s non facebook.

    • luca 03/03/2013 at 21:51 - Reply

      ciao, ti ho mandato una mail

  2. Chris 15/08/2013 at 13:43 - Reply

    Love the nixie clock so far. Please post updates and finish so we can admire your work!
    Thanks

  3. safak 28/10/2013 at 14:15 - Reply

    Could you write the name of touch/proximity module in SureElectronic or the link the web-page?
    Thank you…

  4. shafak 15/11/2013 at 23:02 - Reply

    hi. I want to use the IC of ISQ127 which is used in the module. How can programme this IC without module? and How can you programme this module? If you know, could you give me briefly information.

    • luca 16/11/2013 at 10:49 - Reply

      Hi shafak, could you please explain what you need? The IC can’t be “programmed”, it’s a sensor that gives you a “feedback” (= electric signal) about the proximity of a finger… all the logic is done by an external (in my case Arduino) microcontroller.

  5. shafak 22/11/2013 at 02:14 - Reply

    Firstly, thank you for your interest and sorry for my jump to answer. I mean that IQS127 need one time programme if my understood is right. Also there are Azoteq USBpro.exe on datasheet of IQS127. Also there are some progrogramming stage as an example. May be, it can be different think but I can not understand. As my understood, we need to decide active low or active high for using IQS127. So, what can I do?

  6. shafak 22/11/2013 at 05:22 - Reply

    Firstly, thanks for your interest and sorry for jump to answer. I think I solved my problem but I have a trouble by programming arduino? Which code should I use? Could you help me? How can I programme to arduino? Thanks…

    • luca 27/11/2013 at 14:25 - Reply

      shafak,

      on the Arduino side you need only to use the digitalRead() function to read the outputs of the sensor.

  7. ibrahim 24/11/2013 at 00:04 - Reply

    it s great…firstly thanks for your sharing. I want to learn how did you write ardunio code for that. Shortly, I need the code and your help :D

    • luca 27/11/2013 at 14:24 - Reply

      Hi Ibrahim

      in my example I didn’t write any line of code for arduino ;) the sensor has digital outputs so read those outputs with Arduino is very simple (digitalRead).

  8. shafak 27/11/2013 at 20:39 - Reply

    thanks for your dear sharings…

Leave A Response »