En este tutorial veremos como hacer un alcoholímetro, simple económico y fácil de hacer. Veremos el código fuente, el armado del circuito todo paso a paso. El circuito impreso estará disponible totalmente gratis.
¿Que es un alcoholímetro?
Es un dispositivo para medir la cantidad de alcohol presente en el aire espirado por una persona, también puede medir la cantidad de alcohol contenido en un líquido o gas.
Módulo MQ3
Este sensor de alcohol es adecuado para detectar la concentración de alcohol en su aliento, al igual que un alcoholímetro comercial. Tiene una alta sensibilidad y tiempo de respuesta rápido. El sensor presenta una salida analógica resistiva basado en la concentración de alcohol.
Algunos comentarios del sensor MQ3
Este sensor posee 4 pines dos de los cuales son de alimentación, uno es una salida analógica (pin AD) y la otra una salida digital (pin DO), está ultima se puede regular su sensibilidad, por medio de un potenciómetro que posee la placa, notaran que al encender este módulo y conectarle un led este se enciende, ya que esta salida es invertida o negada (NOT). Este quiere decir que al no haber presencia de alcohol en el sensor el led estará encendido y si supera el umbral de seteado con el potenciometro este se apagará. Este es muy útil si no queremos utilizar ningún microcontrolador, ni arduino, con este módulo solamente podemos tener un alcoholímetro muy simple sólo alimentando al módulo y nada más.
En cuanto encendamos este módulo, comenzará a calentarse, tenemos que esperar unos minutos(alrededor de 5) para que el modulo se caliente y tengamos un censado correcto.
Tal vez pueda interesarte proyectos en arduino, pic, robótica, telecomunicaciones, suscribete en http://www.youtube.com/user/carlosvolt?sub_confirmation=1 mucho videos con código fuentes completos y diagramas
Componentes electrónicos
Un arduino nano
El Arduino Nano es una placa pequeña, completa y compatible con la placa de pruebas basada en el ATmega328 (Arduino Nano 3.x). Tiene más o menos la misma funcionalidad del Arduino Duemilanove, pero en un paquete diferente. Solo carece de un conector de alimentación de CC y funciona con un cable USB Mini-B en lugar de uno estándar.
Microcontrolador | ATmega328 |
Arquitectura | AVR |
Tensión de funcionamiento | 5 V |
Memoria flash | 32 KB de los cuales 2 KB utiliza el gestor de arranque |
SRAM | 2 KB |
Velocidad de reloj | 16 MHz |
Pines analógicos IN | 8 |
EEPROM | 1 KB |
Corriente CC por pines de E / S | 40 mA (pines de E / S) |
Voltaje de entrada | 7-12 V |
Pines de E / S digitales | 22 (6 de los cuales son PWM) |
Salida PWM | 6 |
El consumo de energía | 19 mA |
Tamaño de PCB | 18 x 45 mm |
Peso | 7 g |
Diagrama de pines
Un buzzer
Cuatro pines hembra
Seis diodos led de 5 mm de distintos colores
Sensor MQ3
Descripción
Modulo Sensor de concentración Alcohol MQ3
Descripción General
Este sensor detecta la concentración de alcohol en aire. Simplemente se conecta a una entrada analógica de un microcontrolador como Arduino y podremos medir la concentración de alcohol.
Posee una salida analógica que indica la concentración de alcohol en el ambiente (Cuanto mas alto el nivel de salida, mayor la concentración de gas)
Y también posee una salida digital que baja a 0 cuando la concentración de alcohol supera el nivel prefijado con el preset.
Articulo ideal para usar con placas Arduino o cualquier microcontrolador (PIC, AVR, FREESCALE, etc)
Especificaciones
Voltaje de Operación: 5Vdc
Integrado amplificador LM393 con ganancia variable mediante potenciómetro.
2 pines de salida (salida analógica y salida de nivel TTL).
Salida de nivel TTL válida de bajo nivel, se puede conectar directamente al microcontrolador.
Salida analógica de 0 ~ 5 V , el voltaje más alto equivale a una concentración más alta.
Condiciones de trabajo: Temperatura ambiente:-10°C a 65°C, Humedad:=95% RH
PCB
Descargar archivo gerber –> Gerber_ALCOHOLIMETRO
Seis resistores de 1 Kohm
Un zócalo para arduino nano
Código fuente
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
int sensor=0; void setup(){ Serial.begin(9600);//Configuración de la velocidad del puerto serial de arduino //Se configuraran los pines 2,3,4,5,6 y 7 como salidas //Del pin 2 al 6 van conectados a diodos led con su respectiva resistencia pinMode(2, OUTPUT); pinMode(3, OUTPUT); pinMode(4, OUTPUT); pinMode(5, OUTPUT); pinMode(6, OUTPUT); pinMode(7, OUTPUT);//Va conectado al Buzzer sensor=analogRead(A0);//Se lee el valor de la entrada analógica A0 while(sensor>100){ Serial.print("Esperando a que se estabilice el sensor (valor menor a 100): ");//Se imprime su valor por el terminal serial sensor=analogRead(A0);//Se lee el valor de la entrada analógica A0 Serial.println(sensor);//Se imprime su valor por el terminal serial digitalWrite(2, HIGH); digitalWrite(3, HIGH); digitalWrite(4, HIGH); digitalWrite(5, HIGH); digitalWrite(6, HIGH); delay(500); digitalWrite(2, LOW); digitalWrite(3, LOW); digitalWrite(4, LOW); digitalWrite(5, LOW); digitalWrite(6, LOW); delay(500); } } void loop(){ sensor=analogRead(A0);//Se lee el valor de la entrada analógica A0 Serial.print("Valor del sensor: "); Serial.println(sensor);//Se imprime su valor por el terminal serial //Se compara el valor de la variable sensor si se cumple apagará todos los led if(sensor<99){ digitalWrite(2, LOW); digitalWrite(3, LOW); digitalWrite(4, LOW); digitalWrite(5, LOW); digitalWrite(6, LOW); digitalWrite(7, LOW); } //Se compara el valor de la variable sensor si se cumple encenderá el led en el pin 2 if(sensor>100){ digitalWrite(2, HIGH); digitalWrite(3, LOW); digitalWrite(4, LOW); digitalWrite(5, LOW); digitalWrite(6, LOW); digitalWrite(7, LOW); } //Se compara el valor de la variable sensor si se cumple encenderá el led en el pin 2 y 3 if(sensor>200){ digitalWrite(2, HIGH); digitalWrite(3, HIGH); digitalWrite(4, LOW); digitalWrite(5, LOW); digitalWrite(6, LOW); digitalWrite(7, LOW); } //Se compara el valor de la variable sensor si se cumple encenderá el led en el pin 2, 3 y 4 if(sensor>300){ digitalWrite(2, HIGH); digitalWrite(3, HIGH); digitalWrite(4, HIGH); digitalWrite(5, LOW); digitalWrite(6, LOW); digitalWrite(7, LOW); } //Se compara el valor de la variable sensor si se cumple encenderá el led en el pin 2, 3, 4, y 5 if(sensor>350){ digitalWrite(2, HIGH); digitalWrite(3, HIGH); digitalWrite(4, HIGH); digitalWrite(5, HIGH); digitalWrite(6, LOW); digitalWrite(7, LOW); } //Se compara el valor de la variable sensor si se cumple encenderá el led en el pin 2, 3 ,4 ,5, 6 y el buzzer if(sensor>400){ digitalWrite(2, HIGH); digitalWrite(3, HIGH); digitalWrite(4, HIGH); digitalWrite(5, HIGH); digitalWrite(6, HIGH); digitalWrite(7, HIGH);//Se actica el buzzer } delay(100);//pequeño retardo antes de comenzar de vuelta } |
SUSCRIBETE A NUESTROS BOLETINES, RECIBE EN TU CORREO LAS NOTICIAS MÁS DESTACADAS, SÓLO INGRESANDO TU CORREO ELECTRÓNICO
[wysija_form id=”1″]
PROYECTO RECOMENDADO