Paso 5: Herramienta de diagnóstico Sensor de tapa
Porque hay muchas variables que determinan la señal de qué tan fuerte es, decidimos que sería una buena idea tener algún tipo de herramienta que nos daría la capacidad para determinar lo adecuado sería un sensor de un vistazo. Lo que se nos ocurrió es un dispositivo de Arduino que puede ser conectado a cualquier superficie con un gráfico de barras de LED que se ilumina según qué tan fuerte es la señal recibida desde la superficie. Desde la lectura de una superficie podría ser diez veces que de la otra superficie, también se incluyeron dos pomos de sensibilidad. Uno para la lectura mínima y otro para el máximo. A través de pruebas encontramos que usted realmente sólo necesita el botón de lectura máxima, así que siéntete libre excluir la perilla inferior hasta el umbral. No utilizamos cualquier resistencias para los LEDs y después de usar el dispositivo por un par de días, sigue trabajando bien, pero no sabe si te dejan trabajar. Si usted decide utilizar resistencias, es probablemente una buena idea para enganchar hasta 5V en vez de 3, 3V.
Se necesita:
1 tablero de x Arduino. Se utilizó un Arduino Uno.
10 x LEDs. Emplearon uno rojo, siete blancos y dos azules, pero lo que usted quiere/tiene.
2 potenciómetros de x. Puede excluir una si quieres, como es dudosa la utilidad de una perilla para controlar el umbral inferior del dispositivo.
resistencias de 7 x 4,7 MOhm. Eso es lo que utilizamos, pero usted puede utilizar una cantidad diferente. Las resistencias más tiene, mayor será la gama de la resistencia puede explorar. Los valores más bajos tienen, cuanto mayor sea la resolución de la gama de la resistencia.
Cables eléctricos
Breadboards (opcionales)
Paso 1: Conecte todo como se muestra en el diagrama de fritzing.
Paso 2: Abrir un nuevo sketch de Arduino y pegue el código siguiente. El código utiliza una función de suavizado para una salida más estable. Utilizamos este código para obtener el gráfico de barras LED encendido correctamente, sólo ligeras modificaciones.
#include
const int ledCount = 10; el número de LEDs en el gráfico de barras
const numReadings largo = 10;
int sensorPin1 = 0;
int sensorPin2 = A1;
lecturas largas [numReadings];
Índice de tiempo = 0;
largo total = 0;
tiempo promedio = 0;
int ledPins [] = {4, 5, 6, 7,8,9,10,11,12,13}; una matriz de números a los que se unen los LEDs
CapacitiveSensor cs_3_2 = CapacitiveSensor(3,2);
void setup() {}
lazo sobre el arreglo de la perno y ponerlos todos a la salida:
cs_3_2.set_CS_AutocaL_Millis(0xFFFFFFFF);
Serial.Begin(9600);
para (int thisReading = 0; thisReading < numReadings; thisReading ++) lecturas [thisReading] = 0;
para (int thisLed = 0; thisLed < ledCount; thisLed ++) {pinMode (ledPins [thisLed], salida);} pinMode(sensorPin1,INPUT); pinMode(sensorPin2,INPUT);
}
void loop() {}
int inferior;
int cima;
Fondo = analogRead(sensorPin1);
Top = analogRead(sensorPin2);
int bottommap;
int topmap;
bottommap = map(bottom,0,1023,0,3000);
topmap = map(top,0,1023,100,30000);
tiempo Inicio = millis();
largo total1 = cs_3_2.capacitiveSensor(30);
total = total - lecturas [índice];
lecturas [índice] = total1;
total = total + lecturas [índice];
index = index + 1;
Si (Índice > = numReadings)
índice = 0;
promedio = total / numReadings;
Serial.Print(Millis() - start);
Serial.Print("\t");
Serial.Print(bottom); Serial.Print("\t");
Serial.Print(top);
Serial.Print("\t");
Serial.println(Average);
Delay(10);
int sensorReading = promedio;
int ledLevel = mapa (sensorReading, bottommap, topmap, 0, ledCount);
para (int thisLed = 0; thisLed < ledCount; thisLed ++) {}
Si (thisLed < ledLevel) {}
digitalWrite (ledPins [thisLed], LOW); }
Else {digitalWrite (ledPins [thisLed], HIGH);}}
}
Paso 3: ¡ Listo! Compilar y subir el sketch de Arduino y ya debe ser capaz de obtener una salida más gráfica de la intensidad de la señal. Agregar o quitar resistencias para aumentar o disminuir la intensidad de la señal. Resistencias más significa más fuerza. Montamos una serie de resistencias en un tablero separado que podríamos cambiar la resistencia más rápida. Girar el potenciómetro conectado a A1 para aumentar o disminuir la sensibilidad.