image1.jpg

Cómo calibrar sus entradas con Arduino

Piense en calibrar su circuito como configurar el termostato en su hogar. Al calibrar los sensores en su proyecto Arduino, puede adaptar el sensor a su ubicación. En este ejemplo, aprenderá a calibrar un sensor de luz.

La luz, por supuesto, es muy variable, ya sea que esté adentro, afuera, en una habitación bien iluminada o trabajando a la luz de las velas. A pesar de la gran variación, todos estos rangos de luz pueden ser detectados e interpretados por su Arduino siempre que sepa el rango en el que está trabajando. El siguiente esquema muestra cómo calibrar un sensor de luz a su entorno.

Completa el circuito para calibrar tu sensor de luz automáticamente.

Necesitas:

  • Un Arduino Uno

  • Una placa de pruebas

  • Un LED

  • Un sensor de luz

  • Una resistencia de 10k ohmios

  • Una resistencia de 220 ohmios

  • Saltar cables

    image0.jpg

Construya el circuito y vaya a Archivo → Ejemplos → 03.Analógico → Calibración y busque el croquis. El código de este ejemplo es el siguiente:

image1.jpg

/ *
 Calibración
 Demuestra una técnica para calibrar la entrada del sensor. los
 lecturas del sensor durante los primeros cinco segundos del boceto
 ejecución define el mínimo y máximo de valores esperados
 unido al pin del sensor.
 Los valores iniciales mínimo y máximo del sensor pueden parecer al revés.
 Inicialmente, estableces el mínimo alto y escuchas cualquier cosa
 inferior, guardándolo como el nuevo mínimo. Del mismo modo, establece el
 máximo bajo y escuche algo más alto como el nuevo máximo.
 El circuito:
 * Sensor analógico (el potenciómetro servirá) conectado a la entrada analógica 0
 * LED conectado desde el pin digital 9 a tierra
 creado 29 Oct 2008
 Por David A Mellis
 modificado el 30 de agosto de 2011
 Por Tom Igoe
 http://arduino.cc/en/Tutorial/Calibration
 Este código de ejemplo es de dominio público.
 * /
// Estas constantes no cambiarán:
const int sensorPin = A0; // pin que el sensor está conectado a
 const int ledPin = 9; // pin al que está conectado el LED
// variables:
int sensorValue = 0; // el valor del sensor
 int sensorMin = 1023; // valor mínimo del sensor
 int sensorMax = 0; // valor máximo del sensor
configuración vacía () {
 // enciende el LED para señalar el inicio del período de calibración:
 pinMode (13, SALIDA);
 digitalWrite (13, ALTO);
 // calibrar durante los primeros cinco segundos
 while ( milis () <5000) {
 sensorValue = analogRead (sensorPin);
 // registra el valor máximo del sensor
 if (sensorValue> sensorMax) {
  sensorMax = sensorValue;
 }
 // registra el valor mínimo del sensor
 if (sensorValue <sensorMin) {
  sensorMin = sensorValue;
 }
 }
 // señalar el final del período de calibración
 digitalWrite (13, BAJO);
}
bucle vacío () {
 // lee el sensor:
 sensorValue = analogRead (sensorPin);
 // aplicar la calibración a la lectura del sensor
 sensorValue = mapa (sensorValue, sensorMin, sensorMax, 0, 255);
 // en caso de que el valor del sensor esté fuera del rango visto durante la calibración
 sensorValue = restringir (sensorValue, 0, 255);
 // atenúa el LED usando el valor calibrado:
 analogWrite (ledPin, sensorValue);
}

Sube el boceto y deja que tu Arduino se asiente con tus niveles normales de luz ambiental durante cinco segundos. Luego intente mover su mano sobre él. Debería encontrarlo mucho más receptivo de lo que es cuando solo está leyendo el valor analógico normalmente, y el LED debe tener un rango desde completamente encendido cuando está abierto hasta completamente apagado cuando está cubierto.

LEER  10 recursos increíbles de Arduino

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *