# AQUARIOFILIA MARINHA > DIY - Faça Você Mesmo >  Coadas +

## Pedro Ferrer

Bom dia

O COADAS PLUS é o meu melhor projecto DIY! 
Começou a ser delineado em Julho de 2010 e a pouco e pouco, passo a passo fui concretizando objectivos.
Quis primeiro que tudo, que fosse um controlador diferente na gestão da iluminação. Esta diferença passa pela gestão lunar, passa igualmente pela gestão solar.
Os cálculos de ambos os ciclos são *reais* fruto da aplicação de algoritmos correctos.
Surpreendido com a capacidade do Arduíno...
Quis controlar bombas doseadoras
Quis enviar SMS
Quis analisar temperaturas
Quis analisar o PH
Quis configurar o Arduino via PC...

Estou a ultimar as últimas funcionalidades do COADAS PLUS. Apesar do projecto ainda não estar fechado, penso que esteja na hora de o apresentar à comunidade.
Logo conto colocar fotos. O vídeo ainda não está feito. Estou à espera de um amigo para fazer uma coisa bem feita.
Deixo-vos uma breve descrição (.pdf) das suas funcionalidades.

Abraço
Pedro Ferrer

----------


## Nuno Prazeres

Para seguir com máximo interesse!

----------


## Ricardo Pinto

Olá Pedro, 

Parabéns por esse "controlador". 

Embora sei que tens partilhado connosco muito do que tens feito, está um bocado disperso pelo teu tópico e torna-se difícil de acompanhar/perceber totalmente a dimensão do teu projecto.

Tal como o Nuno, vou seguir com muito interesse este tópico, onde de certeza vai estar a informação mais sistematizada. Sou muito nabo em DIY, mas se explicares isso em versão para menores de 10 anos (=tótós como eu), até poderei aproveitar algumas ideias para a minha próxima montagem.

----------


## Sérgio Jacinto

Oba oba,

Eu sou fan dos DYI!

Venha venha.... :SbOk: 

Saudações

----------


## Pedro Ferrer

Boa noite

Para já seguem algumas fotos do projecto.

Acerto do relógio


Dia 22.06.2011 é uma 4ª feira...


Mas as fotos foram tiradas no dia 21.06.2011, uma 3ª feira...


Ajuste da latitude de Lisboa


Ajuste da longitude de Lisboa


Vamos ver alguns dados lunares...


Vamos ver as fases lunares...


Vamos ver as próximas fases lunares




Então a próxima Lua Cheia é dia 15.07.2011...


Então no dia 21.06.2011...


A percentagem de iluminação da lua era de 65%


E o ciclo lunar estava no seu 20º dia...


Vamos agora ver alguns dados solares...


Do dia 21.06.2011 especificamente...




Hora do Nascer do SOl


Hora do Meio dia solar


Hora do Por do Sol


Comprimento do dia


Segue...

----------


## Pedro Ferrer

continua...



Ajuste da retro-iluminação do LCD


Hoje estamos em 'Lua Crescente' e a percentagem de iluminação real é cerca de 7%, mas como a moonlight está definida (2-10%) como sendo 10% do máximo dos leds azuis, os 10% só serão atingidos na fase lunar 'Lua Cheia' 


Reparem no comprimento dos dias... hoje dia 27.06.2011, o comprimento do dia é de 14:51:55h, no dia 27.12.2011 é de apenas 09:28:11h, a fase lunar é 'Lua Nova' e estará no seu 3º dia de lunação, com cerca de 10% de iluminação (valor real).



Como funciona o algoritmo de controlo dos leds?
Bom, podia ter optado por definir que os 100% dos leds brancos, seria no solstício de Verão, que é quando o sol está no ponto mais alto...
Mas não... pois em Dezembro por exemplo, teria as cerca de 9h de iluminação, mas também com fraca intensidade...
Optei assim por definir que os 100% de leds brancos, seriam atingidos diariamente ao meio-dia solar... onde o tempo de exposição solar, será diferente... 
A exposição solar é adaptativa ao longo do ano... o amanhecer, o anoitecer são assim dinâmicos...

