Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Despertador que realmente tira você da cama pela manhã

Componentes e suprimentos

Arduino Nano Every
Usarei o Nano Every para a montagem final. Mas você também pode usar qualquer outro Arduino (no início, eu uso um Mega2560).
× 1
Módulo de relógio
× 1
HC-SR501
Este é o sensor de movimento
× 1
Buzzer
× 1

Aplicativos e serviços online

Arduino IDE

Sobre este projeto


Porque às vezes é muito difícil levantar de manhã, resolvi fazer um despertador, que te tira muito da cama. A ideia é usar um sensor de movimento para que o despertador saiba se você voltou para a cama depois de apertar o botão de soneca. Se for esse o caso, o alarme soará novamente. Caso contrário, se você ficar acordado por tempo suficiente (por exemplo, 2 minutos), o despertador não tocará mais. Durante este tempo você deve estar aproximadamente à frente do sensor (dentro de alguns metros) onde você já poderia iniciar sua rotina matinal.





Montagem


Para este projeto precisamos de um módulo de relógio, um sensor de movimento, uma campainha, um pequeno botão e um Arduino.

Agora tudo precisa ser conectado:
  • o pino negativo da campainha -> GND
  • o pino de campainha positivo -> D11
  • pino do botão -> GND
  • o outro alfinete de botão -> D9
  • sensor de movimento VCC -> 5V
  • saída do sensor de movimento -> D7
  • sensor de movimento GND -> GND
  • módulo de relógio GND -> GND
  • módulo de relógio VCC -> 5V
  • módulo de relógio SDA -> SDA (pino 20 para o Mega2560)
  • módulo de relógio SCL -> SCL (pino 21 para o Mega2560)

Após a fiação, conforme mostrado nos esquemas:





Código


Primeiro você precisa baixar o arquivo ZIP da seção de código. Esta é a biblioteca do módulo de relógio. Se tiver dificuldades em adicionar o arquivo à sua biblioteca, você pode seguir as instruções que também estão na seção de código.

Agora você pode fazer upload do código da seção de software. Logo depois de fazer o upload do código, você deve comentar a linha:
  clock.setDateTime (__ DATE__, __TIME__);  

Esta linha está na função de configuração.

Agora você deve reenviar o código diretamente.

Se você não comentar, a hora no módulo de relógio será zerada para a hora do último upload toda vez que você zerar a placa.

Depois disso, você pode definir a hora em que o alarme deve tocar. Você pode definir a hora do dia e os minutos:
  // -------------------------------------- int set_hour =6; int set_minute =55; // --------------------------------------  

Agora, o alarme tocará todos os dias neste horário. Também seria possível editar o código, para que você tenha um horário diferente para o fim de semana ou alguns outros dias.

Agora, se você ligar o despertador, ele aguardará até a hora definida. Em seguida, a função de alarme () será executada. A princípio, ele começará a emitir um bipe até que você pressione o botão de soneca. Depois disso, o sensor de movimento verifica se há uma pessoa na frente dele. Você tem que estar na frente do sensor por um determinado período de tempo e também se mover um pouco, para que o sensor de movimento seja acionado. Se você mantiver a visão do sensor de movimento por tempo suficiente, haverá um sinal sonoro curto para informar que o alarme está desativado para o dia e aguardará até a manhã seguinte.

No entanto, se você voltar para a cama durante o tempo após ter pressionado o botão, o alarme disparará e todo o procedimento será reiniciado. Portanto, este despertador garante que você não apenas desligue o despertador e volte para a cama. Esperançosamente, depois de algum tempo em frente ao sensor, você estará acordado o suficiente para não ir para a cama novamente.

