Índice:

UCL-lloT-Outdoor-light Disparado ao nascer do sol / pôr do sol: 6 etapas
UCL-lloT-Outdoor-light Disparado ao nascer do sol / pôr do sol: 6 etapas

Vídeo: UCL-lloT-Outdoor-light Disparado ao nascer do sol / pôr do sol: 6 etapas

Vídeo: UCL-lloT-Outdoor-light Disparado ao nascer do sol / pôr do sol: 6 etapas
Vídeo: Marvel's Spider-Man Miles Morales Gameplay Walkthrough [Full Game Movie - All Cutscenes Longplay] 2024, Julho
Anonim
UCL-lloT-Outdoor-light Disparado ao nascer / pôr do sol
UCL-lloT-Outdoor-light Disparado ao nascer / pôr do sol

Olá a todos! Com um pouco de trabalho, algumas partes e código que eu montei este instrutível que vai mostrar do início ao fim exatamente como produzir essa luz externa. A ideia partiu do meu pai, que durante o verão tinha que sair e trocar de roupa manualmente quando a luz estava acesa. Com a rápida mudança da hora do pôr do sol e do nascer do sol durante todo o ano, ele perguntou se eu poderia encontrar uma maneira automatizada de fazer isso. E assim estamos aqui. Um projeto relativamente pequeno.

Etapa 1: Lista de E / S e o que você precisa

Lista IO e o que você precisa
Lista IO e o que você precisa
Lista IO e o que você precisa
Lista IO e o que você precisa
Lista IO e o que você precisa
Lista IO e o que você precisa

Arduino MEGA 2560. É o que eu usei pelo menos, eu sei que você poderia facilmente usar outro.

DS3231 e sua biblioteca. (https://rinkydinkelectronics.com/library.php?id=73… É importante saber que os pinos definidos para SDA e SCL são diferentes dependendo de qual Arduino você está usando.

I052116 Módulo sensor infravermelho infravermelho do sensor de movimento. Este módulo particular pode ser trocado pelo sensor de sua escolha, é honestamente opcional para a coisa toda.

Etapa 2: fluxograma

Fluxograma
Fluxograma

Conforme visto no fluxograma simples, grande parte do trabalho pesado reside no Node-Red. Com nós relativamente simples, a ideia é que a partir do Node-Red você chegue a um site que sabe a que horas o sol se põe e nasce. Depois de obtê-lo, ele enviará as informações para o Arduino contando-o. Do Arduino obteremos um sinal que indica precisamente quando as luzes estão realmente acesas, para que você possa verificar em sua casa apenas quando as luzes se apagarem. É também do Arduino que obteremos informações de que o sensor de proximidade foi ativado, que mantém a luz acesa por x período de tempo.

Etapa 3: Fritzing

Fritzing
Fritzing

Comparado a outros projetos, o cabeamento é bastante simples aqui. O que você precisa estar ciente é que você precisará de um módulo WIFI para manter contato com o servidor Node-Red ou obter um computador descartável para hospedar o servidor Node-Red que está conectado ao Arduino. Não é mostrada na imagem a conexão entre o Arduino e o laptop, e peço desculpas antecipadamente pela pobre imagem do Fritzing!

Etapa 4: codificação

Codificação
Codificação
Codificação
Codificação

Se há uma coisa que descobri é que com Firmata (para comunicação do Arduino com Node-Red), a biblioteca DS3231 e mais, havia muitas bibliotecas carregadas. No momento da publicação, a codificação ainda não estava concluída, então o pseudo-código foi incluído.

Incluídos na biblioteca do DS3231 estão os pinos predefinidos para cada uma das placas Arduino e, no caso do Mega, são os pinos 20 e 21, pois são os pinos SDA e SCL do mega. Uma vez conectado, o relógio pode ser informado exatamente que dia é e o que deve ser registrado. O que descobri ser mais fácil de trabalhar quando se trata de controlar os números, é usar int em vez de string. O que fiz foi converter os números de uma string em int, mas como int não pode usar: para separar um relógio, decidi fazer outra coisa. Em vez de trabalhar com horas, estaremos trabalhando com minutos. Muitos minutos. Se o relógio for 13:21, por exemplo, terei os primeiros dois dígitos separados e cronometrados com sessenta. Estamos agora em 801 minutos, pois 13 vezes 60 é igual a 780 e você adiciona os últimos 21 minutos. Se nosso Nó-Vermelho diz que o sol se põe às 16:58 (no caso de inverno), fazemos com que as luzes externas acendam entre 1018 minutos e um tempo de desligamento predefinido, que será 1380 (23:00) Se nosso cronômetro estiver entre aqueles, as luzes acendem. A matemática acima é basicamente o programa inteiro, sem as etapas de fazer com que o Node-Red se conecte ao Arduino e se comunique. Terá também um sensor que garante que as luzes se acendam (depois do pôr do sol, pelo menos) será usado, mas fora isso, esse é todo o programa acima.

Etapa 5: Node-Red

Node-Red
Node-Red
Node-Red
Node-Red
Node-Red
Node-Red
Node-Red
Node-Red

Não é um fluxo particularmente grande, não que precise ser neste caso. As primeiras 2 linhas de nós são a maior parte do programa. Usando uma função GET, recuperamos a previsão de hoje sobre como o sol nascerá e se porá. A partir daí, usamos um seletor CSS para recuperar nossas informações específicas, geralmente acessadas em um site "Inspecionar Elementos" em um firefox, conforme indicado nas fotos. Observe que nem todos os sites funcionam assim e o que eu uso funciona perfeitamente assim. A partir daí, ele gravará informações no pino 13 porque é o que eu designei para ser, embora os testes ainda devam ditar se um pino que chega a tempos diferentes é viável. Conforme descrito na parte de codificação, as informações virão do Arduino para o Node-Red, onde serão indicadas em um site acessível onde se pode verificar facilmente. Você precisará do Firmata para isso se desejar usar as funções do Arduino adquirido por meio da biblioteca node-red-node-arduino no Node-Red. Embora ainda não esteja totalmente configurado e seja atualizado quando eu terminar o projeto, anexei o código para o Node-Red Flow em um documento de texto para fácil acesso.

Etapa 6: implantação e uso

Implantação e uso
Implantação e uso

E para finalizar nosso instrutível, é a parte prática. Com poucas casas com este nível de luz automática, uma solução para todo o ano é bem-vinda para muitos proprietários. Para conectar isso com lâmpadas usando eletricidade que não seja um Arduino, não recomendo fazer isso sozinho, a menos que você saiba exatamente o que está fazendo. Com o projeto encerrado, assumirei essa tarefa com a ajuda de um eletricista, apenas para ter certeza. Iluminando a entrada de sua garagem por sensor ou estritamente com base no tempo, recomendo que você prossiga com o que já fiz se você significa realmente colocá-lo em uso além desta fase de teste em que está atualmente. A maioria dos meus problemas com o projeto estava estritamente na parte do Node-Red para o Arduino, e espero ter conseguido explicar o mais claramente possível como isso é feito.

Recomendado: