Tabla de contenido:

Fiesta segura este verano con una taza LED Arduino reactiva al alcohol en sangre: 10 pasos
Fiesta segura este verano con una taza LED Arduino reactiva al alcohol en sangre: 10 pasos

Video: Fiesta segura este verano con una taza LED Arduino reactiva al alcohol en sangre: 10 pasos

Video: Fiesta segura este verano con una taza LED Arduino reactiva al alcohol en sangre: 10 pasos
Video: Hose nähen für Anfänger – DIY legere Hose mit Gummizug "Svea" 2024, Noviembre
Anonim
Fiesta segura este verano con una taza LED reactiva Arduino Blood-Alcohol
Fiesta segura este verano con una taza LED reactiva Arduino Blood-Alcohol

Nivel de dificultad del proyecto: intermedio

Habilidades necesarias:

- Leer y replicar un diagrama

- Soldadura si opta por no comprar piezas presoldadas

Introducción al proyecto

En los Estados Unidos y en todo el mundo, el alcohol ha planteado graves amenazas para la salud cuando se consume de forma irresponsable. Las muertes por conducir bajo los efectos del alcohol y el daño hepático, así como los efectos a largo plazo, como el posible daño cerebral y renal, pueden resultar del consumo irresponsable de alcohol. Solo en los Estados Unidos, se perdieron 250 mil millones de dólares debido al abuso de alcohol (NIAAA, 2010), así como a más de 88,000 personas, lo que convierte al alcohol en la tercera causa de muerte evitable en el país. La pregunta para este proyecto es como creadores, ¿cómo podemos abordar este problema y asegurarnos de que las celebraciones divertidas con alcohol, como las fiestas, sean seguras y divertidas?

Mi respuesta a esta pregunta fue encontrar una manera de estimar y luego visualizar el BAC predicho del usuario para permitirle comprender mejor en qué estado se encontraba. Para este proyecto, utilicé el microcontrolador Arduino con un sensor de nivel de agua, un anillo LED y una pantalla LCD para rastrear cuántas bebidas ha consumido una persona y luego encontrar una manera de estimar el contenido de alcohol en sangre (BAC) de el usuario en función del sexo y el peso. El BAC estimado, dependiendo del rango en el que se encuentre, determina la animación del anillo LED a continuación. Los rangos se encuentran entre cuatro áreas distintas: seguro, deteriorado, intoxicado y mortal. Mi esperanza es que al crear este proyecto, no solo habrá creado un proyecto Arduino utilizable, sino que también habrá obtenido una mejor comprensión de cómo metabolizamos el alcohol y posiblemente incluso alguna programación básica si elige revisar el código comentado.

¿Cómo sabe la taza cuántos tragos he tomado?

Si el valor analógico del sensor de nivel de agua supera los 300, un valor booleano que representa la taza se registrará como ALTO (lleno). Si el valor analógico del sensor es inferior a 300, el valor booleano que representa la taza se registrará como BAJO (vacío). Para registrar una bebida que se agrega a la taza, este valor booleano debe cambiar de vacío a lleno.

¿Cómo determinó BAC?

Para que este proyecto sea lo más preciso posible, utilicé datos de Saint Benedict & Saint John's University sobre cuánto aumentaba el BAC de un individuo por bebida consumida. Este programa no solo considera el peso sino también el sexo del usuario en el cálculo del BAC del usuario. Esto se debe a que el BAC se basa en la rapidez con la que un cuerpo es capaz de metabolizar el alcohol, que es diferente entre hombres y mujeres y personas de diferentes pesos. Los gráficos se pueden ver aquí.

¿Por qué los rangos de BAC son diferentes para diferentes personas?

Los rangos de BAC se basan directamente en los datos obtenidos de la Universidad SBSJ, que considera cuánto alcohol debe tener un usuario en su sistema para que esté en uno de los cuatro rangos:

- Seguro: el único rango seguro para operar un vehículo (representado por una animación de arco iris)

- Deficiente: pueden surgir cargos criminales si opera un vehículo en este rango (representado por una animación naranja)

- Intoxicado: se producirán cargos penales si opera un vehículo en este rango (representado por luces rojas)

- Mortal: si aún no se ha desmayado, corre un peligro médico inmediato en este rango (representado por luces rojas y blancas parpadeantes)

Pero puedo tomar bien el alcohol, entonces, ¿esta taza es inexacta?

Lo bien que pueda actuar después de consumir alcohol no importará mucho si sobrepasa el límite legal mientras conduce. Los datos utilizados en este proyecto consideran cuáles son los rangos legales y médicos de BAC de un usuario, al mismo tiempo que consideran el peso y el sexo del usuario.

