Paso 7: Paso Final: la matemática y las conclusiones.
Este proyecto fue divertido y relativamente fácil de hacer. Sin embargo, es un elemento de novedad. Nunca sugiero a nadie que sería una buena idea para saturar el sensor. No es saludable llegar ese borracho. No quiero acabar como el individuo en el urinal =)
En el futuro, creo que podría hacer un alcoholímetro que tiene un 0.00-0.13 detección de nivel de alcohol en sangre. Tengo un alcoholímetro real aquí para hacer las comparaciones.
Si alguno de ustedes tiene alguna pregunta, estoy feliz de ayudar. Espero que te gustó este instructable y tal vez tenía una risa!
VISITA MI CANAL DE YOUTUBE AQUÍ:
http://www.youtube.com/User/patrickikis
VISITA MI TIENDA EN EBAY AQUÍ:
http://Stores.eBay.com/hobbytronixstore
LAS MATEMÁTICAS:
Realmente no hay demasiada matemáticas involucradas. El ADC interno del pic utiliza 5V y tierra como referencias. Ya hemos configurado nuestro programa para el los datos del ADC de 10 bits y los bits menos significativos de ignorar, estamos utilizando un registro de 8 bits. Un registro de 8 bits puede almacenar números binarios que están en relación con valores decimales. Por ejemplo:
1111 1111 = 255 decimal = FF HEX
0000 0000 = 0 decimal = HEX 00
Ya que estamos usando como referencia 5V, permite romper hacia abajo en relación con lo que cada bit es en tensión. Aquí está una manera fácil de entender.
Cada uno vale la pena:
5V(Ref) / 255 = 0.0197V, o *** 19.6mv* **
Así 0000 0001 = 19.6mv = 01 HEX (nota que si eres perezoso, puede encontrar un decimal al cálculo hexagonal buscando en google.
Puesto que la salida del sensor es "estable" en mi configuración cuando la salida es 700mV o menos. Así como tenemos que hacer una comparación en el software, que tenemos que averiguar cuál es el valor hexadecimal de 700mV.
Aquí es cómo la encontramos:
Ya que sabemos que un bit es igual a 19.6mv (0.0196), todo lo que tenemos que hacer es dividir a 700mv, pero este peso poco, y tienes tu respuesta! 700mV (0.7) dividido por el 19.6mv (0.0196)
700mV = aproximadamente de 36 pedacitos.
Tan 36 Decimal es igual a 24 hexagonal. (0010 0100)
En el programa, una vez que contamos el dispositivo para tomar una muestra, hace una secuencia de calibración:
1) CARGA EL REGISTRO W CON 24 H
2) COMPARAR CON EL VALOR DE ADC
¿3) es el registro W valor de ADC valor mayor (valor del ADC es menos 700mV)?
4) SI SÍ, CONTINUAR CON EL PROGRAMA
4) OTRO, OTRA VEZ DE LA MUESTRA Y REPETIR EL PROCESO HASTA MQ3 SALIDA ES ESTABLE
Desde el high-end de la gama de voltaje de la MQ3 en esta configuración es aproximadamente 3.5VDC y estable del voltaje 700mV o bajo, el PIC está programado para tomar diferentes valores en el medio y hacer comparaciones hasta que determina el nivel de embriaguez en. La subrutina siguiente mueve valores el registro W y compara el valor de ADC que se muestra después el usuario sopló en el sensor. En el primer paso, si el valor del registro ADC (GEN5) es menor que el valor de la vanguardia, entonces se eligió LED #1 (no estás borracho). Si el valor en el registro del ADC es mayor que el valor en WREG, luego pase a la siguiente comparación (para LED2). Para la segunda comparación, cargamos un nuevo número en vanguardia que equivale a una mayor comparación de voltaje. Si registro ADC es mayor contenido de vanguardia, vaya al siguiente paso (comparación LED3), si no, llamar a la rutina que se ilumina el LED #2.
DETERMINAR:
MOVLW 0X24; Pasar valor a vanguardia para referencia
CPFSGT GEN5; si el valor del ADC es mayor que vanguardia, saltar siguiente instrucción, si no, usted; encontró su nivel de alcohol!
Llame LED1; si no, luz LED #1 (sin alcohol nivel detectado).
MOVLW 0X3B; Pasar valor a vanguardia para referencia
CPFSGT GEN5, si valor de ADC es mayor que la vanguardia, saltar siguiente instrucción, si no, has encontrado tu nivel de alcohol!
Llame LED2; si no enciende el LED #2 (una o dos cervezas).
MOVLW 0X52; Pasar valor a vanguardia para referencia
CPFSGT GEN5; si el valor del ADC es mayor que vanguardia, saltar siguiente instrucción, si no, usted; encontró su nivel de alcohol!
LLAMAR LED3; si no, la luz LED # 3 (dos o tres en la última hora - más o menos. Es probable que; no debería conducir).
MOVLW 0X69; Pasar valor a vanguardia para referencia
CPFSGT GEN5; si el valor del ADC es mayor que vanguardia, saltar siguiente instrucción, si no, usted; encontró su nivel de alcohol!
LED4 LLAMADA; Pasar valor a vanguardia para referencia
CPFSGT GEN5; si el valor del ADC es mayor que vanguardia, saltar siguiente instrucción, si no, te has f; ound su nivel de alcohol!
Llame a LED5; si no, la luz LED # 5 (borracho. No conduzca o golpear a personas que conoces que no!!!).
MOVLW 0X95; Pasar valor a vanguardia para referencia
CPFSGT GEN5; si el valor del ADC es mayor que vanguardia, saltar siguiente instrucción, si no, has encontrado, tu nivel de alcohol!
LED5 LLAMADA
LLAMAR LED6
VOLVER