Alcoholimetro con Arduino

No hay comentarios

En días pasados tuvimos aquí en la institución la tradicional Casa Abierta que año con año realizamos para mostrar a las preparatorias de la región nuestra oferta educativa. Así pues debíamos mostrar alguna aplicación que llamará la atención de los jóvenes así pues nos dimos a la tarea de elaborar un pequeño alcoholimetro utilizando un sensor una tarjeta Arduino Uno. Para su realización requerimos:

  • Una tarjeta Arduino Uno.
  • Una Protoboard.
  • 10 Resistencias de 220?
  • 10 Led de Colores (En mi caso use 4 Verdes, 3 azules y 3 Rojos para medir los niveles de alcohol).
  • 1 Sensor de alcohol MQ-3
  • 13 Cables Dupont Macho-Macho

Alcoholimetro

 

Las conexiones debemos realizarlas como la imagen anterior. A este esquema solo debemos agregar el sensor de alcohol MQ-3 el cual ira conectado a la Entrada Analógica A0 de la la Arduino al pin A0 del sensor y obviamente realizar las conexiones al 5V y GND del sensor a la Arduino para alimentar al sensor.

 int nivel_alcohol; // Variable que guarda el nivel mapeado de alcohol
  // Valores máximo y mínimo de la lectura del sensor
  int minimo = 300 ;
  int maximo = 750;
 
  void setup()
  {
    Serial.begin(9600); // Comienzo de la comunicación serie
   
    // Declaramos los pines digitales para los LEDS como salidas
    for (int cuenta = 0; cuenta < numero_LEDS; cuenta++)
    {
      // LED[0] = 2, LED[1] = 3, ... , LED[9]=11.
      pinMode(LED[cuenta], OUTPUT);
    }
  }
 
  void loop()
  {
    // Leemos el valor del sensor de alcohol
    lectura_sensor = analogRead(sensor_alcohol);
    // Ajustamos el máximo y mínimo en la lectura del sensor
    lectura_sensor = constrain (lectura_sensor, minimo, maximo);
    // Mostramos el valor del sensor a través del monitor serie
    Serial.println(lectura_sensor);
    delay(500);  
   
    // Mapeamos el valor del sensor a niveles del 0 al 10
    nivel_alcohol = map(lectura_sensor, minimo, maximo, 0, numero_LEDS);
   
    // Se encienden los LEDS de la barra de LEDS dependiendo del nivel obtenido
    for (cuenta = 0; cuenta < numero_LEDS; cuenta++)
    {
      if (cuenta < nivel_alcohol)
      {
        digitalWrite(LED[cuenta], HIGH);
      }
 
      else
      {
        digitalWrite(LED[cuenta], LOW);
      }  
    }
  }

Y Codificamos el codigo anterior y lo cargamos a nuestro Arduino Uno. Y Listo. Ya solo falta hacer las pruebas y ajustar los valores para un correcto funcionamiento.

 

Saludos.