A rampa dos leds azuis é definida pelo utilizador. Defini que os leds azuis acenderiam 30 minutos antes do amanhecer (seja a que hora for...) e 30 minutos depois do anoitecer (seja a que hora for...)
De facto, se reparem bem, antes do anoitecer, surge uma luz mais azulada, e o mesmo se passa nos cerca de 30 minutos seguintes ao anoitecer...
Experimentem amanhã... amanhece às 06:13:57 e anoitece às 21:05:31...
Iremos ter luz sensivelmente a partir as 05:45 e até sensivelmente às 21:35.

Mais, o horário é adaptativo à minha programação... ou seja, eu defino que quero acender as luzes às 20h... consoante os cálculos do amanhecer, a luzes ao longo do ano, poderão acender antes ou depois das 20h...de forma dinâmica!

Abraço
Pedro Ferrer

----------


## Nuno Prazeres

Boas Pedro.
Nem tenho palavras... :yb677: 

Relativamente a upgrades posso sugerir teres uma ou mais sondas de temperatura nos dissipadores dos leds para que em caso de sobreaquecimento cortem a corrente ou a reduzam substancialmente?
As ventoinhas tendem a ter menor vida útil que os leds. Em 2 anos já queimei uma na mini calha que tenho na sump e o dissipador ficou quente a valer. Se fosse num período de ausência prolongada acho que teria queimado algum led.
Outra coisa possível é teres um contador de tempo acumulado para cada linha de leds. Ao longo dos anos ias saber qual a percentagem de vida útil já consumida e estimavas a data de fim de vida.

Abraço e como dizem no anúncio: manda vir mais!

----------


## Hugo Figueiredo

> Tal como o Nuno, vou seguir com muito interesse este tópico, onde de certeza vai estar a informação mais sistematizada. Sou muito nabo em DIY, mas se explicares isso em versão para menores de 10 anos (=tótós como eu), até poderei aproveitar algumas ideias para a minha próxima montagem.


X2
Confesso que o que me interessa mais, é precisamente o que está depois da iluminação, mas vou estar atento aos desenvolvimentos dos doseadores, bombas e etc...!!!

Parabéns Pedro!!!  :tutasla:

----------


## Rui Manuel Gaspar

Boas  :Olá: ,

Pronto ... lá vais pôr-me a gastar dinheiro.

Livra ...

Abraços,

----------


## António Vitor

Pedro, muito bom mesmo!
 :Smile: 
O arduino só não faz cozinhados!
HEHE!

5 estrelas!

----------


## Nuno Prazeres

Desculpa!
Se o usares como temporizador para ligar o micro-ondas até faz.

A mim disseram-me que só valeria a pena se tirasse imperiais. 
Nada mais simples. Basta um servo motor a puxar o braço da imperial acionado via pwm e um detector de nível no copo. Lol! :SbBiere5:  :SbBiere5:  :SbBiere5:

----------


## António Vitor

> continua...
> 
> 
> 
> Ajuste da retro-iluminação do LCD
> 
> 
> Hoje estamos em 'Lua Crescente' e a percentagem de iluminação real é cerca de 7%, mas como a moonlight está definida (2-10%) como sendo 10% do máximo dos leds azuis, os 10% só serão atingidos na fase lunar 'Lua Cheia' 
> 
> ...


Azul ao anoitecer?
pensava que era ao contrário
cá por mim é por termos a retina muito mais sensivel ao verde e talvez menos ao vermelho que ao azul, e como temos menos luz, parece que é mais azul...digo eu...
segundo estes:
Color temperature - Wikipedia, the free encyclopedia

a luz do luar é de 4200k...
 :Big Grin: 
mais amarela que os xm-l.

----------


## AntónioAfonso

Olá Pedro 
Só tenho a agradecer a partilha deste DIY , o Antonio Vitor também é mestre do Arduino.
Vou seguir atento ao desenrolar desta montagem, e talvez ganhe coragem para fazer uma brincadeira destas .
um abraço

----------


## Bruno JR Silva

Eu acho que devíamos proibir o Pedro e o António (entre outros) de postarem estas coisas por aqui, principalmente porque não faço ideia de como fazer 99% do que eles falam...  :Big Grin:

----------


## António Vitor

> Olá Pedro 
> Só tenho a agradecer a partilha deste DIY , o Antonio Vitor também é mestre do Arduino.
> Vou seguir atento ao desenrolar desta montagem, e talvez ganhe coragem para fazer uma brincadeira destas .
> um abraço


Diria que sou mais anarquico que o Pedro, ele é mais organizado, nota-se nos diy que ele faz...
hehe

----------


## António Vitor

> Desculpa!
> Se o usares como temporizador para ligar o micro-ondas até faz.
> 
> A mim disseram-me que só valeria a pena se tirasse imperiais. 
> Nada mais simples. Basta um servo motor a puxar o braço da imperial acionado via pwm e um detector de nível no copo. Lol!


lol...

----------


## António Vitor

> Eu acho que devíamos proibir o Pedro e o António (entre outros) de postarem estas coisas por aqui, principalmente porque não faço ideia de como fazer 99% do que eles falam...


Acredita que é mais simples do que parece...

eu era daqueles alunos mediocres que não gostavam de pensar, queria era jogar á bola...mas como não tinha lá grande jeito...

Diria que o exercicio promove a redução da dor, no pensamento...

Programar, é um dos exercicios melhores para a mente, faz-me dor de cabeça...e eu se calhar até gosto...
 :Big Grin: 

por isso tenho a programação do meu parado até ás minhas férias...
aí que dor!

----------


## Pedro Ferrer

Boa noite

Antes de mais obrigado pelas vossas participações.




> teres uma ou mais sondas de temperatura nos dissipadores dos leds para que em caso de sobreaquecimento cortem a corrente ou a reduzam substancialmente?
> (...)
> Outra coisa possível é teres um contador de tempo acumulado para cada linha de leds.


Tenho uma sonda de temperatura no dissipador, por carolice, vou aproveita-la para isso.
Um contador de horas de utilização, claro!
Obrigado pelas dicas.




> Pronto ... lá vais pôr-me a gastar dinheiro.


Boa noite Rui! Então porquê!?





> O arduino só não faz cozinhados!


Não sei se a Bimbi não trabalha com um arduino...





> Azul ao anoitecer?
> pensava que era ao contrário
> (...)
> a luz do luar é de 4200k...
> 
> mais amarela que os xm-l.


Sim, de acordo... mas repara na luz que existe no céu *antes* do amanhecer e *depois* do anoitecer... 
Isso que referes é *durante* o amanhecer e *durante* o anoitecer...




> Vou seguir atento ao desenrolar desta montagem, e talvez ganhe coragem para fazer uma brincadeira destas .


António, a idade não é barreira! Já sabemos disso!




> não faço ideia de como fazer 99% do que eles falam...


Não faz mal... eu antes de começar o projecto, também não fazia ideia de como o fazer, assim de forma concreta...

Abraço
Pedro Ferrer

----------


## António Vitor

> Não faz mal... eu antes de começar o projecto, também não fazia ideia de como o fazer, assim de forma concreta...
> 
> Abraço
> Pedro Ferrer


Era como eu...
acho que até me pedistes ajuda, e eu lembro-me que não pescavas nada daquilo...tal como eu...
 :Big Grin: 
aliás acho que ainda não pesco, se virem o código do meu até faz rir um morto...
é como o DNA, tem lá lixo que eu não sei para que serve, nas etapas evolutivas do programa...
Se eu o tiro deixa de funcionar...
 :Big Grin:

----------


## Rui Manuel Gaspar

Boas  :Olá: ,

Porquê????

Bem ... Estou contente com o meu PrimoCoadas ... mas é muito grande e extremamente limitado. Nem sequer a iluminação estou a controlar.

Estava a pensar em maneiras de expandir aquilo ao mesmo tempo que reduzir o tamanho da caixa que lá tenho.

Dado que quero construír uma calha nova pois a minha para além de mal está com balastros de 54w para lâmpadas de 39w estava a pensar construir uma calha com 4x 39 dimmable + 2 projectores PAR38 com lentes de 80º (ou então integrar eu esses LEDS na calha)

Assim, acho que conseguia não só reproduzir tudo o que tenho no PRIMO como também colocar a iluminação e vou estar a acompanhar este teu projecto.

Podes começar por dizer qual o melhor arduíno e módulos adicionais para começar a fazer lista de compras. que tal???

Abraços,

----------


## Pedro Ferrer

Boa tarde Rui




> Podes começar por dizer qual o melhor arduíno e módulos adicionais para começar a fazer lista de compras. que tal???


