blog-eletrogate-logo-desktop blog-eletrogate-logo-mobile
  • Categorias
    • Voltar
    • INICIANTES
    • INTERMEDIÁRIOS
    • AVANÇADOS
    • divide
    • Automação Residencial
    • Componentes Eletrônicos
    • Impressão 3D
    • IoT
    • Modelagem 3D
    • Módulos Wifi
    • Por trás da tecnologia
    • Projetos
    • Raspberry Pi
    • Robótica
    • Sensores
    • Shields
    • Sistemas Operacionais
    • Tipos de Arduino
    • Tutoriais
  • Apostilas
  • Quem Somos
  • Seja um redator
  • Trabalhe Conosco
    • Categorias
      • Voltar
      • INICIANTES
      • INTERMEDIÁRIOS
      • AVANÇADOS
      • divide
      • Automação Residencial
      • Componentes Eletrônicos
      • Impressão 3D
      • IoT
      • Modelagem 3D
      • Módulos Wifi
      • Por trás da tecnologia
      • Projetos
      • Raspberry Pi
      • Robótica
      • Sensores
      • Shields
      • Sistemas Operacionais
      • Tipos de Arduino
      • Tutoriais
    • Apostilas
    • Quem Somos
    • Seja um redator
    • Trabalhe Conosco
Loja Eletrogate
voltar
  • Introdução
  • Materiais Necessários para o Projeto Sinalizador para te Lembrar de Lavar as Mãos
  • Explicação
  • Montagem do Projeto
  • Dicas
  • Conclusões
  • Sobre o Autor
Projetos

Sinalizador para te Lembrar de Lavar as Mãos

Eletrogate 25 de março de 2020Atualizado em: 14 set 202210 min

Introdução

Entrar em casa com as mãos desinfectadas reduz consideravelmente o risco de se auto-infectar e infectar parentes ou amigos com o novo coronavírus. Vendo essa situação, nós da Eletrogate iremos te ajudar a sempre lembrar de chegar em casa e lavar as mãos. Nosso projeto de hoje usará componentes simples e baratos, e qualquer um poderá fazer ele, para criar um protótipo:


Materiais Necessários para o Projeto Sinalizador para te Lembrar de Lavar as Mãos

  • 2x Módulo Laser 5V Arduino – KY-008
  • 2x Sensor Fotoresistor LDR de 5mm
  • 1x Chave Fim de Curso Haste Longa
  • 1x Protoboard 830 pontos
  • 1x Jumpers –  Macho/Macho – 20 unidades de 20cm
  • 1x Uno R3 + Cabo Usb para Arduino
  • 1x Resistor 10K 1/4W (10 Unidades)
  • 1x Resistor 330R 1/4W (10 Unidades)
  • 1x Led Difuso 5mm Vermelho
  • 1x Buzzer ativo 5V

cta_cart


Explicação

Sensor do álcool em gel

A ideia do projeto é colocar um sensor no bico do álcool em gel, para saber se ele foi pressionado ou não. Para isso, iremos colocar uma chave de fim de curso para desempenhar essa função, mas se quiser, você pode adaptar outras coisas, como um sensor óptico reflexivo (link para o blog). Você pode instalar o sensor aqui:

Logo abaixo do bico do álcool em gel.

Sensor da porta para saber a passagem

Com o sensor instalado, nós iremos agora fazer um feixe de laser localizado no LDR, se você não conhece o funcionamento de um LDR, ele basicamente é um resistor cujo sua resistência varia inversamente proporcional ao aumento da luminosidade. Logo, se há muito luz sobre o LDR, a resistência dele é baixa (Até 300 ohms), e com pouca luz a resistência dele é alta (No escuro pode chegar a casa de mega ohms).

Este comportamento do LDR permite que um sinal seja enviado ao Arduino quando o feixe for interrompido. Por isso, faremos 2 feixes com dois sensores para poder mensurar em qual sentido a pessoa está entrando na porta, se está entrando ou saindo, já que essa informação será bastante importante para nós.

