| Per començar | Elements d'entrada | Programació CircuitPython | Recursos CITCEA | |
| Elements no electrònics | Elements de sortida | Programació Arduino | ||
| Projectes | Elements de control | Dades pràctiques | Inici | 
La forma d'emprar les entrades tàctils és diferent segons la placa que fem servir.
Les entrades tàctils de la placa Circuit Playground Express es poden llegir fent servir la biblioteca Adafruit_CircuitPlayground.h. La funció readCap llegeix el valor corresponent a la lectura capacitiva de la pota, només caldrà comparar aquesta lectura amb un llindar per saber si està activada o no. Atès que les lectures depenen del que tenim connectat a les entrades, convé ajustar aquest llindar per a cada projecte concret.
En el següent programa llegim les entrades tàctils A1, A2 i A7 i les fem servir per activar les tres components de color dels NeoPixels de la placa.
Important: Si hem de fer servir NeoPixels, cal que la càrrega de la biblioteca CircuitPlayground.h es faci després de carregar la biblioteca Adafruit_NeoPixel.h. Igualment, la crida a la funció CircuitPlayground.begin s'ha de fer sempre abans que qualsevol altra instrucció d'inicialització, per exemple la cadena.begin.
#include <Adafruit_NeoPixel.h> #include <Adafruit_CircuitPlayground.h> #define LLINDAR 500 #define NumLED 10 #define LEDpin 8 // NeoPixels de la placa
Adafruit_NeoPixel cadena = Adafruit_NeoPixel(NumLED, LEDpin, NEO_GRB + NEO_KHZ800);
// Funció per llegir les entrades tàctils
boolean tactil(uint8_t pad) {
  Serial.println(CircuitPlayground.readCap(pad));
  if (CircuitPlayground.readCap(pad) > LLINDAR) {
    return true;
  } else {
    return false;
  }
}
void setup() {
  CircuitPlayground.begin(); // Inicialitza la placa Circuit Playground
  Serial.begin(9600);
  cadena.begin();  // Inicialitza els NeoPixels
  cadena.show();
}
void loop() {
  int R = 0;
  int G = 0;
  int B = 0;  // Per defecte, els tres colors apagats
  if (tactil(A7)){
    R = 255;  // En tocar A7 s'encén el vermell
  }
  if (tactil(A1)){
    G = 255;  // En tocar en A1 s'encén el verd
  }
  if (tactil(A2)){
    B = 255;  // En tocar en A2 s'encén el blau
  }
  for (int j = 0; j < NumLED; j++){
    cadena.setPixelColor(j, R, G, B);  // Ho enviem als LED
  }
  cadena.show();  // Mostra el color 
}
Les entrades tàctils de la placa Flora es poden llegir fent servir la biblioteca CapPin.h que podem descarregar aquí. La funció readPin llegeix el valor corresponent a la lectura capacitiva de la pota, només caldrà comparar aquesta lectura amb un llindar per saber si està activada o no. Atès que les lectures depenen del que tenim connectat a les entrades, convé ajustar aquest llindar per a cada projecte concret. El valor que es posa com a paràmetre indica el nombre de mostres que cal prendre i, per tant, el podem variar si el programa no fa el que esperem.
En el següent programa llegim les entrades tàctils 0, 2 i 3 i les fem servir per activar les tres components de color del NeoPixel de la placa.
#include <Adafruit_NeoPixel.h> #include <CapPin.h> #define LLINDAR 500 #define ITER 1000 #define NumLED 1 #define LEDpin 8 // NeoPixel de la placa
Adafruit_NeoPixel cadena = Adafruit_NeoPixel(NumLED, LEDpin, NEO_GRB + NEO_KHZ800); CapPin Pin0 = CapPin(0); // llegeix pota 0 CapPin Pin2 = CapPin(2); // llegeix pota 2 CapPin Pin3 = CapPin(3); // llegeix pota 3
void setup() {
  Serial.begin(9600);
  cadena.begin();  // Inicialitza els NeoPixels
  cadena.show();
}
void loop() {
  int R = 0;
  int G = 0;
  int B = 0;  // Per defecte, els tres colors apagats
  if (Pin0.readPin(ITER) > LLINDAR){
    R = 255;  // En tocar 0 s'encén el vermell
  }
  if (Pin2.readPin(ITER) > LLINDAR){
    G = 255;  // En tocar en 2 s'encén el verd
  }
  if (Pin3.readPin(ITER) > LLINDAR){
    B = 255;  // En tocar en 3 s'encén el blau
  }
  cadena.setPixelColor(0, R, G, B);  // Ho enviem als LED
  cadena.show();  // Mostra el color 
}
En aquest web, les fotografies marcades amb [AF] són del web d'Adafruit, les marcades amb [SF] del web d'Sparkfun i les marcades amb [AU] del web d'Arduino.

Aquesta obra d'Oriol Boix està llicenciada sota una llicència no importada Reconeixement-NoComercial-SenseObraDerivada 3.0.