Material:
1x Arduino Mega...
1x LCD 16x2 ou 20x4...(para começar)
1x RTC - Real Time Clock

Opcionais
1x pack de jump wires
1x screw shield

Nada de mais... para as tuas necessidades.

Abraço
Pedro Ferrer

----------


## Rui Manuel Gaspar

Boas  :Olá: ,

Para as minhas necessidades? 
* não te esqueças de temperatura, níveis, pH, iluminação, etc ...

Já agora de onde é que mandaste vir?

No teu projecto, estás a contemplar a calibração de sondas?

Abraços,

----------


## Pedro Ferrer

Boa tarde




> No teu projecto, estás a contemplar a calibração de sondas?


Claro! Calibração da sonda de PH e bombas doseadoras...
Logo espero colocar um pequeno filme demo, no fundo, é um simulador que criei para visualizar o comportamento do Arduino.

Abraço
Pedro Ferrer

----------


## Rui Manuel Gaspar

Boas  :Olá: ,

não te esqueças da de temperatura!


Já lhe mudavas mas era o nome não???? é que ísso já é muito mais que um Centro Operacional Aguas .... (não me lembro do resto! Desculpa)

Abraço,

----------


## Pedro Ferrer

Boa tarde

COADAS - *C*entro *O*peracional de *Á*gua *D*oce e *Á*gua *S*algada

O actual projecto ainda esteve para se chamar CODINO - *C*entro *O*peracional *d*e *I*luminação *Di*urna e *No*cturna

mas depois cresceu noutras vertentes... :Smile:  e COADAS já é um nome 'comercial'...

Abraço
Pedro Ferrer

----------


## Pedro Ferrer

Boa tarde Hugo

Mas para que queres uma onda completa? A parte negativa da mesma na iluminação não a usas...
Eu pelo menos não uso...
O intervalo representado é de 5 minutos... ou seja, o máximo da onda é atingido aos 2:30 minutos... certo?

As rampas 'Sinusoidal' e 'Linear' já existiam.
Agora apenas adicionei o parâmetro que permite manter a iluminação mais tempo no setpoint pretendido.

Abraço
Pedro Ferrer

----------


## Hugo Figueiredo

Como não usas a onda toda?  :Admirado: 

Eu não sou especialista em trignometria, mas tenho ideia que a onda sinusoide (que deriva do seno) vai de 0 até 2pi. Isto é que é a onda completa e não de 0 a até pi, que é o que me parece qu estás a representar! Confere o gráfico:


De 0 até pi, lá está, tende a ser uma parábola (nem sei mesmo se não será uma parábola perfeita)!

A onda que o sol faz é equivalente a uma sinusoide (ou 2 meias sinusoides, para ser mais preciso), não meia sinusoide!

Isto é a representaçao gráfica da função seno (onda sinusoide), aqui a vermelho:


Isto é representação do sol (na latitude 0 - Equador):


E o que tu estás a fazer (parece-me a mim, não sei) é uma onda de 0 a pi, que é meio seno ou meia onda sinusoide!


Eu estou a usar uma sinusoide completa das 4pm às 4am, ou seja de -pi/2 até 3pi/2...
Parece-me que é isso que devemos usar para tentar representar o sol, mas como referi, não sou especialista nisto!  :Admirado:

----------


## Pedro Ferrer

Boa tarde Hugo

Percebo o que queres dizer, mas não noto diferenças significativas entre as 2 curvas...



Abraço
Pedro Ferrer

----------


## Hugo Figueiredo

Então não percebeste o que quis dizer... :SbSourire2: 

Entre essas 2 que aí colocas não há diferença nenhuma, mas porque é que cortaste a do sol?
É que aí já começas o ciclo com 200 (m-2 s-1) , quando o ciclo deve começar em 0 e terminar em 0

Continua-me a parecer que estás a fazer uma parábola quando deverias ter uma sinusoide... :Admirado:

----------


## Pedro Ferrer

Mas estás a falar desta passagem no filme?

----------


## Hugo Figueiredo

Sim por exemplo! Ou mesmo na que vai até 100% que colocaste agora mesmo!
Isso não é uma sinusoide!

Mas lá está pode ser visualmente, por isso perguntei se no real seria diferente...
Que formula está a utilizar? Aí tira-se já todas as dúvidas!

----------


## Pedro Ferrer

