Índice:

Festa segura neste verão com uma xícara de LED reativa a álcool no sangue Arduino: 10 etapas
Festa segura neste verão com uma xícara de LED reativa a álcool no sangue Arduino: 10 etapas

Vídeo: Festa segura neste verão com uma xícara de LED reativa a álcool no sangue Arduino: 10 etapas

Vídeo: Festa segura neste verão com uma xícara de LED reativa a álcool no sangue Arduino: 10 etapas
Vídeo: The six bardos. [PT] Zoom 06.2022 2024, Novembro
Anonim
Festa segura neste verão com copo de LED reativo a álcool no sangue Arduino
Festa segura neste verão com copo de LED reativo a álcool no sangue Arduino

Nível de dificuldade do projeto: intermediário

Habilidades necessárias:

- Ler e replicar um diagrama

- Soldar se você optar por não comprar peças pré-soldadas

Introdução ao Projeto

Nos Estados Unidos e em todo o mundo, o álcool representa graves ameaças à saúde quando consumido de forma irresponsável. O consumo irresponsável de álcool pode resultar em mortes causadas por condução sob o efeito e lesões no fígado, bem como efeitos a longo prazo, como possíveis lesões cerebrais e renais. Só nos Estados Unidos, 250 bilhões de dólares foram perdidos com o uso indevido de álcool (NIAAA, 2010), além de mais de 88.000 pessoas, tornando o álcool a terceira causa de morte evitável no país. A questão para este projeto é, como criadores, como podemos resolver esse problema e garantir que celebrações divertidas com bebidas alcoólicas possam permanecer seguras e divertidas?

Minha resposta a essa pergunta foi encontrar uma maneira de estimar e, em seguida, visualizar o BAC previsto do usuário para permitir que eles entendam melhor em que estado estavam. Para este projeto, usei o microcontrolador Arduino com um sensor de nível de água, anel de LED e uma tela LCD para rastrear quantas bebidas uma pessoa consumiu e, em seguida, encontrar uma maneira de estimar o teor de álcool no sangue (BAC) de o usuário com base no sexo e peso. O BAC estimado, dependendo de qual intervalo estava, determina a animação do anel de LED abaixo. Os intervalos estão entre quatro áreas distintas: seguro, prejudicado, intoxicado e mortal. Minha esperança é que, ao criar este projeto, você não apenas tenha criado um projeto Arduino utilizável, mas também ganhe um melhor entendimento de como metabolizamos o álcool e, possivelmente, até mesmo alguma programação básica, se você optar por examinar o código comentado.

Como o copo sabe quantas bebidas eu bebi?

Se o valor analógico do sensor de nível de água ultrapassar 300, um valor booleano representando o copo será registrado como ALTO (cheio). Se o valor analógico do sensor estiver abaixo de 300, o valor booleano que representa a xícara será registrado como BAIXO (vazio). Para registrar uma bebida sendo adicionada ao copo, esse valor booleano deve mudar de vazio para cheio.

Como você determinou o BAC?

Para tornar este projeto o mais preciso possível, usei dados da Saint Benedict & Saint John's University sobre o quanto o BAC de um indivíduo aumentou por bebida consumida. Este programa não considera apenas o peso, mas também o sexo do usuário no cálculo do BAC do usuário. Isso ocorre porque a alcoolemia é baseada na rapidez com que um corpo é capaz de metabolizar o álcool, o que é diferente entre homens e mulheres e pessoas com pesos diferentes. Os gráficos podem ser vistos aqui.

Por que os intervalos de BAC são diferentes para pessoas diferentes?

Os intervalos de BAC são baseados diretamente nos dados obtidos da Universidade SBSJ, que considera a quantidade de álcool que um usuário deve ter em seu sistema para estar em um dos quatro intervalos:

- Seguro: o único alcance seguro para operar um veículo (representado pela animação do arco-íris)

- Prejudicada: Podem ocorrer acusações criminais se você operar um veículo neste intervalo (representado por animação laranja)

- Intoxicado: Acusações criminais resultarão se você operar um veículo neste intervalo (representado por luzes vermelhas)

- Mortal: se você ainda não desmaiou, você está em perigo médico imediato nesta faixa (representado por luzes vermelhas e brancas piscando)

Mas eu posso tomar álcool bem, então este copo é impreciso?

O quão bem você é capaz de agir após consumir álcool não importa muito se você ultrapassar o limite legal enquanto dirige. Os dados usados neste projeto consideram quais são as faixas legais e médicas de alcoolemia de um usuário, ao mesmo tempo que consideram o peso e o gênero do usuário.

