Cómo calibrar tus entradas con el Arduino

  1. Ordenadores
  2. Arduino
  3. Cómo calibrar tus entradas con el Arduino

Libro Relacionado

Por John Nussey

Piense en calibrar su circuito como el ajuste del termostato en su casa. Calibrando los sensores de tu proyecto Arduino, puedes 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és dentro, fuera, en una habitación bien iluminada o trabajando a la luz de las velas. A pesar de la enorme variación, todos estos rangos de luz pueden ser detectados e interpretados por tu Arduino siempre y cuando conozca el rango en el que estás trabajando. El siguiente esquema muestra cómo calibrar un sensor de luz a su entorno.

Complete el circuito para calibrar el sensor de luz automáticamente.

Necesitas:

  • Un Arduino Uno
  • Una protoboard
  • Un LED
  • Un sensor de luz
  • Una resistencia de 10k ohmios
  • Una resistencia de 220 ohmios
  • Alambres de salto

Construye el circuito y ve a File→Examples→03.Analog→Calibration y encuentra el boceto. El código para este ejemplo es el siguiente:

/* Calibración Demuestra una técnica para calibrar la entrada del sensor. Las lecturas del sensor durante los primeros cinco segundos de la ejecución del boceto definen el mínimo y el máximo de los valores esperados asignados al pin del sensor. Los valores iniciales mínimo y máximo del sensor pueden parecer al revés. Inicialmente, usted establece el mínimo alto y escucha cualquier cosa más baja, guardándola como el nuevo mínimo. Del mismo modo, usted establece el máximo bajo y escucha cualquier cosa más alta que el nuevo máximo. El circuito: * LED conectado a la entrada analógica 0 * LED conectado desde el pin digital 9 a tierra creado el 29 Oct 2008 Por David A Mellis modificado el 30 Aug 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 ledPin = 9; // pin que el LED está conectado a// variables: int sensorValue = 0; // el valor del sensor en sensorMin = 1023; // el valor mínimo del sensor en sensorMax = 0; // la configuración máxima del valor del sensor en sensorMax = 0; // la configuración máxima del valor del sensor() { // enciende el LED para señalar el comienzo del período de calibración: pinMode(13, OUTPUT); digitalWrite(13, HIGH); // calibrar durante los primeros cinco segundos mientras (milis() < 5000) { sensorValue = analogRead(sensorPin); // registrar el valor máximo del sensor si (sensorValue > sensorMax) { sensorMax = sensorValue; } // registrar el valor mínimo del sensor si (sensorValue < sensorMin) { sensorMin = sensorValue; } } // señalan el final del período de calibración digitalWrite(13, LOW);}void loop() { // leen el sensor: sensorValue = analogRead(sensorPin); // aplican la calibración al sensor de lectura sensorValue = map(sensorValue, sensorMin, sensorMax, 0, 255); // en el caso de que el valor del sensor esté fuera del rango que se ve durante la calibración sensorValue = constrain(sensorValue, 0, 255); // descolocan el LED utilizando el valor calibrado: analogWrite

Sube el sketch, y deja que tu Arduino se asiente con tus niveles normales de luz ambiental durante cinco segundos. Entonces trata de mover tu mano sobre él. Usted debe encontrarlo mucho más sensible de lo que es cuando sólo 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 MÁS:  Cómo configurar un router WiFi para utilizarlo con su portátil