Bom... esta última imagem demonstra o setpoint de iluminação máximo nos 60%...

Fórmula:




> Y = A.SIN(Bx + C) + D


PI = 3.1415
TempoSolSeg=300 (5 minutos em segundos...)

A = ProgElevacaoMaxSol
B = PI / TempoSolSeg
C = -PI/ 2
y = a * Sin(B * x + c)

Podes aceder ao meu ficheiro *.xls de teste
http://www.mediafire.com/?b7orvons2q5ac

Abraço
Pedro Ferrer

----------


## Hugo Figueiredo

Pois, não podes usar a função seno assim diretamente para o caso que a queremos!
Eu agora não posso mas mais logo já te adapto a formula :Olá:

----------


## Hugo Figueiredo

Ora bem, a formula que eu uso é a seguinte:



> (C/2)*(SIN(((A*2*PI())/(B))-(PI()/2)))+(C/2)


Onde,
A --> Segundo que vai avançando ao longo do ciclo.
B --> Ciclo pretendido em segundos (43200 é o que uso para um ciclo de 12 horas).
C --> Máximo PWM pretendido (255 para usar os leds a 100%).

Esta é a representação gráfica desta formula (com os brancos e azuis como os tenho de momento):



Como podes ver é uma sinusoide completa (ou 2 meias sinusoides  :Coradoeolhos: )

Pedro, se queres replicar a quantidade e intensidade de luz do sol ao longo de um dia, tens de alterar isso. :SbOk:

----------


## JoaoCAlves

Boas.

O que te falta na formula Pedro é o Offset!

Que representas na tua formula por "D".

Se não aplicares offset, a onda forma-se em volta do zero, sendo que metade é positiva, metade negativa.

Valores negativos não servem para ser representados em PWM.

Logo, resta-te desfazar a onda de forma a que o topo negativo passe a ser 0.

resumindo, queres apilcar offset de 128.

Mas como o maximo é de 255, já não podes dizer que a amplitude é 255, daí o "C/2" na formula que o Hugo apresentou.

Se não aplicasses "C/2", ficavas no topo com 128 + 255, o que sairia fora do maximo do pwm.

 :Wink:

----------


## Pedro Ferrer

Boa noite

Bom... depois de me acalmar, acho que já percebi o que me estão a transmitir!
Olhando para a imagem que o Hugo colocou com a representação da onda do Equador, percebo que apenas estou a trabalhar do 200 para cima, não representando assim a verdadeira onda.
A fórmula que me apresentam, espelha como resultado, o mesmo aspecto na sua totalidade entre esse mesmo gráfico e o gráfico personalizado do Hugo.

Resta-me agradecer a vossa atenção e colaboração.
Amanhã tento implementar.

Abraco
Pedro Ferrer

----------


## Pedro Ferrer

Bom dia

Junto segue novo filme com correcção do algoritmo de cálculo da onda sinusoidal.

Obrigado uma vez mais à disponibilidade do Hugo e do João pela forma como me elucidaram.
De início não percebi, mas devido à persistência do Hugo e complementaridade do João, lá percebi!




Pior do que errar, é não reconhecer um erro!

Obrigado
Abraço
Pedro Ferrer

----------


## Hugo Figueiredo

Categoria!!! :tutasla:

----------


## Pedro Ferrer

Boa tarde

Como referi, já há vários meses que não mexia no projecto...
Recordo-me que da última vez que mexi, estava à volta do bloco de tomadas (8, que o 'Rui Manuel Gaspar' já teve a oportunidade de ver)... e a 'Bomba de retorno' desligava-se quando eu em modo manual via COADAS, a mandava ligar (Man -> ON)...

Na altura pensei: -"Tenho asneira no código!..."

Com o módulo de IO's mostrado no filme, é possível perceber porquê...  :Smile:  e como solucionar...

Estava mesmo a precisar de descansar do projecto  :Smile: 




Abraço
Pedro Ferrer

----------


## Pedro Ferrer

Boa noite

Junto segue mais uma evolução/implementação de funcionalidade do COADAS - Consulta de temporizadores




Abraço
Pedro Ferrer

----------


## Pedro Ferrer

Boa noite

Mais uma evolução no COADAS+.
Consulta de tabela de IO's




Abraço
Pedro Ferrer

----------