Nesta linha você pode ajustar o tempo (em minutos) durante o qual você deve estar na frente do sensor:
  if (abs (dt.minute - minuto)> =1) {// definir o período de tempo em que você deve // ​​estar  





Ajuste do sensor


O sensor de movimento precisará de alguns ajustes para funcionar corretamente com este despertador. Primeiro, temos que colocar o jumper de seleção do acionador no lugar certo. Ele precisa estar no modo de disparo repetível!

Agora você também precisa ajustar o atraso de tempo e a sensibilidade. Para mim, funcionou melhor quando defini a sensibilidade para o máximo e o atraso de tempo um pouco acima do mínimo. O atraso de tempo determina quanto tempo após a última detecção de uma pessoa a saída é alta. Se o atraso for muito curto, será muito difícil evitar que o alarme toque novamente porque o sensor nem sempre o detectará. Por outro lado, se o atraso for muito longo, o alarme não notará se você voltar para a cama.





Agora o tornamos compacto


Após alguns testes, estamos prontos para tornar o despertador mais compacto. Para isso, uso um Arduino Nano Every, mas você também pode usar praticamente qualquer outra placa Arduino para isso.

Começamos soldando tudo junto de acordo com o segundo esquema (é basicamente o mesmo de antes, apenas sem a placa de ensaio).

Depois de testar se tudo ainda está funcionando, podemos construir uma caixa para o despertador. Decidi fazer a caixa em madeira balsa de 3mm porque é muito fácil de trabalhar. Aqui estão algumas fotos do processo de construção do case. As dimensões da minha mala são 55 mm x 35 mm x 40 mm.

Fiz um buraco grande para o sensor de movimento e também um slot para o cabo micro USB e uma abertura para o alto-falante.

O despertador finalizado:


Código

  • Código do Arduino do despertador
  • Biblioteca do relógio
Código do Arduino do despertador Arduino
 #include  #include  relógio DS3231; RTCDateTime dt; int button =9; int pirPin =7; // Entrada para HC-S501int pirValue; // Place to store read PIR Value // -------------------------------------- int set_hour =7; int set_minute =0; // -------------------------------------- configuração void () {clock.begin (); pinMode (botão, INPUT_PULLUP); pinMode (LED_BUILTIN, OUTPUT); //clock.setDateTime(__DATE__, __TIME__); // !! APÓS O PRIMEIRO UPLOAD, VOCÊ TEM QUE COMENTAR ESTA LINHA. CASO CONTRÁRIO, VOCÊ VAI TER UM MOMENTO ERRADO !! pinMode (pirPin, INPUT);} void alarm (int minuto) {bool button_pressed =false; bool acordado =falso; movimento bool =falso; while (! button_pressed) {// o alarme está ativado desde que o botão não seja pressionado por (int i =0; i <4; i ++) {tone (11, 523, 100); atraso (100); tom (11, 784, 50); para (int i =0; i <20; i ++) {if (digitalRead (botão) ==BAIXO) {botão_primido =verdadeiro; acordado =verdadeiro; dt =clock.getDateTime (); minuto =dt.minuto; } atraso (65); }}} dt =clock.getDateTime (); minuto =dt.minuto; enquanto (acordado) {movimento =falso; dt =clock.getDateTime (); para (int i =0; i <30; i ++) {if (digitalRead (pirPin)) {movimento =verdadeiro;}} digitalWrite (LED_BUILTIN, movimento); if (! pirValue) {delay (5000); para (int i =0; i <40; i ++) {if (digitalRead (pirPin)) {movimento =verdadeiro;}} if (! movimento) {alarme (minuto); // se nenhum movimento for detectado por muito tempo, o alarme é reiniciado}} if (abs (dt.minuto - minuto)> =1) {// definir o período de tempo em que você deve estar na frente do tom do sensor (11, 698 , 50); atraso (100); tom (11, 698, 50); digitalWrite (LED_BUILTIN, 0); acordado =falso; } atraso (100); }} void loop () {dt =clock.getDateTime (); if (set_minute ==dt.minute &&set_hour ==dt.hour) {alarm (set_minute); } atraso (10000);} 
Biblioteca de relógios Arduino
Este é um arquivo zip para a biblioteca DS3231. Você deve fazer o download e adicioná-lo às suas bibliotecas da seguinte maneira:
abra o Arduino -> vá para "Sketch" -> "Incluir biblioteca" -> "Adicionar biblioteca .ZIP" -> vá para o arquivo zip e clique em ok
 Sem visualização (somente download). 

Esquemas

Esqueci de estabelecer uma conexão com VCC e GND na placa de ensaio. Portanto, você só precisa conectar 5 V no Arduino ao trilho positivo e GND no Arduino ao trilho negativo.

Processo de manufatura

  1. O Chapéu do Troll que mudará a maneira como você pensa sobre seu carro
  2. Despertador simples com DS1302 RTC
  3. O treinamento da Indústria 4.0 da SICK é uma introdução ao IO-Link no PLC
  4. Fatores que afetam o sucesso e a segurança do processo de puncionamento
  5. Fatores-chave que afetam os resultados do processo de retificação de superfície
  6. Uma máquina de torno CNC pode ser a única máquina que você precisa!
  7. O equipamento de usinagem horizontal que você pode precisar
  8. Você quer o melhor tipo de alimentador de barra curta?
  9. As principais razões pelas quais você precisa de usinagem de mandrilamento
  10. Bomba de água direta - que afeta o sistema de circulação