Suministros

Los suministros de electrónica general para este proyecto incluyen:

- Dos pulsadores

- Cables de puente

- potenciómetro de 10k

- 2 resistencias de 10k

- 1 resistencia 220

Piezas / módulos especiales:

- Un Arduino (utilicé un Uno para este proyecto, pero existen muchas alternativas más baratas)

- Un sensor de nivel de agua (NOTA: Estos sensores a menudo son inexactos y se corroen rápidamente, lo que fue una gran frustración al desarrollar este proyecto. Sin embargo, pude encontrar una solución para que mis dificultades con este proyecto no se tradujeran en sus dificultades con este proyecto.)

- Un anillo de LED (12 LED)

- Una pantalla LCD

Instrumentos:

- Soldador (solo es necesario si compra un anillo LED sin cabezales)

- impresora 3d (opcional)

Paso 1: Descargue Arduino IDE y copie el código requerido

No se requiere programación de computadora para este proyecto, todo lo que tiene que hacer es copiar el código de aquí y pegarlo en el IDE de Arduino. Para descargar el IDE de Arduino:

Descarga y configuración de Arduino IDE:

- Visite el sitio web de Arduino y elija la descarga para su sistema

- Una vez que se complete la descarga, obtenga el número de puerto COM para el Arduino. Conecte el Arduino y navegue hasta su Administrador de dispositivos. Debajo de los puertos, busque su Arduino y tome nota del número de puerto. Debería verse algo como esto: COMx (donde x es un número 1-9)

- Usando el número de puerto COM, configure el IDE para su placa y puerto abriendo el IDE de Arduino y seleccionando "Herramientas" en la barra superior. Seleccione "Tablero" y elija su modelo. A continuación, elija "Puerto" y seleccione el puerto que vio para su Arduino en el Administrador de dispositivos.

Obtención del código del proyecto

- Copie el código de este paso y péguelo en la sección blanca del IDE de Arduino. Asegúrese de eliminar primero todo en el boceto, como las rutinas loop () y void (), ya que están implementadas en el código que está copiando y pegando.

Paso 2: descargue las bibliotecas necesarias desde Arduino IDE

Las bibliotecas utilizadas en este proyecto incluyen "Wire", "LiquidCrystal" y "Adafruit Neopixel". El boceto necesita estas bibliotecas para comunicarse con los componentes utilizados en este proyecto. Para descargar estas bibliotecas:

- Selecciona "Sketch" en la barra superior.

- Seleccione "Incluir biblioteca" en el menú desplegable.

- Selecciona "Administrar bibliotecas".

- Busque las tres bibliotecas (Wire, Liquid Crystal y Adafruit Neopixel) utilizadas en este proyecto y descargue cada una.

Tenga en cuenta que si no se descargan estas bibliotecas, se producirá un error mientras se compila el boceto. Después de este paso, conecte el cable de su Arduino a su computadora portátil y presione el botón de flecha en la esquina superior izquierda del IDE. Esto compilará y cargará el boceto en Arduino. Ahora que hemos terminado con todos los pasos relacionados con la programación, ¡pasemos al cableado!

Paso 3: (Opcional) Suelde los cabezales en las piezas

Si optó por comprar piezas para este proyecto que aún no tenían clavijas de cabezal soldados, deberá hacerlo usted mismo. No se preocupe demasiado por esta pieza, la soldadura para este proyecto es muy sencilla.

- Cree un ambiente ventilado para soldar, preferiblemente con un ventilador que contenga un filtro. Si no tiene un ventilador de este tipo, puede hacer lo que yo hago y abrir las ventanas y encender el ventilador o ir al garaje mientras está abierto.

- Caliente su soldador y asegúrese de tener también una esponja húmeda para limpiar el exceso de soldadura.

- Configure los encabezados y la parte en la que desea unir los encabezados con una mano amiga u otra herramienta que le permita organizar las partes mientras le permite sostener el soldador.

- Toque la soldadura con el soldador mientras está en la conexión entre el pin del cabezal y la parte a la que está soldando los pines. Retire la plancha cuando se haya formado suficiente soldadura para asegurar el contacto eléctrico entre las clavijas del cabezal y la pieza. Limpie cualquier exceso de soldadura en la esponja y repita este proceso para todos los pines.

- Después de que todas las clavijas estén soldadas, coloque el soldador en el soporte, gire la perilla a "apagado" y desenchufe la plancha. Espere hasta que la plancha se haya enfriado por completo para guardarla.

Paso 4: siga la imagen y conecte Arduino a los componentes

Siga la imagen y conecte Arduino a los componentes
Siga la imagen y conecte Arduino a los componentes

En este paso, necesitará usar cables de puente para conectar las partes necesarias para el proyecto al Arduino. He proporcionado un archivo Fritzing para hacer esto, que se puede ver en este paso. Consulte a continuación una lista de preguntas comunes que me hago si me encuentro con un problema con el cableado:

- ¿Están mis rieles de tierra y de alimentación conectados correctamente entre sí y con los pines 5v y GND del Arduino?

- ¿Jugué con mi potenciómetro si la pantalla LCD no se muestra? (Intente girar el potenciómetro para cambiar la resistencia si los caracteres blancos no aparecen correctamente)

- ¿Están conectados GND y VCC a cada parte correctamente al pin correcto? ¿Se está utilizando la configuración de 5 voltios? (Todos los sensores y componentes de este proyecto utilizarán 5 voltios, no 3,3 voltios.

- ¿Se colocó accidentalmente un cable a una conexión de donde se suponía que debía estar?

NOTA: Cuando trabaje con dispositivos electrónicos, asegúrese siempre de que el circuito no esté encendido mientras se cambia. De lo contrario, las piezas pueden dañarse y, al trabajar con voltajes mayores, podrían producirse daños corporales

Paso 5: ensamblar el proyecto "Coaster"

Ensamblar proyecto
Ensamblar proyecto

Puede notar que los encabezados del anillo LED sobresalen y no le permiten colocar la taza plana contra una superficie. Para solucionar este problema, colocaremos el anillo LED en una pieza impresa en 3D que permitirá que el anillo se coloque plano sobre una mesa. El archivo 3d se puede encontrar en este paso. Si no tiene una impresora 3D, no se preocupe, esta impresión cuesta 1,40 en mi biblioteca local. Si su biblioteca local no tiene una impresora 3D, otras opciones incluyen Staples y vendedores en línea. Cabe señalar también que la determinada pieza que he adjuntado no es la única compatible, es solo la forma de hacer un modelo para mí. Entonces, si eres bueno con la carpintería u otras artesanías, ¡serían más que aceptables!

Si elige imprimir la pieza para este proyecto:

- Descargue el archivo STL para importarlo a una cortadora como Cura

- Mide el diámetro del fondo de una taza de tu elección.

- Ajuste la escala del modelo (en milímetros si usa Cura) a su medida

Paso 6: coloque el posavasos y el sensor en la taza de su elección

Conecte el posavasos y el sensor a la taza de su elección
Conecte el posavasos y el sensor a la taza de su elección

Luego, tome su posavasos y use adhesivo para pegarlo al fondo de la taza que midió. Ahora, los cables de puente podrán acceder al sensor de nivel de agua y al anillo LED, y también quedarán planos sobre la mesa. Ahora tienes que conectar el sensor. Es muy cuidadoso ser considerado con la ubicación del sensor, ya que estos sensores, aunque se comercializan como analógicos, en realidad solo emiten dos señales: agua o nada de agua. Esto me causó muchos problemas, pero pude encontrar la manera de resolverlo para que otros no experimentaran las mismas frustraciones con este proyecto. La clave es colocar el sensor cerca de la parte superior de donde estará el líquido cuando la taza esté llena. Esto asegurará que el sensor pueda registrar un estado "vacío" y, por lo tanto, pueda contar la siguiente bebida vertida.

Paso 7: embellecer el proyecto y proteger los cables

Embellezca el proyecto y proteja los cables
Embellezca el proyecto y proteja los cables

En este punto, probablemente te quedes con un grupo de cables y partes que se parecen a la foto adjunta. Lo que haga para que el proyecto se vea mejor depende completamente de usted, siempre que tenga en cuenta estos criterios:

- Debes poder conectar un cargador para alimentar el Arduino

- Debe cortar agujeros o espacios de diseño para que el usuario acceda a la pantalla LCD, los botones, el sensor de nivel de agua y el anillo LED.

- Debe proteger los componentes electrónicos para que no se mojen, ya que es una posibilidad ya que el proyecto se centra en las bebidas.

Algunas opciones para adjuntar el proyecto son:

- Una caja de zapatos o cartón

- Un recinto impermeable para proyectos de electrónica como el que se encuentra aquí

- Un diseño impreso en 3D (esta es la opción que quería seguir, sin embargo, era demasiado caro imprimir un diseño como este en mi biblioteca)

Paso 8: ¡Beba responsablemente

¡Bebe responsablemente!
¡Bebe responsablemente!

Después de colocar su taza en el posavasos y el sensor de agua, ¡está listo para comenzar! Sabrá que todo funciona correctamente cuando la pantalla LCD le indique su sexo y peso. Un botón corresponde al peso, mientras que el otro corresponde al sexo. Puede hacer clic en cada uno para ver cuál es antes de etiquetarlo. Después de seleccionar su peso correcto (los valores están en pasos de 20) y el sexo, haga clic en ambos botones simultáneamente. Esto iniciará el resto del programa y verá que el anillo LED parpadea con un patrón de arco iris. La taza ya está lista para que sirva una bebida. A medida que consume y sirve más bebidas, el programa utilizará la tabla BAC que se discutió en la introducción para determinar un BAC. Tenga en cuenta que este programa asume una bebida estándar por cada taza, vea la imagen (Universidad del Sur de Alabama), o visite aquí para ver cómo se traduce su bebida favorita. También tenga en cuenta que el objetivo de este proyecto no es fomentar ninguna actividad ilegal, sino promover el consumo seguro de alcohol para aquellos que tienen la edad suficiente para consumir alcohol. Además, aunque estoy muy contento con la precisión de la estimación de BAC asumiendo una bebida estándar, este proyecto es una herramienta para ayudarlo a beber de manera segura, pero no tiene ninguna responsabilidad si elige conducir después de consumir alcohol.

Paso 9: (Opcional) Solución de problemas

(Opcional) Solución de problemas
(Opcional) Solución de problemas

- Error "Problema al cargar a la placa": al intentar compilar y cargar el boceto en el Arduino, este error se producirá si su puerto COM no está configurado correctamente (consulte el paso uno sobre cómo encontrar y configurar el puerto COM correcto) o su La placa no está enchufada.

- La pantalla LCD no muestra caracteres blancos: si la luz azul de su LCD está encendida pero no ve caracteres blancos después de cargar el boceto, lo más probable es que se deba a problemas de contraste. Para solucionar esto, simplemente gire su potenciómetro hacia la derecha (Gire hacia la izquierda si ve bloques blancos con sus personajes).

- El proyecto no cuenta las bebidas correctamente: este error es un problema del sensor de nivel de agua. Los módulos de sensor de nivel de agua se corroen rápidamente y son conocidos por ser muy inexactos. Sin embargo, eso no debería preocuparle para este proyecto, ya que traté el sensor como un sensor digital en lugar de uno analógico. Vea el paso seis sobre cómo conectar correctamente su sensor de nivel de agua.

- Un módulo está extremadamente caliente y no envía los valores correctos: este es el resultado de que se rompió una conexión GND o VCC, probablemente mientras se trabajaba con otros cables. Asegúrese de que las conexiones GND y VCC al sensor estén completas y sígalas a los pines GND y 5v del componente, a la placa de pruebas, al Arduino para buscar errores.

- Accidentalmente pasé de mi peso: no se preocupe, el ajuste de peso vuelve a 100 después de 240, por lo que puede seguir girando a través de las opciones para volver a su peso.

Si los problemas persisten, conecte el cable del Arduino a la computadora portátil, abra el IDE y ejecute el boceto. Mientras se ejecuta el boceto, se mostrarán varios valores en el monitor en serie, lo que le permitirá ver qué no funciona como se supone que debe hacerlo. Para acceder al monitor en serie, ejecute el programa y "Herramientas" y luego "Monitor en serie" en el menú desplegable.

Paso 10: Reflexión

Por el lado de la programación, estoy muy contento con el resultado de este proyecto. Me tomó un tiempo escribir ya que todavía soy un principiante, pero pude aprender muchas bibliotecas nuevas y lograr el objetivo de predecir el BAC, y siento que no tomé atajos para estimar el BAC ya que usé tanto sexo como peso (Esto constituye la mayor parte del boceto). Sin embargo, necesito aprobar el diseño. Si bien no tengo una impresora 3D ni sé carpintería, realmente quería que mi proyecto se presentara de una mejor manera. Tengo la intención de obtener pronto un Ender 3, y lo primero que haré es volver a este mismo instructable para mejorar el diseño. Como mi primer instructable, siento que el proceso salió bien y estoy muy contento con la medida en que este proyecto abordó el mensaje que creé para el Party Challenge, pero diseño algo a lo que me gustaría volver más tarde cuando tenga los recursos.

Recomendado: