Comparación de valores analógicos - jorgerivera/ULCR-BINGE61 GitHub Wiki

                      UNIVERSIDAD LATINA DE COSTA RICA    
                   BACHILLERATO EN INGENIERÍA ELECTRÓNICA   
                             MICROCONTROLADORES  

Warner Durán Acuña

Comparación de valores analógicos, Introducción a Arduino

I. Descripción del sistema.

El sistema consiste en un circuito que sea capaz de comparar el valor de dos resistencias variables, el cual un LED va a indicar cuando el potenciómetro 1 tiene más valor de resistencia que el potenciómetro 2. El sistema funciona a base de un microcontrolador, por lo que se utilizará una programación en C++ para poder programar el microcontrolador para que desarrolle la tarea deseada. El programa a utilizar será el IDE de Arduino. El funcionamiento del sistema consiste en cuando la resistencia del potenciómetro 1 sea mayor que el potenciómetro 2 un LED se encenderá para indicar que el potenciómetro 1 tiene más valor de resistencia que el potenciómetro 2. Cuando la resistencia en el potenciómetro 2 es mayor que la del potenciómetro 1 entonces el LED se va a mantener apagado hasta que el valor de la resistencia en el potenciómetro 1 sea mayor que en el potenciómetro 2.

II. Componentes requeridos.

Los componentes requeridos para el sistema son los siguientes:

  1. 1 Tarjeta Arduino UNO o una tarjeta equivalente.
  2. 1 Cable USB para conectar la tarjeta a la computadora.
  3. Software IDE de Arduino.
  4. 1 Tabla de montaje (Protoboard).
  5. 1 Diodo LED.
  6. 1 Resistencia de 330 Ohms.
  7. 2 Potenciómetros (Preferiblemente del mismo valor).

III. Esquemático o diagrama del circuito.

IV. Descripción del programa.

int sensorPin1 = A0; // Selecciona el pin de entrada para el potenciómetro 1.
int sensorPin2 = A1; // Selecciona el pin de entrada para el potenciómetro 2.
int ledPin = 12; // Selecciona el pin de salida para el LED.
int Pot1 = 0; // Variable utilizada para almacenar el valor proveniente del potenciómetro 1.
int Pot2 = 0; // Variable utilizada para almacenar el valor proveniente del potenciómetro 2.

void setup() {
pinMode(ledPin, OUTPUT); // Aquí se declara el pin del LED como una SALIDA:
}

// A continuación la programación principal del sistema:

void loop() {
Pot1 = analogRead(sensorPin1);
// Se lee el valor analógico del potenciómetro 1 y se almacena en Pot1.
Pot2 = analogRead(sensorPin2);
// Se lee el valor analógico del potenciómetro 2 y se almacena en Pot2.
if (Pot1 > Pot2) {
// Aquí se hace la comparación entre los dos valores analógicos. Observar que se configuró de manera que si el potenciómetro 1 fuese mayor que el potenciómetro 2.
digitalWrite(ledPin, HIGH);
// Si el valor almacenado en Pot1 es mayor que el almacenado en Pot2 la comparación seria verdadera, por lo que esta instrucción por consiguiente encendería el LED.
}
else {
digitalWrite(ledPin, LOW);
// En el caso de que el valor en Pot1 sea menor que Pot2 la comparación seria falsa, por lo que esta instrucción por consiguiente apagaría el LED. Este código es necesario para apagar el LED en caso de que el potenciómetro 1 sea menor que el potenciómetro 2, ya que si no se coloca esta línea de código el LED se mantendría encendido.
}
}