Índice:

Despertador do nascer do sol com tela LCD e aplicativo Bluetooth: 8 etapas
Despertador do nascer do sol com tela LCD e aplicativo Bluetooth: 8 etapas

Vídeo: Despertador do nascer do sol com tela LCD e aplicativo Bluetooth: 8 etapas

Vídeo: Despertador do nascer do sol com tela LCD e aplicativo Bluetooth: 8 etapas
Vídeo: 👉LINK: 💬 Luminária Com Carregador Sem Fio e Alto-Falante Bluetooth #luminaria #abajur #speaker 2024, Novembro
Anonim
Despertador do nascer do sol com tela LCD e aplicativo Bluetooth
Despertador do nascer do sol com tela LCD e aplicativo Bluetooth
Despertador do nascer do sol com tela LCD e aplicativo Bluetooth
Despertador do nascer do sol com tela LCD e aplicativo Bluetooth

O inverno pode ser triste. Você acorda, está escuro e você tem que sair da cama. A última coisa que você quer ouvir é o som irritante do seu despertador. Se você, como eu, tem problemas para acordar de manhã, este despertador é exatamente o que você precisa.

Neste tutorial, vamos construir um Sunrise Alarm Clock. É um despertador como qualquer outro, pois você pode definir a hora e o minuto que deseja acordar, mas com a vantagem de usar a luz para iluminar seu quarto durante um período de tempo, como o nascer do sol para acordar, em vez de um incômodo campainha!

Também usaremos um módulo bluetooth para criar um aplicativo que permite definir o alarme do seu telefone para o relógio. O display LCD mostrará a hora, a data e o dia da semana. Existem lâmpadas solares no mercado, mas podem ser caras (uma busca rápida no Google retorna produtos na faixa de € 100), frágeis e de aparência bastante clínica. É por isso que decidi fazer o meu próprio para meu Projeto da Escola Arduino. Todas as peças serão listadas na próxima etapa. O código pode ser baixado do meu Github repo sunrise-alarm-clock. Vamos começar:)

todo o código pode ser encontrado em:

Etapa 1: reunindo as peças

Reunindo as peças
Reunindo as peças
Reunindo as peças
Reunindo as peças
Reunindo as peças
Reunindo as peças

Usaremos um relógio como entrada e um LED ultrabrilhante como saída para simular o nascer do sol.

Para construir o circuito, precisaremos de:

- Arduino Uno-clockmodule RTC DS3231 - um MOSFET para controlar o brilho da luz - um LED superbrilhante (comprei 2, um aquecido, um frio) - Bateria de 9V para alimentar o LED - uma placa de ensaio - um display LCD (16: 2) - Adaptador Bluetooth hc-05 para que possamos usar um aplicativo para definir o alarme.

Tudo o que você precisa pode ser comprado em www.martoparts.nl

Etapa 2: montagem do circuito

Montagem do circuito
Montagem do circuito
Montagem do circuito
Montagem do circuito

Você pode consultar o esboço do meu circuito, infelizmente não consegui encontrar o RTC DS3231 no programa, então tive que ver com este. As conexões são um pouco diferentes na vida real, aqui estão as conexões. (o módulo bluetooth não está no esboço, mas explicarei como funciona abaixo, porque é bastante complicado)

RTC DS3231GND vai para GND no arduino

VCC vai para 5v

SDA vai para o Arduino

SCL vai para o arduino; não usaremos SQW e 32KMOSFET

O pino da porta vai para o pino ~ 9 no Arduino Uno porque o pino PWMDrain vai para o lado negativo do pino da fonte de LED vai para GND no ArduinoLCD-DisplayGND vai para GND no arduino

VCC vai para 5VSDA vai para A4 no arduinoSKL vai para A5 no arduinoLED- vai para mosfet + vai para bateria 5v9v Você pode comprar uma bateria 9v em qualquer loja local, conecte no arduino com uma tira de conector.

Módulo Bluetooth hc-055V vai para 5V do arduino

GND vai para GND no arduino

Agora há mais 2 entradas, mas aqui vem a parte complicada, temos que conectar as entradas opostas dessas 2 no arduinoTX de hc-05 vai para RX em arduinoRX de hc-05 vai para TX em arduino

Importante: Certifique-se de DESCONECTAR o TX & RX do HC-05 ao fazer o upload do código em seu arduino ou receberá um erro dizendo "algo deu errado com o upload do código" no compilador.

Etapa 3: Configurando a tela LCD e o relógio

Configurando a tela LCD e o relógio
Configurando a tela LCD e o relógio
Configurando a tela LCD e o relógio
Configurando a tela LCD e o relógio

A biblioteca usada para o display LCD é de cristal líquido e pode ser encontrada em: https://github.com/fdebrabander/Arduino-LiquidCrys… Baixe o arquivo zip, salve-o e coloque-o na pasta / bibliotecas do seu Arduino

A biblioteca que estou usando para rodar o relógio pode ser encontrada em Rinky-Dinky Electronics https://www.rinkydinkelectronics.com/library.php?id=73 e certifique-se de estar na página DS3231. Baixe o arquivo zip, salve-o e coloque-o na pasta de bibliotecas do seu Arduino.

Tempo

Inclua a biblioteca DS3231 ou DS1307 em seu código Arduino

Remova o comentário dessas 3 linhas de código para definir a hora:

// rtc.setDOW (SEGUNDA-FEIRA); // Defina o dia da semana como DOMINGO // rtc.setTime (23, 57, 0); // Defina a hora para 12:00:00 (formato de 24 horas) // rtc.setDate (14, 1, 2019); // Defina a data para 1º de janeiro de 2014

Tela de LCD

Inclua a biblioteca liqduicrystal_i2c em seu código Arduino

Para imprimir no visor LCD, use

lcd.setCursor (col, linha) // posição do texto impressolcd.print (~) // texto impresso

Etapa 4: codificação

Codificação
Codificação

Baixe o código em: github:

Remova o comentário dessas 3 linhas para ajustar o relógio em sua tela LCD:

// rtc.setDOW (SEGUNDA-FEIRA); // Defina o dia da semana como DOMINGO // rtc.setTime (23, 57, 0); // Defina a hora para 12:00:00 (formato de 24 horas) // rtc.setDate (14, 1, 2019); // Defina a data para 1º de janeiro de 2014

Use lcd.setCuros (col, linha); para definir a posição do texto em exibição

lcd.setCursor (0, 2);

e print () para imprimir algo no display

lcd.print (rtc.getDateStr ());

Altere essas variáveis se quiser

int fadeTime = 1; // Quanto tempo a luz vai diminuir para maxint setHour = 02; // Definir horas para despertar (horário militar) int setMin = 49; // Definir minuto para despertar int uled = 9; // Definir pinagem com PWM

Código do módulo bluetooth

String firstHalf = getValue (input, ':', 0); // verifique a primeira entrada até ":"

String secondHalf = getValue (input, ':', 1); // verifique a segunda entrada após ":"

// use este código se você não estiver usando o módulo bluetooth

// // if (t.hour == setHour && t.min == setMin) // Verifique se é hora de acordar! // { // começar(); //}

// verifique as entradas dos primeiros 2 dígitos e, em seguida, verifique os 2 segundos dígitos da entrada

if (t.hour == firstHalf.toInt () && t.min == secondHalf.toInt ()) {start (); }}

// lógica para separar strings

String getValue (dados de string, separador de caractere, índice interno) {int encontrado = 0; int strIndex = {0, -1}; int maxIndex = data.length () - 1;

for (int i = 0; i <= maxIndex && found <= index; i ++) {if (data.charAt (i) == separador || i == maxIndex) {found ++; strIndex [0] = strIndex [1] + 1; strIndex [1] = (i == maxIndex)? i + 1: i; }} retorno encontrado> índice? data.substring (strIndex [0], strIndex [1]): ""; }

Etapa 5: Hora do teste

Compile seu código e teste se os componentes funcionam!

Etapa 6: configuração do aplicativo Bluetooth

Configuração de aplicativo Bluetooth
Configuração de aplicativo Bluetooth
Configuração de aplicativo Bluetooth
Configuração de aplicativo Bluetooth
Configuração de aplicativo Bluetooth
Configuração de aplicativo Bluetooth

Como achei chato pesquisar o código toda vez que queria definir um alarme, queria fazer um aplicativo que definiria o alarme, o que é muito mais fácil.

Vá para https://ai2.appinventor.mit.edu onde podemos fazer um aplicativo simples que nos permite definir o alarme, incluí a configuração de design simples (você sempre pode ajustar isso mais tarde) e o código usado para o conexão bluetooth. Você pode então publicar seu aplicativo e conectar-se a ele em seu telefone usando um código QR ou baixando o aplicativo diretamente em seu computador e, em seguida, transferindo-o com um cabo em seu telefone. (captura de tela)

Etapa 7: Construindo o Caso

Construindo o Caso
Construindo o Caso
Construindo o Caso
Construindo o Caso
Construindo o Caso
Construindo o Caso

Você sempre pode construir uma caixa diferente em torno do relógio do seu arduino. Usei madeira e acrílico fosco para construir minha própria caixa de despertador. Eu escolhi plexiglass fosco para que você possa ver a luz brilhando claramente através da caixa, mas você não pode ver o interior do relógio.

Etapa 8: Concluído

Finalizado!
Finalizado!
Finalizado!
Finalizado!
Finalizado!
Finalizado!

Agora que você carregou o código para o seu arduino, construa o case e verifique se você montou corretamente o seu relógio, você pode definir um alarme no aplicativo bluetooth e começar a acordar com mais naturalidade!:)

Recomendado: