Paso 4: Código de Arduino: principales conceptos
Hay un par de conceptos clave en el código de Arduino.1. Active un LED cuando se toca el sensor.
Para ello tenemos que medir el retardo (total1) y se compara con un valor de umbral por ejemplo
=============
void setup() void loop()
{
.. .unos cosas de configuración...
}
{
total1 = cs_9_6.capacitiveSensor(30); Medir el valor de sentido de tapa del Sensor
Si (total1 > umbral) {}
digitalWrite (LedPin, alto);
}
Else {}
digitalWrite(LedPin,LOW);
}
}
=======
Es bastante sencillo. Pero, ¿cuál debe ser el valor de umbral?
El valor total1 de retraso que colacionar varía día a día porque es muy sensible a la capacidad (que es la idea), pero significa que no podemos simplemente ponemos en cualquier valor de umbral fijo porque será diferente bajo diferentes condiciones.
Para asegurarnos de que tenemos un valor umbral adecuado, tenemos que medir el valor de umbral durante una secuencia de calibración al inicio del código.
Esto lo hacemos como sigue. Inicializar i = 0 en setup() y calibrar para las primeras 50 iteraciones de loop(). El LED parpadea durante la calibración y es necesario que toque el sensor determinar el valor umbral adecuado.
=======
void loop() Toque el Sensor mientras el LED es para calibrar el valor de toque
{
total1 = cs_9_6.capacitiveSensor(30); / / Medir el valor de sentido de tapa del Sensor
si (< 50) { / / base de calibrar Sensor de inicio
digitalWrite (LedPin, alto);
calVal1 = 0.1*float(total1) + 0.9 * calVal1;
Serial.println(calVal1); / / calibartion valor de la impresión durante el ciclo de calibración
delay(50) de ;
digitalWrite (LedPin, LOW);
Delay(50);
i ++;
}
}
=======
El código:
calVal1 = 0.1*float(total1) + 0.9 * calVal1;
implementa un filtro digital. Obras de lo ponderación tiene salida 90% a favor de salidas vieja; nuevos datos sólo representa un 10% peso. Esto nos da un valor de calibración confiable, calVal1 filtrando cualquier ruido en las lecturas.
En el código nos imprime la calVal1 al Serial Monitor. Echa un vistazo a ver cómo aumenta suavemente hacia el valor total1 .
El Siguiente paso se muestra el código completo de Arduino para este experimento