Páginas

17 de mayo de 2012

Proyecto Arduino: Alcoholímetro

Cómputo Integrado
Proyecto Arduino

Como última entrega de proyecto para la materia de Cómputo Integrado usando un Arduino, decidí hacer un alcoholímetro sencillo, esto para hacer uso del sensor de alcohol. Pudo haber sido cualquier otro sensor de gases, pero para fines prácticos y de demostración frente al grupo, el más adecuado fue el de alcohol, ya que existen otros que detectan, por ejemplo, el gas butano o metano.


Descripción


La idea es crear un alcoholímetro, que mediante el sensor, se reciba como dato el grado o nivel de alcohol de la persona que sopla frente al sensor. Según el nivel o grado de alcohol detectado por el sensor, se encenderán de 1 a 10 leds de diferentes colores, empezando con el verde, que indica un bajo nivel de alcohol, amarillo un nivel medio y rojo un nivel alto.

Además como muchos alcoholímetros portátiles o de mano ofrecen la opción de guardar el estado actual de alcohol, también agregue dos botones, uno es para guardar el estado marcado actualmente por el sensor, y el segundo es para ver los estados guardados, que son tres, aunque pudieron haber sido más. Al picar el botón para ver los estados guardados por primera vez, se muestra el estado recién guardado, al picar por segunda vez, se ve el penúltimo estado, y al picar por tercera vez se muestra el antepenúltimo, y para salir de vuelve a picar por cuarta vez, y volver a recibir información del sensor.

Herramientas usadas

  • Arduino IDE en Ubuntu 11.10
  • Cable para conexión USB
  • Arduino Uno

Material utilizado

  • 4 leds de 5mm, color verde difuso
  • 3 leds de 5mm, color amarillo difuso
  • 3 leds de 5mm, color rojo difuso
  • 1 led de 5mm, color amarillo
  • 11 resistencias de 330 ohms
  • 3 resistencias de 10K ohms
  • 2 micro switch, de push, con 4 terminales
  • 1 sensor de alcohol MQ-3
  • Arduino Uno
  • Cables de interconexión macho-macho de 6 pulgadas

Código


Este es el código completo de mi proyecto. Las partes que están en comentarios fueron utilizadas como prueba para la consola del monitor serial desde el Arduino IDE.

Nota: Si se usa "Serial" para imprimir contenido en el monitor, la salida digital A0 y A1, quedan automáticamente programadas para salida serial, como yo necesitaba una salida digital más, comente las líneas de salida serial, para tener dos salidas digitales extras.


Circuito creado en Fritzing


Dibuje el circuito desde Fritzing y lo hice en dos partes para no amontonar componentes y que estén bien visibles, por si en algún momento alguien sigue estos pasos para armar el suyo propio, no se pierda viendo solo imágenes.

Esta es la parte donde se conectan todas las salidas del Arduino al protoboard donde se encuentran incrustados los leds.


Y aquí esta por separado lo que conecta al sensor y los botones push.


Imágenes







Vídeo


Y por último les dejo un vídeo que tomé del alcoholímetro funcionando, para dejar evidencia del trabajo realizado. Cabe mencionar que en el vídeo no muestro el uso de los botones, aunque ya estaban funcionales, ya que no tenía quién me ayudará a grabar en ese momento.


Si esta publicación te ayudo en algo para crear tu proyecto, o haces uso del código que yo he creado, no te olvides de incluir el enlace a este blog en tu bibliografía.

Recursos consultados
Sensor Report
MQ-3 and Arduino