O principio explicado, é o mesmo de alarmes a laser que são comuns em filmes.

Imagem retirada da steamcommunity


Montagem do Projeto

Para fazer um protótipo, faça essa montagem na Protoboard:

Lembrando que o sensor instalado no álcool em gel, nessa montagem, está sendo representado pela chave pushbutton, mas o sensor real pode ser tanto a chave de fim de curso ou o sensor óptico reflexivo.

Obs: Perceba também que no caso do sensor que vá no lugar do pushbutton, ele deverá ser usado usado sem resistores externos de pull up ou pull down, porque no código já está sendo usado um resistor de pull up interno.

Ao ligar o feixe do laser, o LDR será sensibilizado e na porta A0 veremos um valor baixo (no meu caso foi de 35), quando o laser for interrompido, veremos um valor mais alto (No meu caso, foi de 440). Esses valores citados de baixo e alto podem variar de ambiente para ambiente , logo, um valor diferente do citado é normal.

Tendo a montagem feita, você pode observar no monitor serial os valores lidos quando o Laser está incidindo no LDR e os valores sem estar incidindo. O código é este:

#define Sensor1 A0
#define Sensor2 A1
#define Laser1 2
#define Laser2 3

void setup() {
  Serial.begin(9600);
  pinMode(Laser1, OUTPUT);
  pinMode(Laser2, OUTPUT);
  digitalWrite(Laser1, HIGH);
  digitalWrite(Laser2, HIGH);
  pinMode(Sensor1, INPUT);
  pinMode(Sensor2, INPUT);
}