Suprimentos

Os suprimentos eletrônicos gerais para este projeto incluem:

- Dois botões

- Fios de ligação

- potenciômetro de 10k

- 2 resistores de 10k

- 1 resistor 220

Peças / módulos especiais:

- Um Arduino (usei um Uno para este projeto, mas existem muitas alternativas mais baratas)

- Um sensor de nível de água (NOTA: Esses sensores muitas vezes são imprecisos e corroem rapidamente, o que foi uma grande frustração no desenvolvimento deste projeto. No entanto, consegui encontrar uma solução para que minhas dificuldades com este projeto não se traduzissem em suas dificuldades com este projeto.)

- Um anel de LED (12 LEDs)

- Uma tela LCD

Ferramentas:

- Ferro de soldar (necessário apenas se comprar anel de LED sem cabeçotes)

- Impressora 3D (opcional)

Etapa 1: Baixe o IDE do Arduino e copie o código necessário

Nenhuma programação de computador é necessária para este projeto, tudo o que você precisa fazer é copiar o código daqui e colá-lo no IDE do Arduino. Para baixar o IDE Arduino:

Baixando e configurando o IDE do Arduino:

- Visite o site do Arduino e escolha o download para o seu sistema

- Depois que o download for concluído, obtenha o número da porta COM do Arduino. Conecte o Arduino e navegue até o Gerenciador de dispositivos. Nas portas, procure seu Arduino e anote o número da porta. Deve ser semelhante a: COMx (onde x é um número de 1 a 9)

- Usando o número da porta COM, configure o IDE para sua placa e porta abrindo o IDE Arduino e selecionando "Ferramentas" na barra superior. Selecione "Placa" e escolha o seu modelo. Em seguida, escolha "Porta" e selecione a porta que você viu para o seu Arduino no Gerenciador de dispositivos.

Obtendo o Código do Projeto

- Copie o código desta etapa e cole-o na seção branca do IDE do Arduino. Certifique-se de primeiro excluir tudo no esboço, como as rotinas loop () e void (), já que elas são implementadas no código que você está copiando e colando.

Etapa 2: Baixe as bibliotecas necessárias do Arduino IDE

As bibliotecas utilizadas neste projeto incluem "Wire", "LiquidCrystal" e "Adafruit Neopixel". O esboço precisa dessas bibliotecas para se comunicar com os componentes usados neste projeto. Para baixar essas bibliotecas:

- Selecione "Sketch" na barra superior

- Selecione "Incluir biblioteca" no menu suspenso

- Selecione "Gerenciar bibliotecas"

- Pesquise as três bibliotecas (Wire, liquid crystal e Adafruit Neopixel) usadas neste projeto e baixe cada uma.

Observe que a falha no download dessas bibliotecas resultará em um erro enquanto o esboço está sendo compilado. Após esta etapa, conecte o cabo do Arduino ao laptop e pressione o botão de seta no canto superior esquerdo do IDE. Isso irá compilar e fazer upload do esboço para o Arduino. Agora que concluímos todas as etapas relacionadas à programação, vamos passar para a fiação!

Etapa 3: (opcional) cabeçalhos de solda nas peças

Se você optou por comprar peças para este projeto que ainda não tinham pinos de encaixe soldados nelas, você precisará fazer isso sozinho. Não se preocupe muito com esta parte, a soldagem para este projeto é muito simples.

- Crie um ambiente ventilado para soldar, de preferência com um ventilador contendo um filtro. Se você não tem um ventilador assim, pode fazer o que eu faço e abrir as janelas e ligar o ventilador ou ir para a garagem enquanto ele está aberto.

- Aqueça o ferro de soldar e certifique-se de ter uma esponja úmida para limpar o excesso de solda.

- Configure os cabeçalhos e a peça que deseja anexar aos cabeçalhos usando uma mão amiga ou outra ferramenta que permite organizar as peças enquanto permite que você segure o ferro de solda.

- Toque a solda no ferro de solda enquanto estiver na conexão entre o pino do coletor e a parte em que você está soldando os pinos. Retire o ferro quando houver solda suficiente para garantir o contato elétrico entre os pinos do coletor e a peça. Limpe qualquer excesso de solda da esponja e repita esse processo para todos os pinos.

- Após a soldagem de todos os pinos, coloque o ferro de solda no suporte, gire o botão para a posição "off" e desconecte o ferro da tomada. Espere até que o ferro esfrie completamente para guardá-lo.