102 comentarios:

  1. perdona k es eso k tienes conectado al sensor para poder conectarle los cables
    esk claro en la placa no se puede poner y nose como ponerle los cables al sensor :S

    ResponderEliminar
    Respuestas
    1. Es una pequeña placa que conecta al sensor para facilitar la conexión de los cables, pero puedes trabajar sin ella. Tengo otra publicación en donde hable de la conexión al sensor, espero te sirva =)
      http://ramon-gzz.blogspot.mx/2012/04/sensor-de-alcohol-mq-3.html

      Eliminar
    2. si pero para poder ponerle los cables como lo aces?
      esk y0o los cables k tengo son esos k vienen con el arduino y nose como ponerselos y el sensor en la placa no se puede poner.
      Siento molestarte tanto

      Eliminar
  2. para monitorearlo con matlab en arduino uno como seria?

    ResponderEliminar
    Respuestas
    1. Siento no haber contestado antes. Matlab cuenta con funciones como serial() con las que puedes crear una conexión para la lectura del sensor, solo asegúrate de que en el programa que subas al Arduino uses los Serial.println() para que estés escribiendo algo que se pueda enviar por el puerto serial.

      Eliminar
    2. quisiera saber si este modelo de alcoholimetro, funciona para un arduino nano, gracias por tu información

      Eliminar
    3. Hola Johan, efectivamente el Arduino Nano, cumple con lo necesario para replicar este proyecto.

      Eliminar
  3. hola que tal, una pregunta que unidades de medicion usas para medir el nivel de concentracion de alcohol? o como lo puedo saber? gracias

    ResponderEliminar
    Respuestas
    1. En mi programa solo use los valores de lectura para determinar cuántos leds encender. Desconozco si existe alguna unidad estándar para la medición de alcohol.

      Eliminar
  4. Muy bueno el proyecto! Mis felicitaciones! Lo suyo sería hacerlo portátil...

    ResponderEliminar
  5. Hola. tienes un proyecto para el control de un invernadero, con arduino, código y materiales?

    ResponderEliminar
    Respuestas
    1. Lo siento pero no tengo nada parecido. Suerte en tu proyecto.

      Eliminar
  6. Disculpa las resistencias de 330 ohms son de 1/4 de watt o de 1/2 watt o de 1 watt??
    Por que tengo de esas y no se cual usar.

    ResponderEliminar
  7. hola que tal ramon , super interesante tu proyecto pero quiero saber si puedo usar esta misma programacion para un pic16f877a

    ResponderEliminar
    Respuestas
    1. Tienes que buscar en que lenguaje puedes programar ese PIC, y luego intentar "traducir" el código que yo muestro para poderlo probar en el PIC.

      Eliminar
  8. hola ramon estamosa montando uno como el alcoholimetro tuyo, pero la duda es como lee el alcoholimetro el sensor , otra pregunta , como se le puede adaptar una pantalla que indique lo que el paso a paso de la operacion y luego muestre el nivel del alcohol detectado

    ResponderEliminar
    Respuestas
    1. Lo lee usando las entradas analógicas del Arduino. El mismo Arduino tiene algunas librerías para el uso de pantallas LCD que se pueden usar a la par del Arduino.

      Eliminar
  9. Respuestas
    1. Los usé para que sirvieran como un botón de "guardar", ya que use la memoria EEPROM del Arduino para almacenar los últimos 3 estados de alcohol capturados.

      Eliminar
  10. Hola oye la mejor manera de calibrarlo?

    ResponderEliminar
    Respuestas
    1. Puedes modificar los valores de salida que genera el sensor de alcohol usando un potenciometro. O bien, esto te puede servir: http://nootropicdesign.com/projectlab/2010/09/17/arduino-breathalyzer/

      Eliminar
  11. HOla, primero que todo felicitaciones muy bueno el proyecto.
    mi consulta es la siguiente donde compraste el sensor y en que lenguaje programaste. quisiera realizarlo y ver si puede reporducir algun tipo de sonido aparte de los colores . agradesco tu colaboracion con urgencia.
    de antemanos gracias

    ResponderEliminar
    Respuestas
    1. me yamo felipe felype08.aravena@gmail.com ese es mi correo

      Eliminar
    2. Hola Felipe, el sensor de alcohol lo compre en una tienda llamada 5Hz Electrónica, ahí mismo puedes encontrar un buzzer para la emisión de sonidos, no se desde donde me escribes para poderte dar referencia del lugar en el que se encuentra. El lenguaje de programación usado se llama Arduino, que es muy similar a C y C++, aunque también puedes usar el lenguaje llamado Processing.

      Eliminar
  12. ramon soy de talca,chile.
    mira http://www.olimex.cl/product_info.php?products_id=503&product__name=Sensor_de_Alcohol_(Alcohol_Sensor) encontre ese sensor y necesito saber si me sirve. agradeceria con muca anticipacion tu respuesta gracias

    ResponderEliminar
    Respuestas
    1. Es el mismo modelo que el que yo utilice "MQ-3", no deberías de tener algún problema al usarlo.

      Eliminar
  13. ramón soy un estudiante de educación media y no poseo conocimientos en electrónica pero me ha interesado mucho tu proyecto del alcoholimetro. Se me hecho muy difícil poder maquetar en la protoboard los circuitos que tienes en tu pagina. me seria de mucha ayuda si pudieses enviarme en solo una imagen Fritzing las dos partes de tu circuito.
    sebastian velozo sebastianvelozo19@gmail.com

    ResponderEliminar
    Respuestas
    1. Lo siento pero no cuento con la imagen que me solicitas, sólo las que se muestran aquí en la publicación.

      Eliminar
  14. buenos dias ramon, tengo una pregunta acerca del codigo, en la linea

    int dataLevel = map(analogRead(analogSensor), 700, 900, 0, ledCou

    los valores de 700, 900, 0 de donde salen? para que sirven?? te agradezco tu ayuda

    ResponderEliminar
    Respuestas
    1. Hola Juan, esta línea lo que hace es mapear la lectura que se obtiene del sensor. Al ser una lectura analógica se pueden recibir valores de entre 0 a 1023, pero como por experimentación note que el sensor daba lecturas en promedio de entre 700 a 900 lo puse de esa manera, entonces lo que yo necesitaba era transformar la lectura a valores que fueran entre 0 y 10 para determinar cuantos leds encender, y es precisamente lo que la función map() me facilitó, ya que podríamos decir que ese mapeo hace una escala de valores para saber que valor de entre 0 y 10 asignar cuando la lectura esta entre 700 y 900, así por ejemplo si la lectura era menor o igual a 700 se tomaba como 0 y no se encendía nada, en cambio con valores cercanos a los 900 o más se encendían los 10 leds. Espero me haya explicado bien, suerte!

      Eliminar
  15. Disculpa, pero implementé el circuito talcual lo pones, pero utilizando un MÓDULO MQ3, es decir tres pines, vcc, gnd, y A0, y no se encienden los leds, cual crees que sea el problema?

    ResponderEliminar
    Respuestas
    1. Puede ser que la lectura del sensor no se este dando como se espera, te recomiendo que imprimas la lectura del pin análogo para saber si esta leyendo algo o no. También puede ser que el circuito no este bien implementado.

      Eliminar
  16. Hola.
    Me podrías facilitar tu código que usaste??
    quiero real izarlo como tu lo has echo, ya que quiero tenerlo de muestra en mi casa.
    edgar.edgar@outlook.es o en FB : https://www.facebook.com/edgar.hernandez.5264382

    me gusto mucho tu proyecto y quisiera que me facilitaras tu información que tengas gracias
    SALUDOS, espero respuesta

    ResponderEliminar
    Respuestas
    1. La información que necesitas esta aquí arriba en la publicación.

      Eliminar
  17. hola amigo ramón me gusto mucho tu proyecto pero me podrías aclarar una duda ¿que unidades de medida utilizaste para tu proyecto?
    gracias por tu ayuda

    ResponderEliminar
    Respuestas
    1. En realidad no use ninguna unidad de medida, solo coloque una escala de 0 a 10 y según el valor de la lectura se determina el nivel, en el código es la parte que corresponde a la línea 63 con la función map().

      Eliminar
  18. hola Ramon , para este proyecto tambien puedo utilizar el sensor MQ2 (el mas completo) o el MQ7 en reemplazo del MQ-3.

    ResponderEliminar
    Respuestas
    1. Si los puedes utilizar, ya que el circuito no debería de cambiar, pero esos sensores no sirven para detectar alcohol, son para detección de otros tipos de gases, en este caso el gas butano (MQ2) y monóxido de carbono (MQ7).

      Eliminar
  19. hola una pregunta cuantos tipos de sensores utilizaste?

    ResponderEliminar
  20. Respuestas
    1. Una vez que tengas un LCD, tienes que adaptarlo al circuito, y luego programar la parte que muestre la lectura en la pantalla.

      Eliminar
  21. PORQUE USAS RESISTENCIAS DE 330 OHMS ?

    ResponderEliminar
    Respuestas
    1. Para los LEDs casi siempre he utilizado esas resistencias, pero en realidad existen formulas para determinar que resistencia usar según tu circuito, pero para mi caso funciono perfecto con 330 ohms.

      Eliminar
  22. cual es el factor de conversión del MQ3??

    ResponderEliminar
  23. Hola Ramon, estoy construyendo un proyecto como el tuyo pero con mas funciones y mis preguntas son las siguientes: los datos que llegan al arduino desde el sensor los puedo enviar no a uno pantalla sino a un sistema bluethoot que los envie y el receptor al recibirlos tenga la capacidad de cortar el paso de corriente de un circuito dependiendo el resultado de las lecturas, o bien seria posible enviar directamente estos resultados en tiempo real por ondas radiales a una estacion de control, seria esto posible?. Mi otra pregunta es con el arduino puedo darle ordenes al sensor mq-3 de alcohol segun la programacion que le de?, que aplicaciones debo bajar para configurar el arduino.

    ResponderEliminar
    Respuestas
    1. Hola William, si, la lectura que obtienes del sensor la puedes mandar a otro lado ya sea via bluetooth, ethernet, o cualquier otro medio de transferencia de datos, siempre y cuando tengas el dispositivo adecuado o los complementos adecuados, además de asegurar que cualquiera de las opciones que vayas a usar tenga una librería compatible, por ejemplo para bluetooth Arduino ya cuenta con una librería para eso. En el sensor MQ-3 solo puedes hacer lectura y tu Arduino recibe esta información, tu puedes crear funciones que reaccionen a cierta lectura del sensor, así como tu ejemplo, para cuando el sensor tenga una lectura elevada, mande la señal a un mecanismo para cortar la corriente eléctrica. Dependiendo el sistema operativo que uses, en la página oficial de Arduino puedes encontrar el IDE para desarrollo, que es un editor sencillo que te permite compilar y subir el código a la tarjeta del Arduino (http://arduino.cc/en/Main/Software).

      Eliminar
  24. hola, buena tarde
    una pregunta ¿cual es la función que hacen los botones, ya que yo estoy haciendo algo parecido pero no encuentro una razón para poner los push button dentro del mismo?
    gracias buen día !!!

    ResponderEliminar
    Respuestas
    1. Hola Any, uno de los botones es para guardar la lectura actual del alcoholímetro, y el otro es para ver las 3 últimas lecturas guardadas; en realidad solo los agregue para practicar con el uso de la librería EEPROM, si tu proyecto no necesita guardar datos esos botones se pueden quitar, junto con las secciones de código correspondiente.

      Eliminar
  25. buen dia .
    Me pued funcionar el sensor MQ2 igual que el MQ3 , si si como lo podria conectar?

    ResponderEliminar
    Respuestas
    1. Si, el sensor MQ2 es prácticamente igual al MQ3, a diferencia que detecta gas metano y butano, la conexión en este caso sería la misma, pero si no cuentas con la tarjeta que se conecta al sensor tendrás que soldar directamente a el los 4 cables necesarios. Si no sabes a que tarjeta me refiero, aquí en esta otra entrada muestro esa parte (http://ramon-gzz.blogspot.mx/2012/04/sensor-de-alcohol-mq-3.html). En el siguiente blog puedes encontrar imágenes de como debe quedar conectado si es que no cuentas con esa pequeña tarjeta circular (http://sensorworkshop.blogspot.mx/2008/04/sensor-report-mq3-gas-sensor.html).

      Eliminar
  26. Hola Ramón, he leído tu post y me resulta muy interesante.
    La duda que tengo es que tanto este sensor como los MQ-7 en los que estoy interesado llevan un precalentamiento. Se supone que debes alimentarlo a 5v durante 60 segundos y luego bajarlo a 1.4v durante 90 segundos.
    En tu programación no veo nada de eso y no se si es necesario. Conoces algo sobre este tema? Un saludo.

    ResponderEliminar
    Respuestas
    1. Hola Fernando, el sensor si requiere algo de tiempo para calentarse antes de poder detectar correctamente algún gas, pero desconozco totalmente si como tu dices hay que aplicar diferentes voltajes en ciertos lapsos de tiempo.

      Eliminar
  27. hola buen dia.. soy principiante en programacion en arduino.. yo cuento con un arduino leonardo.. me preguntaba si existe alguna modificacion en el programa..

    ResponderEliminar
    Respuestas
    1. No he tenido oportunidad de usar un Arduino Leonardo, pero parece que es como el primo/hermano del Arduino Uno. Desde el IDE intenta compilar el código, si no marca error el propio compilador, significa que la sintaxis en código para ambas tarjetas es la misma, y debería de funcionar de igual forma.

      Eliminar
  28. Disculpa tengo el MQ303A se puede usar para el circuito?, y tambien como modificaria el codigo para cambiar el analgoSensor porque no me funciona bien , se prenden todos los led´s que puedo hacer?

    ResponderEliminar
  29. hola ramon una duda si tengo el sensor mq303a funciona igual

    ResponderEliminar
    Respuestas
    1. Verifica la datasheet para ver si es necesario hacer algún cambio en el circuito.

      Eliminar
  30. hola ramon, tengo 3 dudas.
    1) para que sirve el led amarillo extra? que indica, en mi montaje veo que se prende al encender los otros 10 leds, es un indicador de saturacion o algo asi?

    2) en los diagramas de fritzing los pulsadores van a tierra con su resistencia, pero en el video y montaje real, veo que la resistencia va a tierra, pero el otro pin va a 5 v, como debe funcionar mejor?
    3) de los pulzadores, podrias explicar como funciona cada uno? el que va conectado al arduino 12 y 13 por favor? ya que no encuentro como guardar los valores.

    gracias, desde colombia.

    ResponderEliminar
    Respuestas
    1. 1) Es un led que enciende cuando se presiona el push button para guardar el estado actual de los leds. No debería de encenderse si el push button no es presionado.
      2) El que va después de la resistencia va a GND y el otro va a 5V, en el circuito de fritzing olvide reposicionar esos dos cables rojos.
      3) Los push buttons cada uno manda a llamar a una función diferente, en este caso para guardar o mostrar, donde mostrar entra en un loop para recorrer las últimas 3 entradas guardadas.
      Espero haya resuelto tus dudas, saludos!

      Eliminar
  31. Disculpa amigo, ¿En que lenguaje esta programado?

    ResponderEliminar
    Respuestas
    1. Esta programado en Processing desde el IDE de Arduino.

      Eliminar
  32. Hola Ramón enhorabuena por tu trabajo. Estoy intentando hacer el mismo trabajo, pero quitando los botones, lo que he hecho en el código es comentar las funciones guardar y mostrar y donde se llaman a estas funciones. ¿es correcto?

    ResponderEliminar
    Respuestas
    1. Claro, es correcto lo que me dices, puedes únicamente comentar esas líneas, pero si deseas tener un código más simple, recomiendo eliminar las líneas correspondientes a las funciones mostrar y guardar, así como las líneas donde se declaran las variables que estas funciones utilizan, y también dentro del setup toda la parte donde están estás condiciones antes de llamar a las funciones. Saludos!

      Eliminar
  33. hola! este sensor tiene un alcance muy corto en la distancia son 10 cm aproximadamente sabes sí se le pude poner un amplificador de señal ?

    ResponderEliminar
    Respuestas
    1. No existe amplificador. Existen algunos sensores con mayor sensibilidad/alcance, pero no he probado con algún otro. Saludos!

      Eliminar
  34. Hola amigo... Oye como le puedo hacer para que los grados de alcohol aparezcan en un LCD de 16x2?? Te agradecería tu ayuda.

    ResponderEliminar
    Respuestas
    1. Si ya tienes el LCD, primero prueba el mismo con algún ejemplo sencillo siguiendo algún tutorial. Una vez que tengas funcional el LCD y conozcas como mandarle datos a mostrar, solo es cuestión de integrarlo con lo del alcoholímetro y que los datos que recibe el alcoholímetro sean enviados al LCD para mostrar el valor en pantalla en vez de los leds.

      Eliminar
  35. Hola, una pregunta soy de México, donde puedo conseguir el sensor de alcohol?

    ResponderEliminar
    Respuestas
    1. Yo vivo en Monterrey, y lo compré en una tienda llamada 5Hz.

      Eliminar
  36. hola buenas mi pregunta es si tienes un esquematico sobre este proyeccto...
    me ayudaria bastante ya que tengo ke aserlo para el colegio felipe.rodriguez.d@hotmail.com
    gracias c:

    ResponderEliminar
    Respuestas
    1. Solo cuento con lo mostrado en esta publicación. Saludos!

      Eliminar
  37. HOLA HICE ESTE MISMO PROYECTO PERO CON UNA NUEVA VERSIÓN DEL SENSOR http://www.sigmaelectronica.net/mq-3-p-1956.html LAS CONEXIONES SON LAS MISMAS Y OTRA DUDA AL PRENDER TODO EL CIRCUITO QUEDA SOLAMENTE PRENDIDA UNA LUZ ROJA DEL SENSOR ESTO QUE INDICA QUE SI ESTA BIEN CONECTADO O NO? GRACIAS.

    ResponderEliminar
    Respuestas
    1. Ese modelo de sensor tiene un led para indicar cuando esta en funcionamiento. Saludos!

      Eliminar
  38. que tal hise saque el proyecto con tus diagramas, pero con un sensor mq2. funciona muy bien pero le quiero cambiar los leds por un lcd de 16x2. solo que no tengo idea de como integrarlo en lugar de los leds.....me podrias auxiliar?

    ResponderEliminar
    Respuestas
    1. Si ya tienes el LCD, primero prueba el mismo con algún ejemplo sencillo siguiendo algún tutorial. Una vez que tengas funcional el LCD y conozcas como mandarle datos a mostrar, solo es cuestión de integrarlo con lo del alcoholímetro y que los datos que recibe el alcoholímetro sean enviados al LCD para mostrar el valor en pantalla en vez de los leds.

      Eliminar
  39. Hola Ramón, estoy intentando realizar tu proyecto sin los botones, pero no me funciona. Podrías decirme como sería el programa sin eso? Muchas gracias.

    ResponderEliminar
    Respuestas
    1. Hola Paula, tendrás que eliminar varias líneas de código. Las líneas a eliminar son 1, 4, 5, 6, 9, 10, 11, 15, 16, 17, 23 a 60, 80 a 91. También podrás quitar los componentes que conectan a los botones.

      Eliminar
    2. Muchas gracias Ramón!!!! Me ha sido de mucha utilidad.

      Eliminar
  40. hola que tal ramon, sera que tu proyecto se pueda montar en el arduino mega?? saludos

    ResponderEliminar
    Respuestas
    1. Si, si es posible hacerlo igual para Arduino Mega.
      Por Hangouts conteste a tu otra pregunta.

      Eliminar
  41. hola ramon hice este proyecto omitiendo los pulsadores borre las lineas 1, 4, 5, 6, 9, 10, 11, 15, 16, 17, 23 a 60, 80 a 91 preo no c que se envia desde monitor serial me podria explicar por favor

    ResponderEliminar
    Respuestas
    1. No se si entendí tu pregunta como quisieras, pero supuse que preguntas por la impresión al monitor serial de la línea 70. Ahí se imprimen valores entre 0 y 10, dependiendo de la lectura del sensor. Cito mi propio comentario de más arriba...
      "Al ser una lectura analógica se pueden recibir valores de entre 0 a 1023, pero como por experimentación note que el sensor daba lecturas en promedio de entre 700 a 900 lo puse de esa manera, entonces lo que yo necesitaba era transformar la lectura a valores que fueran entre 0 y 10 para determinar cuantos leds encender, y es precisamente lo que la función map() me facilitó, ya que podríamos decir que ese mapeo hace una escala de valores para saber que valor de entre 0 y 10 asignar cuando la lectura esta entre 700 y 900, así por ejemplo si la lectura era menor o igual a 700 se tomaba como 0 y no se encendía nada, en cambio con valores cercanos a los 900 o más se encendían los 10 leds."

      Eliminar
    2. ah ya ya entiendo gracias ; osea que despues de que tenga el circuito armado este me va a dar automáticamente estos datos,lo que pasa es que estoy utilizando este proyecto para mi colegio en colombia lo tengo listo cargue la programación y este no enciende cuando le paso el alcohol no hace nada que podría ser ? y disculpa la insistencia.gracias

      Eliminar
    3. No encienden los leds? En el monitor serial no te imprime ningún dato? (las líneas que yo en el código tengo comentadas es para ver la impresión en el monitor, vuelve a comentarlas cuando ya lo pruebes con todo el circuito).

      Eliminar
    4. ramon muchas gracias por todas las explicaciones, le comento q el proyecto ya quedo funcionando bien muchas gracias por este aporte

      Eliminar
  42. Hola!
    hice el proyecto con una tarjeta MEGA 2560
    pero me aparece este error al momento de compilarlo
    avrdude: stk500v2_ReceiveMessage(): timeout
    avrdude: stk500v2_getsync(): timeout communicating with programme

    mi profesor dijo que no tenia problemas en que usara una mega a una UNO,
    no entiendo muy bien esto u.u

    ResponderEliminar
    Respuestas
    1. Se puede deber a varias cosas, pero primero verifica que en el IDE de Arduino en el menú Tools > Serial Port hay un puerto seleccionado (en mi caso es ttyACM0) y luego en Tools > Board verifica que tengas seleccionado el modelo de tu tarjeta MEGA 2560.
      Es lo primero que se me ocurre podría ocasionar el problema, espero sea eso...

      Eliminar
    2. Esos datos están correctamente, mi puerto es COM3 y el modelo de la tarjeta esta correctamente seleccionado, alguna otra cosa que pueda ser :/

      Eliminar
    3. Puede ser algún problema con la tarjeta, en varios foros veo que muchos tienen ese problema, y algunos dicen haberlo resuelto con actualizar la versión del IDE, algunos otros haciendo cambios en el firmware de la tarjeta (pero solo para aquellas que no son las más nuevas). Te aparece otro puerto disponible? (si hay otro intenta cambiarlo). Cuando intentas compilar para pasar el programa al Arduino, se encienden los leds incrustados en la tarjeta? (deberían de parpadear cuando se esta pasando el nuevo sketch).

      Eliminar
  43. HOLA QUE TAL... UNA PREGUNTA COMO ESTABLECISTE LA ESCALA O BIEN DICHO EL PORCENTAJE DE ALCOHOL... ESO FUE DIRECTAMENTE EN CODIGO O COMO ES ESO? ESPERO ME PUDIERAS EXPLICAR ESO... MAS Q NADA ESA ES MI DUDA COMO DETERMINASTE LA ESCALA Y DONDE MUCHAS GRACIAS

    ResponderEliminar
    Respuestas
    1. Esta en la línea 63 con la función map(), ahí es donde tomo la lectura del sensor, luego le digo que haga una escala para valores entre 700 y 900, y que me arroje valores entre 0 y 10. Algunos comentarios más arriba esta el motivo de tomar esos valores, y una explicación algo más detallada. Espero te haya servido mi respuesta.

      Eliminar
  44. Hola, se puede utilizar un solo led de cada color, en vez de usar varios?

    ResponderEliminar
    Respuestas
    1. Claro que si, pero tendrás que hacer algunos cambios al código y el circuito.

      Eliminar
  45. disculpa que funcion tiene aqui los micro switch, de push?

    ResponderEliminar
    Respuestas
    1. Uno es para guardar el estado actual del grado de alcohol, y el otro es para ver los últimos tres guardados.

      Eliminar
  46. AH MUCHAS GRACIAS Y EL LED AMARILLO QUE ESTA ANTES DE LOS PUSH QUE INDICA?

    ResponderEliminar
    Respuestas
    1. Hola Adali, ese led amarillo enciende cuando presionas el push button de la acción mostrar, sirve solo como un indicador. Saludos!

      Eliminar
  47. Hola Ramón, muy buen trabajo, tengo una pregunta, usastes IDE en Ubunto, funcionará de la misma manera en Windows o se necesitará cambiar algo? gracias, esperaré tu respuesta

    ResponderEliminar
  48. Hola Ramon, tengo una duda, lo que sucede es que en ves de un sensor MQ3 tengo un MQ4 crees que esto tenga un gran impacto en al arquitectura que esta montada en tu proyecto?
    Saludos!

    ResponderEliminar