void loop() {
Serial.print("LDR 1: ");Serial.println(analogRead(Sensor1);
Serial.print("LDR 2: ");Serial.println(analogRead(Sensor2);
}

Anote os valores quando você coloca a mão na frente, e anote o valor sem a mão na frente, esse valor será importante no próximo código.

O código final do projeto é este:

/*
   Sensor para auxiliar no uso do Alcool em Gel
   Autor: Gustavo - Eletrogate
*/
#define TimeSensores 500 // Tempo limite em ms para passar entre os dois sensores
#define TimeLavar 10000 // Tempo limite (em ms) entre as mãos e passar nos sensores

#define SensibilidadeLDR 120 // É o nivel onde o sensor entenderá que passou alguem

//----- Declaração dos pinos que usaremos -------//
#define Sensor1 A0
#define Sensor2 A1
#define FimDeCurso 7
#define Laser1 2
#define Laser2 3
#define PinBuzzer 8
#define PinLED 9
//-----------------------------------------------//

byte ReconhecerSentido();


void setup() {
  Serial.begin(9600);
  pinMode(Laser1, OUTPUT);
  pinMode(Laser2, OUTPUT);
  digitalWrite(Laser1, HIGH);
  digitalWrite(Laser2, HIGH);
  pinMode(FimDeCurso, INPUT_PULLUP);
  pinMode(Sensor1, INPUT);
  pinMode(Sensor2, INPUT);
  pinMode(PinBuzzer, OUTPUT);
  pinMode(PinLED, OUTPUT);
}

void loop() {
  long time1 = -10000; // Faz o tempo ser -10s para simpliciar a lógica, onde, já inicia com o tempo que lavou a mão pela ultima vez excedido
  while (1) {
    if (!digitalRead(FimDeCurso)) { // Se caso a pessoa usou o alcool em gel, salva em qual tempo foi
      time1 = millis();
    }

    if (ReconhecerSentido() == 2) { // Verifica se a pessoa está no sentido 2, que é saindo de casa
      if ((millis() - time1) > TimeLavar) { // Ele confere se lavou a mão nos ultimos 10 segundos, se não, faz o alerta sonoro e visual.
        Serial.println("ESQUECEU DE LAVAR A MÃO!");
        digitalWrite(PinLED, HIGH);
        digitalWrite(PinBuzzer, HIGH);
        delay(1000);
        digitalWrite(PinLED, LOW);
        digitalWrite(PinBuzzer, LOW);
      }
      else {
        Serial.println("LAVOU AS MÃOS!"); // faz i time1 ser negativo para que garanta que na proxima pessoa que passar sem lavar as mãos, apite.
        time1 = -10000;
      }
    }
  }

}


byte ReconhecerSentido() { // Esse algoritmo reconhece qual sentido a pessoa passou. Se retornar 0 é porque não passou ninguem. O sentido 2 é porque a pessoa entrou em casa.
  byte sentido;
  unsigned long time1, tempototal = 0;
  sentido = 0;
  if (analogRead(Sensor1) > SensibilidadeLDR) {
    while (analogRead(Sensor1) > SensibilidadeLDR) {}
    tempototal = 0;
    time1 = millis();
    while ((analogRead(Sensor2) < SensibilidadeLDR) and (tempototal < TimeSensores)) {
      tempototal = millis() - time1;
    }

    if (tempototal < TimeSensores) {
      sentido = 2;
      return (sentido);
    }
  }

  if (analogRead(Sensor2) > SensibilidadeLDR) {
    while (analogRead(Sensor2) > SensibilidadeLDR) {}
    tempototal = 0;
    time1 = millis();
    while ((analogRead(Sensor1) < SensibilidadeLDR) and (tempototal < TimeSensores)) {
      tempototal = millis() - time1;
    }
    if (tempototal < TimeSensores) {
      sentido = 1;
      return (sentido);
    }
  }
  return (sentido);
}

Na constantante SensibilidadeLDR, nas primeiras linhas do código, coloque um valor intermediário entre as medidas com o laser atingindo o LDR e sem. É importante que esse valor tenha uma margem de segurança, isso é, nas condições do laser operando nele nunca chegue a esse valor declarado.

É importante outras duas contantes declaradas, como o TimeLavar, que é o tempo que a pessoa tem entre passar o alcool em gel e atravessar o sensor. Eu coloquei 10 segundos, mas você pode adaptar segundo o seu projeto. E o outro time, que é o TimeSensores, basicamente serve para definir o tempo máximo para atravessar os dois sensores, para se caso não atravessar nesse tempo, reseta. É um mecanismo para evitar bugs.

O funcionamento do sensor de sentido pode ser testado funcionando assim:

Em um sentido -que é o da pessoa saindo- o sensor não emite alertas, e com a pessoa entrando e sem acionar o álcool em gel, há o alerta sonoro e visual.

https://blog.eletrogate.com/wp-content/uploads/2020/03/sequence-01_1.mp4

No monitor serial também temos a informação se a pessoa lavou a mão ou não.


Dicas

  • Cubra os LDRs e os lasers com uma fita preta, ou faça alguma coisa para o proteger da iluminação externa, isso fará com que o seu projeto fique mais robusto e não vaze luz.
  • Se for montar na prática, opte por usar placas de arduino como a nano, porque ela possui um tamanho menor e o projeto ficará em um tamanho viável de implementar.
  • Se for utilizar um TCRT5000, verifique no post a montagem, e use resistores de 330R para o seu LED, e se não funcionar, abaixe gradualmente. Porque o LED infravermelho dele não pode estar muito forte para não detectar muito longe.
  • Pode ser que a montagem não funcione por mau contato. Verifique bem todos os cabos e componentes na protoboard

Conclusões

Montando este projeto na prática, você terá uma ferramenta e tanto para superar essa crise de Coronavírus sem se esquecer de lavar as mãos ao chegar em casa, por qualquer motivo. Você pode aproveitar este projeto para fazer o sensor do alcool em gel sem fio, fazer melhorias, desenvolver um novo com algum conhecimento aprendido e muito mais! Dê asas a sua imaginação.

Lembrando que nesta época de pandemia, cuide da sua saúde e fique em casa, e deixe que a gente entrega todos os seus produtos em casa, com bastante confiabilidade.


Gostou do projeto e montou na prática? Curta o post e marque a gente no instagram @eletrogate

Dúvidas, sugestões ou elogios? Deixe um comentário para a gente! 🙂

Conheça a Metodologia Eletrogate e ofereça aulas de robótica em sua escola!


Sobre o Autor


Gustavo Nery

Cursando Engenharia de Controle e Automação pela UFMG. Apaixonado por eletrônica, computação e tecnologias na área de sistemas embarcados. Nos tempos livres me divido entre desenvolver pesquisa na universidade, adquirir novos conhecimentos e estar com a família.


Eletrogate

25 de março de 2020 Atualizado em: 14 set 2022

A Eletrogate é uma loja virtual de componentes eletrônicos do Brasil e possui diversos produtos relacionados à Arduino, Automação, Robótica e Eletrônica em geral.

Tenha a Metodologia Eletrogate dentro da sua Escola! Conheça nosso Programa de Robótica nas Escolas!

Sensores

Guia de Uso do Sensor de Chama com Arduino

Eletrogate1 de junho de 2023

Aprenda a usar o Sensor Infravermelho de Chama e Fogo com a placa Arduino Leonardo R3 para dar mais segurança a seus projetos.

Sensores

Guia de Uso do Sensor de Chama com Arduino

Eletrogate1 de junho de 2023

Aprenda a usar o Sensor Infravermelho de Chama e Fogo com a placa Arduino Leonardo R3 para dar mais segurança a seus projetos.

Automação Residencial

Controle de Luminosidade com LDR sem Arduino

Eletrogate25 de maio de 2023

Podemos usar um sensor LDR junto com uma placa Arduino para interpretar a variação luminosa. Mas, também podemos usar poucos componentes eletrônicos para fazer isso, sem programação.

Automação Residencial

Controle de Luminosidade com LDR sem Arduino

Eletrogate25 de maio de 2023

Podemos usar um sensor LDR junto com uma placa Arduino para interpretar a variação luminosa. Mas, também podemos usar poucos componentes eletrônicos para fazer isso, sem programação.

Módulos Wifi

Deauther com NodeMCU ESP-12E

Eletrogate18 de maio de 2023 Atualizado em: 29 maio 2023

No post de hoje, iremos aprender a fazer um deauther com o esp8266. Venha conferir!

Módulos Wifi

Deauther com NodeMCU ESP-12E

Eletrogate18 de maio de 2023 Atualizado em: 29 maio 2023

No post de hoje, iremos aprender a fazer um deauther com o esp8266. Venha conferir!

Componentes Eletronicos

Conhecendo a Pastilha Piezoelétrica

Eletrogate11 de maio de 2023

Como converter energia mecânica em energia elétrica e ainda usar o Arduino para gerenciar isso tudo.

Componentes Eletronicos

Conhecendo a Pastilha Piezoelétrica

Eletrogate11 de maio de 2023

Como converter energia mecânica em energia elétrica e ainda usar o Arduino para gerenciar isso tudo.

Eletrogate Robô

Cadastre-se e fique por
dentro de novidades!

blog-eletrogate-logo-footer

Rua Rio de Janeiro, 441 - Sala 1301
Centro - Belo Horizonte/MG
CEP 30160-041
*Não temos atendimento físico

ANWAR SLEIMAN HACHOUCHE - ME
CNPJ: 18.917.521/0001-73

Atendimento

(31) 3142-3800

contato@eletrogate.com


Seg a Sex - das 8h às 17h

Institucional

  • Apostilas
  • Quem Somos
  • Privacidade
  • Seja um Redator
  • Trabalhe Conosco

Nos acompanhe

Facebook Instagram Youtube

© ELETROGATE 2023 - Todos os direitos reservados. Termos de uso e Política de privacidade.