Etapa 4: siga a imagem e conecte o Arduino aos componentes

Siga a imagem e conecte o Arduino aos componentes
Siga a imagem e conecte o Arduino aos componentes

Nesta etapa, você precisará usar fios de jumper para conectar as peças necessárias para o projeto ao Arduino. Forneci um arquivo Fritzing para fazer isso, que pode ser visto nesta etapa. Veja abaixo uma lista de perguntas comuns que eu me pergunto se encontrar um problema com a fiação:

- Os trilhos de aterramento e de alimentação estão conectados corretamente um ao outro e aos pinos 5v e GND do Arduino?

- Eu mexi no meu potenciômetro se o display LCD não estava aparecendo? (Tente girar o potenciômetro para alterar a resistência se os caracteres brancos não estiverem aparecendo corretamente)

- O GND e o VCC estão conectados a cada parte corretamente ao pino correto? A configuração de 5 volts está sendo usada? (Todos os sensores e componentes neste projeto usarão 5 volts, não 3,3 volts.

- Um fio foi colocado acidentalmente a uma conexão de onde deveria estar?

NOTA: Ao trabalhar com componentes eletrônicos, sempre certifique-se de que o circuito não esteja energizado durante a troca. Caso contrário, as peças podem ser danificadas e, ao trabalhar com tensões maiores, podem ocorrer lesões corporais

Etapa 5: Monte o Projeto "Coaster"

Projeto de montagem
Projeto de montagem

Você pode notar que os cabeçotes do anel de LED ficam salientes e não permitem que você coloque o copo contra uma superfície. Para resolver este problema, iremos anexar o anel de LED a uma parte impressa em 3D que permitirá que o anel seja colocado horizontalmente sobre uma mesa. O arquivo 3d pode ser encontrado nesta etapa. Se você não tem uma impressora 3D, não se preocupe, esta impressão custou 1,40 para fazer na minha biblioteca local. Se sua biblioteca local não tiver uma impressora 3D, outras opções incluem Grampos e vendedores online. Deve-se notar também que determinada parte que anexei não é a única compatível, é apenas a forma de fazer um modelo para mim. Portanto, se você é bom com madeira ou outros trabalhos manuais, isso seria mais do que aceitável!

Se você optar por imprimir a peça para este projeto:

- Baixe o arquivo STL para importar para um fatiador como o Cura

- Meça o diâmetro do fundo de um copo de sua escolha

- Ajuste a escala do modelo (em milímetros se estiver usando Cura) para sua medição

Etapa 6: conecte a base e o sensor ao copo de sua escolha

Conecte o Coaster e o Sensor ao Cup de Sua Escolha
Conecte o Coaster e o Sensor ao Cup de Sua Escolha

Em seguida, pegue sua base para copos e use um adesivo para fixá-la no fundo do copo que você mediu. Agora, os fios do jumper serão capazes de acessar o sensor de nível de água e o anel de LED, e também deitar na mesa. Agora você tem que conectar o sensor. É muito cuidadoso ter em consideração o posicionamento do sensor, uma vez que estes sensores, embora sejam comercializados como analógicos, na verdade emitem apenas dois sinais - água ou sem água. Isso me causou muitos problemas, mas consegui encontrar uma maneira de resolvê-lo para que outras pessoas não experimentassem as mesmas frustrações com este projeto. A chave é colocar o sensor próximo ao topo de onde o líquido estará quando o copo estiver cheio. Isso garantirá que o sensor seja capaz de registrar um estado "vazio" e, portanto, capaz de contar a próxima bebida servida.

Etapa 7: embelezar o projeto e proteger os fios

Embeleze o projeto e proteja os fios
Embeleze o projeto e proteja os fios

Neste ponto, você provavelmente ficou com um amontoado de fios e peças que se parecem com a foto anexada. O que você faz para melhorar a aparência do projeto é totalmente sua, desde que mantenha estes critérios em mente:

- Você deve ser capaz de conectar um carregador na alimentação do Arduino

- Você deve cortar orifícios ou criar espaços para o usuário acessar a tela LCD, os botões, o sensor de nível de água e o anel de LED.

- Deve-se evitar que os componentes eletrônicos fiquem molhados, pois essa é uma possibilidade já que o projeto é voltado para bebidas.

Algumas opções para encerrar o projeto são:

- Uma caixa de sapatos ou caixa

- Um gabinete de projeto eletrônico à prova d'água, como o encontrado aqui

- Um design impresso em 3D (esta é a opção que eu queria seguir, no entanto, era muito caro imprimir um design como este na minha biblioteca)

Etapa 8: Beba com responsabilidade

Beba com responsabilidade!
Beba com responsabilidade!

Depois de conectar sua xícara à base para copos e ao sensor de água, você está pronto para começar! Você saberá que tudo está funcionando corretamente quando a tela LCD informar seu sexo e peso. Um botão corresponde ao peso, enquanto o outro corresponde ao sexo. Você pode clicar em cada um para ver qual é antes de rotulá-lo. Depois de selecionar seu peso correto (os valores estão em etapas de 20) e sexo, clique em ambos os botões simultaneamente. Isso iniciará o resto do programa e você verá o anel de LED piscar em um padrão de arco-íris. O copo agora está pronto para você servir uma bebida. À medida que você consome e serve mais bebidas, o programa usará a tabela de TAS discutida na introdução para determinar uma TAS. Observe que este programa pressupõe uma bebida padrão para cada xícara, por favor, veja a foto (University of South Alabama), ou visite aqui para ver como sua bebida favorita se traduz. Observe também que o objetivo deste projeto não é encorajar nenhuma atividade ilegal, mas promover o consumo seguro de álcool por pessoas com idade suficiente para consumir álcool. Além disso, embora eu esteja muito feliz com a precisão da estimativa de TAS assumindo uma bebida padrão, este projeto é uma ferramenta para ajudá-lo a beber com segurança, mas não tem qualquer responsabilidade se você decidir dirigir após o consumo de qualquer álcool.

Etapa 9: (opcional) solução de problemas

(Opcional) Solução de problemas
(Opcional) Solução de problemas

- Erro "Problema ao fazer upload para a placa": ao tentar compilar e fazer upload do esboço para o Arduino, esse erro ocorrerá se sua porta COM não estiver configurada corretamente (consulte a etapa um sobre como encontrar e definir a porta COM correta) ou seu placa não está conectada.

- A tela LCD não exibe caracteres brancos: se a luz azul de seu LCD estiver acesa, mas você não vir nenhum caractere branco após fazer o upload do esboço, isso provavelmente se deve a problemas de contraste. Para consertar isso, basta girar seu potenciômetro para a direita (Vire para a esquerda se você vir blocos brancos com seus personagens).

- O projeto não está contando bebidas corretamente: Este erro é um problema do sensor de nível de água. Módulos de sensores de nível de água corroem rapidamente e são conhecidos por serem muito imprecisos. No entanto, isso não deve preocupar você neste projeto, já que tratei o sensor como um sensor digital em vez de um analógico. Consulte a etapa seis para saber como conectar corretamente o sensor de nível de água.

- Um módulo está extremamente quente e não está enviando os valores corretos: Isso é o resultado de uma conexão GND ou VCC sendo interrompida, provavelmente durante o trabalho com outros fios. Certifique-se de que as conexões GND e VCC com o sensor estejam concluídas e siga-as até os pinos GND e 5v do componente, para a placa de ensaio e para o Arduino para procurar erros.

- Passei acidentalmente por cima do meu peso: Não se preocupe, a configuração do peso volta para 100 após 240, então você pode simplesmente continuar girando pelas opções para voltar ao seu peso.

Se o problema persistir, conecte o cabo do Arduino ao laptop, abra o IDE e execute o esboço. Enquanto o sketch está em execução, vários valores serão exibidos no monitor serial, permitindo que você veja o que não está funcionando como deveria. Para acessar o monitor serial, execute o programa e "Ferramentas" e depois "Monitor serial" no menu suspenso.

Etapa 10: Reflexão

Do lado da programação, estou muito feliz com o resultado desse projeto. Demorei a escrever, pois ainda sou um iniciante, mas fui capaz de aprender muitas novas bibliotecas e atingir a meta de prever o BAC, e sinto que não tomei atalhos para estimar o BAC, pois usei tanto sexo quanto peso (isso constituiu a maior parte do esboço). No entanto, preciso aprovar o design. Embora eu não tenha uma impressora 3D ou não conheça marcenaria, queria muito que meu projeto fosse apresentado de uma maneira melhor. Pretendo em breve obter um Ender 3, e a primeira coisa que farei é voltar imediatamente a este mesmo instrutível para melhorar o design. Como meu primeiro instrutível de todos, sinto que o processo correu bem e estou muito feliz com o quanto este projeto atendeu ao prompt que criei para o Party Challenge, mas desenhei algo que gostaria de voltar depois quando tiver os recursos.

Recomendado: