Resultados 1 a 25 de 46

Tópico: Controlador digital DIY com LCD para calhas de LEDs

Visão do Encadeamento

  1. #1
    Lojista Avatar de Baltasar Parreira
    Data de Ingresso
    28-09-05
    Localização
    Quinta da Beloura
    Idade
    49
    Posts
    706

    Controlador digital DIY com LCD para calhas de LEDs

    Vou deixar aqui reunido em um só post todas as etapas e a variada informação que tenho sobre a construção do meu controlador digital para controlar as minhas calhas DIY de LED's (http://www.reefforum.net/156586-post1.html).

    1-PARTE (O surgimento da ideia)

    Após ter visto o novo controlador da TMC (Tropical Marine Centre) para as suas calhas de LED que podem ver aqui:
    AquaRay Lighting Controller

    levou-me a pensar que seria simples fazer algo igual ou melhor e que me vai permitir controlar as calhas para alem do simples liga e desliga como estão a funcionar agora, mas sim ter as possibilidades já planeadas em tempos para ter uma simulação no ligar do nascer do sol e no desligar do por do sol e até talvez quem saiba umas tempestades ou passagens de nuvens aleatórias... eheheh ; )

    Ora no meu caso como fiz 3 calhas terei de ter 3 canais e cada um com possibilidade de programação independente para ligar e desligar, etc. mas para já vou só indicar o hardware que vou usar inicialmente e a pouco e pouco vou colocando aqui o desenvolvimento e evolução de todo o projecto.


    1 x Arduino (mini board com microcontrolador/microprocessador programável por USB para desenvolvimento de pequenos projectos electrónicos)

    1 x LCD azul com backlight com interface e botões de navegação (menus) para o Arduino


    Aqui fica umas fotos dos referidos componentes.

    Board Arduino e o respectivo LCD:



    2-PARTE (Brainstorming sobre as funcionalidades básicas)

    Após terem chegado os componentes à cerca de uma semana já avancei um pouco com a programação e tenho alguns resultados já a funcionar, embora ainda sem menus e sem ter a saída do controlador ligada as calhas de LEDs pois falta criar os circuitos "Drivers" que vão aceitar os sinais PWM saídos do Arduino para controlo e dim de cada calha.

    Estou a pensar poder-se fazer a programação em 4 modos dentro das 24 horas de um dia, ou seja algo assim:

    Sunrise: programável para X horas de start com duração de 15m a 30m (ainda não sei bem) em que arranca os azuis a 5% e em incrementos de X em X minutos salta outros 5% durante Y tempo que como disse tenho de pensar, ao fim desse tempo arrancam os brancos também com incrementos semelhantes de forma que talvez ao fim de total de 1 hora ou mais estejam ambas as calhas brancas e a azul a 100%.

    Day: este modo será o modo normal que aparece assim que o ciclo de "Sunrise" termine ficando as 3 calhas a 100% como referi.

    Sunset: também programável para X horas de start e com decréscimo de X em X muito semelhante ao "Sunrise" mas até ficar as brancas em 0% e a azul num mínimo talvez de 5%.

    Night: modo depois de terminar o ciclo de "Sunset" que servirá tipo moonlight com a percentagem possível mínima só a calha azul ligada.


    Talvez ainda coloque um quinto modo e nesse caso o "Night" passa a "Moonlight" e o novo "Night" será mesmo tudo a 0% ou seja apagado.
    Ainda também tenho duvidas se fará sentido as programações de start e stop serem sempre repetidas ou ter a possibilidade de ter X diferentes por cada dia da semana, humm geralmente durante uma semana o dia e noite começa sempre a mesma hora hehehe, tirando a mudança das estacões que mexe nisso, humm não me parece que os nossos habitantes aquáticos vão ligar muito a isso não? Os expertes que comentem nesta e outras hipóteses.

    A ideia é (pois para ja ainda está fixo) poder-se através dos menus programar com os tempos que se quer e percentagens de azul e branco por cada um dos modos bem como os incrementos e duração total de cada modo, principalmente para "Sunrise", "Sunset" e "Moonlight" se vier a ter.

    Ficam aqui umas imagens da board Arduino com o LCD já montado e a ligação ao RTC (Real Time Clock) que alimentado por uma pequena pilha tipo relógio contem sempre a hora e datas certas mesmo que falte a electricidade.

    Bem como já referi aceito comentários e ideias que possam melhorar ou até corrigir esta minha ideia inicial e agora ficam então algumas fotos.

    Board RTC (Real Time Clock) - vista do lado dos componentes e do lado da pequena bateria de 3V para backup:


    (Fotos do site original, pois a minha veio com o circuito impresso vermelho)


    Arduino com o LCD e ligação ao RTC (notar que o ciclo a correr é o "Night" devido +/- à hora corrente deste post ):



    3-PARTE (Depois de vários dias de programação)

    Ok após umas semanitas de programação em Arduino aqui está uns moviesitos com o resultado já um pouco funcional embora ainda não totalmente terminado.


    Passagem pelos menus e programação para a hora de arranque que se quer iniciar o ciclo "Sunrise" e a respectiva duração que se quer esse ciclo, neste exemplo e para andar um pouco mais rápido coloquei o mínimo aceitável que é de 10m, mas pode ir até um máximo de 120m, duas horas portanto. Hummm... como referi no post anterior, se alguém tem ideias para melhorar isto ou ter outro tipo de funcionalidades que diga alguma coisa.
    Yutube movie 1

    Aqui neste outro movie já se vê o ciclo de "Sunrise" a chegar ao fim e após tanto os azuis (B= no LCD) como os brancos (W= no LCD) terem chegado a intensidade máxima de 100% entra no modo normal diurno "Day" onde permanecera até a hora programada para o modo "Sunset" para começar este novo ciclo diminuindo os azuis e brancos ate 0%, eheheh fase esta ainda por implementar.
    Yutube movie 2


    Depois de ter todo o código Arduino 100% funcional, será somente criar o circuito electrónico "DRIVER" para os leds e assim ter o controle da intensidade dos mesmos em função das saídas do Arduino.


    Espero que gostem e realmente venham criticas construtivas.


    4-PARTE (Mais programação)

    Depois de mais uns longos dias e horas de programacao eis que dou como terminado a parte do coracao do controlador de LEDs que tirando um(s) novo(s) modo(s) que ainda estou com duvidas se faz sentido implementar ou não, tudo o resto a nível de programação do Arduino está pronto e passo a descrever as funcionalidades finais implementadas.

    Dentro do menu principal, temos isto:



    Set Clock


    - Para acertar o relógio, horas, minutos e segundos sempre zerados sempre que se entra mas aceita valor especifico também tal como as horas e minutos. A ideia de ter os segundos a zero sempre que se entra é porque assim se torna mais fácil para sincronizar com outros relógios ehhehe, é só esperar que o próximo minuto caia "save" e já esta com o clock igual ao por onde se estava a acertar eheheh.

    Set Date


    - Para acertar a data com o dia, mes e ano. Esta parte não faz muito sentido para já a não ser que os tais modos adicionais sejam implementados pois não influencia em nada os modos actuais, mas assim pelo menos temos a data certa para os mais rigorosos ehhehe.

    Set Sunrise


    - Onde se coloca a que hora e minutos se quer que arranca o ciclo do nascer do sol, bem como a duração que se quer para o mesmo em minutos desde um mínimo de 1m ate 120m máximo.

    Set Sunset


    - Tal como o anterior mas desta vez para colocar a hora de arranque do ciclo do por do sol. Também com as mesmas características de duração, etc. como o anterior.

    Set Moonlight


    - Possibilidade de especificar se queremos moonlight com duração de 1 a 12 horas ou mesmo off e a intensidade que se quer para os leds azuis durante esse período de 1% a 50% máximo.

    LCD Options


    - Possibilidade de especificar se queremos um timeout para desligar o LCD desde off até 60m e a intensidade da iluminação (backlight) do mesmo desde 10% até 100%.


    Funcionalidades de cada modo:

    Sunrise - Ao chegar ao horário programado para este modo o controlador liga e incrementa a intensidade dos leds até 100% durante o tempo especificado no menu da seguinte forma:

    azuis, 0 aos 100% 3 x mais rápido que a duração definida
    brancos, 0 aos 100% para a duração definida no setup.


    Day - Modo normal em que tanto os leds azuis como brancos estão com a sua intensidade a 100% até chegar o horário programado para desligar (modo "Sunset").

    Sunset - Tal como no modo "Sunrise" ao chegar ao horário programado para este modo o controlador inicia o processo de decrementar a intensidade dos leds até 0% consoante a duração estipulada no menu de setup da seguinte forma:

    azuis, 0 os 100% para a duração definida no setup.
    brancos, 0 aos 100% 3 x mais rápido que a duração definida.


    NOTA: Caso o modo "Moonlight" não esteja a off no setup a diminuição da intensidade dos azuis pára no valor especificado de intensidade para "Moonlight" nunca chegando ao zero mesmo.

    Moon - Após o termino do ciclo anterior e caso este modo não esteja off, os azuis permanecem ligados com a intensidade e duração especificada no setup.

    Off - Após ter terminado o modo "Sunset" se o modo "Moonlight" está a off, ou então após ter terminado o modo "Moonlight".


    Funcionalidades do LCD:

    Tecla "Up" comuta alternadamente a visualização de ou horário ou a data.


    Tecla "Select" entra no menu de setup referido no inicio do post, onde depois com as teclas "Left" e "Right" se navega e novamente com a tecla "Select" se entra nos diversos menus e se faz Save ou Exit para ajuste dos diversos parâmetros.

    NOTA: O LCD caso especificado algum valor de timeout no setup e não a off e nenhuma tecla pressionada , faz fade da luz de backlight até se desligar decorrido o tempo especificado para timeout. Qualquer tecla pressionada reseta este tempo e volta a colocar o LCD ON com a intensidade de luz backlight no valor também especificado no setup "LCD Options".
    O LCD apresenta a sua luz "backlight" sempre com a intensidade especificada no setup.



    Funcionalidade de power failure:


    - O sistema possui uma pequena bateria para manter todos os dados guardados até 9 anos, dai que em caso de falha de corrente e tambem a primeira vez que se liga aparece um icon a piscar no ecrã que indica que houve um corte de energia. Esse icon desaparece ao pressionar qualquer tecla.


    Possíveis novas funcionalidades a implementar (algumas ideias no ar, embora não ache importante a não ser que se queira ser mais rigoroso na simulação das coisas tal como acontece na natureza real):

    Modo Clouds: Ou seja simulador de nuvens/tempestade, este modo caso ligado, gera aleatoriamente um enfraquecimento temporário da intensidade dos leds ate um valor mínimo de intensidade especificado no menu talvez de 50% e durante X vezes por cada hora/dia (ainda não sei) também especificado no menu.

    Modo Year Calendar: É aqui que faz sentido utilizar a data, que quando este modo ligado ele sabe as estacões do ano em virtude do mes/data em que se esta e pode para o modo "Clouds" ou outro influenciar a intensidade dos leds de alguma forma, ou ate para o modo "Moonlight" fazer umas variações da intensidade de como um ciclo lunar se trata-se.



    Espero que gostem da ideia, pois acho que não existe assim nada com estas capacidades e possibilidades de configurar ao gosto pessoal de cada um, mesmo comercialmente nas marcas XPTO que tenho visto.
    Volto a pedir sugestões ou ideias e se acham que tudo ou algumas das funcionalidades são parte ou totalmente idiotas ehhehe...


    Volto em breve assim que a parte electrónica que vai controlar os leds estiver terminada, mas ainda tenho testes a fazer com alguns dos circuitos pensados etc.


    4-PARTE (Esquema electrónico do driver que controla os LEDs)

    O projecto está finalizado embora com alguns bugs mínimos em termos do software programado no microprocessador (Arduino) mas funcional logo estando a funcionar já com leds na bancada de testes.

    Quando ao circuito "driver" que vai ligar o Arduino aos LEDs fica aqui um esquema, mas é simples e basicamente um MOSFET que em função do sinal PWM saído do Arduino faz passar mais ou menos corrente para o canal azul ou branco dos leds, variando assim a sua intensidade de apagado (0%) ate máximo (100%) e vice-versa.


    Em breve farei um filme com isto a funcionar na bancada para verem um pouco o efeito final e principalmente o efeito do modo nuvens aleatorias (Clouds) por piada mesmo, eheheh.
    Última edição por Baltasar Parreira; 29-01-10 às 01:21.

Informações de Tópico

Utilizadores Navegando neste Tópico

Há 1 Membros navegando neste tópico. (0 registrados e 1 visitantes)

Tópicos Similares

  1. Plâncton vivo/inerte - Gorgónias/Corais Não Fotossintéticos
    Por Pedro Nuno Ferreira no fórum Discussão de Artigos
    Respostas: 30
    Último Post: 24-10-07, 19:50
  2. Adição de "Trace elements"
    Por José Passos Campainha no fórum Discussão Geral, Técnica e Equipamento
    Respostas: 34
    Último Post: 16-05-07, 05:26
  3. Sistema de Jaubert I e II.
    Por Alex Correa no fórum Discussão de Artigos
    Respostas: 0
    Último Post: 26-02-05, 00:20
  4. Composicao de ASW
    Por Roberto Pacheco no fórum Discussão de Artigos
    Respostas: 3
    Último Post: 18-09-04, 06:30
  5. Artigo sobre iluminação da reefkeeping
    Por Daniel Teixeira no fórum Discussão de Artigos
    Respostas: 2
    Último Post: 16-09-04, 13:30

Tags para este Tópico

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • Você não pode enviar respostas
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •