Problemas com relé

criei minha forma, criei a variavel seg e de 0 a 10 imprime uma coisa e no final coloquei seg++; entao de 11 a 21 imprime outra e por ai vai, quando passa eu criei um seg = 0 e recomeça tudo denovo... funcionou legal....

:slight_smile:

Está tudo a funcionar como deve ser agora?

Aparantemente sim, como falei não consegui criar mais de duas paginas de impressão com seu modo, então fiz com um contador... não sei se é a melhor forma ou se isto irá me trazer problemas...
esta semana faço o vídeo para vocês

Com um contador também funciona...

Aliás, pensando bem... como tens um RTC e estás a sincronizar a hora de X em X tempo, podes até usar isso para ir mudando a informação que mostras no ecrã.

Parabéns pelo projecto conseguido, é sempre bom ver algo que fazemos funcionar. Eu notei agora que meti os pés pelas mãos ao comprar um LCD shield que não é compatível com o Ethernet shield. :frowning: Enfim... vou mesmo ter de pegar no ferro de soldar.

Mete fotos e vídeos para a gente se babar. :slight_smile:

Parabéns por a tua dedicação ao teu projecto. Sabe bem ver tudo a funcionar e da uma enorme satisfação veres que conseguiste o que pretendias e que um grande projecto agora se tornou simples

Pessoal primeiramente gostaria de agradecer vocês dois. Não teria conseguido sem voces.
segue o link do vídeo como prometido...

vou deixar isto rolando por alguns dias e ver se da algum problema.... ja encomendei uma caixa plastica de 12x10x6 que deve chegar em um mês e então vou ligar o sistema real.... Próxima etapa quero um ethernet shield para colocar estes dados na internet.
também quero adicionar no sistema um sistema de dosagem de quimicos no aquario, bem como controlar a temperatura do dissipador da luminária led.
o que acharam?

bubulindo, segundo o script que vc me passou em relação aos estados (ligado, desligado) como posso substituir eles por caracteres especiais? ja montei eles, e montei tambem para temperatura e relogio que ja estão funcionando... ficou bem legal.
para imprimir eles no lcd se usa o comando lcd.write(1); o 1 eu relacionei a um caracter, porém quando eu tento substituir diretamente pelo ligado por exemplo e envio o sketch para o arduino ele trava...

outra situação é, criei vários caracteres.... tem como eu criar um arquivo a parte e gravar na biblioteca? porque encheu o arquivo de caracteres especiais.

Gostei do vídeo. Acho que podias escrever Aquecedor e Refrigerador para ficar mais "bonito".

Define caracteres especiais? Será algo assim:

Tens um pedaço de código para eu entender o que está a acontecer e travar o sistema?

Como assim, um arquivo à parte? O que é para ti um arquivo? Referes-te a criar isso num ficheiro para poderes usar quando quiseres sem teres de ter isso no ficheiro de código do Arduino?

Quanto às tuas sugestões... Meter os dados na internet é bacano. Eu estou a pensar algo assim para a minha casa nova. :slight_smile: Não será muito difícil creio. :slight_smile:

Já regular a dosagem dos químicos é que não acho tão simples de fazer ou aconselhável, apenas porque podes matar os peixitos.

Como assim controlar a temperatura do dissipador da luminária? :\

isto mesmo, ja criei o character, vamos utilizar o exemplo da página porque não tenho o meu aqui em mãos:
byte smiley[8] = {
B00000,
B10001,
B00000,
B00000,
B10001,
B01110,
B00000,
};

void setup() {
lcd.createChar(0, smiley);
}

agora basta eu colocar lcd.write(0); que imprime...
mas quro que substitua o off:
const char estados[2][10] = {"ON ", "OFF"};
assim const char estados[2][10] = {"ON ", smiley};

quanto ao ficheiro, correto, bem isto que quero....
tipo não sei se funciona assim mas criar um ficheiro simbolos.h
e no principal escrever
#include <simbolos.h> para carregar ele....
quanto a colocar dados na internet o site exosite.com acho que faz isto não? teria outra indicação?
quanto a controlar os químicos ja existem pessoas fazendo isto e tambem o sistema pronto... basicamente eu tenho que controlar o tempo de funcionamento da bomba com o arduino para que ela dose certo.... a bomba se chama bomba peristáltica
controlar a temperatura da luminária porque o ventilador que refrigera o dissipador faz um pouco de barulho e a maior parte do tempo pode funcionar a 20% de sua capacidade.. então quero criar algo que, se tiver a determinada temperatura, ele funciona a 20% se aumentar a temperatura do dissipador, aumenta a velocidade do ventilador para 40% e por ai vai... se chegar numa temperatura critica desarma a luminária para que nada se queime... por exemplo, rompeu o fio do ventilador ou o mesmo não funciona, temperatura da luminaria aumenta sem parar e queimam os leds...., entao o arduino desligara a luminaria antes que isto aconteça.... estou pensando em colocar um lm35 colado no aluminio do dissipador juntamente com um isolante térmico para a temperatura externa não atrapalhar a leitura....

Cria o ficheiro símbolos.h.

Lá dentro cria a tua variável:

extern char smiley[8] = {
  0B00000,
  0B10001,
  0B00000,
  0B00000,
  0B10001,
  0B01110,
  0B00000,
};

extern char smileyToo[8] = {
  0B00000,
  0B10001,
  0B00000,
  0B00000,
  0B10001,
  0B01110,
  0B00000,
};

Coloca o ficheiro simbolos.h no directorio Arduino\libraries\simbolos. Vais ter de criar o directorio simbolos e provavelmente o directorio libraries.

Sai da IDE.

Volta a entrar.

Vai a Sketch-> Import Libray -> simbolos.

Há-de aparecer o tal include...

Depois usa as variáveis normalmente no teu código.

Eu usei a pachu.be. Eles já têm uma biblioteca para usar com o Arduino. É simples.

Esse controlo que pretendes chama-se PID... daí eu ter perguntado se a ventoínha era de 12V ou de 230... se for de 12V, podes arranjar uma ponte H (não é preciso tanto) ou um driver de motores tipo um transistor Darlington por exemplo, e controlar a velocidade da ventoínha por PWM. :slight_smile:

Infelizmente venho comunicar a voces que estou com os problemas iniciais
Liguei o arduino nos perifericos do aquario, por enquanto a luz e o aquecedor.
Apenas o arduino ligado funciona perfeito mas quando entro com a rede 220v da erro na leitura do sensor de temperatura, como foi criado a trava de erro de leitura, ele fica travando e dando erro de leitura alem de leituras de mais de 100 graus.... também acontece de zerar o relogio e retornar, interferencias no lcd....
me parece que os fios do 220v esta criando um campo que interfere o arduino, fechei tudo dentro de uma caixa elétrica e ficou dando esse problema... tiro a rede 220v e tudo funciona normalmente...

abri toda a caixa, passeio o fio do sensor sozinho e os erros me parecem que diminuiram.... vou acompanhar por um tempo e ver

o problema é mesmo o inicial, os drivers da luminaria led.... apenas o arduino controlando a temperatura funciona perfeitamente....
testei até tirar a luminária do arduinno e ligar ela novamente no timer digital que tenho mas a hora que conecto da problema no arduino. a unica coisa é que o arduino ta ligado numa fonte e a fonte ligada numa regua onde esta o timer da luz....
se eu ligar a luz da problema e se eu desligar funciona tudo normalmente, que droga..... n sei o que fazer....

estou editando o topico para atualizar.... o problema é o seguinte, com um driver para 3 leds (driver de 220v de entrada e saida de 9v 600mah) na rede, separado do arduino, e o arduino funcionando como controlador de temperatura funciona sem problema algum. Quando eu ligo esta crianca aqui http://www.ebay.com/itm/IP65-Waterproof-Driver-for-10-18pcs-3W-High-Power-LED-AC85-265Vto-DC36-75V-680mA-/320936909163?pt=LH_DefaultDomain_0&hash=item4ab954996b
comeca a dar problema em tudo. Ligo isto na rede tambem não no arduino... Mais tarde vou testar o driver que funciona ligado no rele que esta ligado no arduino.... E agora?

Esquema.... faz um esquema!

bubulindo nada alem do que esta no video.... apenas retirei o fio da lampada do rele e liguei diretamente no 220v, o resto é tudo igual....
a luminaria possui 3 linhas de 7 leds de 3w cada... as da ponta e alguns leds do meio sao ligados neste driver da foto e 3 leds do centro sao ligados em outro driver... a entrada 220v destes dois driver eu tirei do rele do arduino e liguei diretamente na tomada da casa, e o problema continuou, apos eu tirei os fios do driver maior e dexei apenas o de 3 leds e funciona... resumindo esta tudo igual ao video porém tirei a luminaria do rele e liguei diretamente no 220v da cada
não tem nem o que fazer no esquema.. é o arduino ligado como mostrado no video e dois fios saindo da luminaria indo para a rede da casa diretamente..... e a ligacao da luminaria esta no desenho do driver que passei o link

segue foto do esquema "rabisco"

https://www.dropbox.com/s/nlb3237244fiy8y/IMG_0634[1]

troquei o driver de 18 leds e o de 3 por dois drivers de 10 cada um, e um led ficou desligado.... (aproveitei para separar leds de coloração azul e branco) assim controlo cada um separadamente, minha idéia é ligar o azul primeiro demanha, depois de uma hora ou mais ligar o branco, denoite desligar o branco primeiro e depois desligar o azul.
Quando liguei apenas um driver 10 aconteceram os problemas, porém com menos intensidade do que o driver de 18. Quando liguei o segundo driver de 10 não aconteceu mais problemas, hoje demanha ficou uma hora ligado e eu observando e nada.... mesmo assim o sistema não está confiável... Hoje vou deixar ligado por mais tempo e observar, caso não aconteça o problema vou ligar os drivers no relé...
A temperatura marca 100 graus as vezes e arma e desarma o relé, o sensor não é reconhecido e da mensagem de erro e tambem o relógio marca se nao me engano 45:450, armando e desarmando o relé da luz.
Alguém tem idéia do que pode ser? ja que o sistema de luz está totalmente independente do arduino, compartilhando apenas o fonte AC.

Quando as luminárias estão ligadas vês por exemplo algum problema nas tvs? ou rádio que estejam ligados ao AC?

Como estás a alimentar o teu arduino? Com um daqueles carregadores de telemóvel ligados ao AC? Tens as características do mesmo?
Tens outra forma de alimentar o Arduino? Por exemplo um daqueles cabos com duas fichas USB para ligar ao computador e outra para ligar no Arduino (assim aumentas o fornecimento de corrente)? Podes testar alimentar o arduino pelo computador e ver se o comportamento se repete. (SE O FIZERES, DESLIGA O BACKLIGHT DO LCD).
Se o comportamento não se repetir, o problema pode mesmo estar na fonte de alimentação que usas para o Arduino.

Consegues medir a tensão AC do sistema quando ligas as luminárias? Notas algo?

Cá para mim, a luminária pode estar a mandar lixo para a rede e isso ocasionalmente confunde o Arduino todo porque as fontes de parede não têm propriamente uma filtragem óptima. Podes também estar a exigir mais corrente do que a fonte consegue fornecer e isso apenas piora o problema.

Sem problemas na TV e o radio ja utilizei o do home theater sem problemas..
Arduino estou alimentando por uma fonte 12v, só não lembro a amperagem... mas tambem ja o alimentei com o USB e o problema é igual.
Eu também estou achando que o problema é lixo na rede como falas, porque enquanto o relé não foi ligado na rede AC não aconteceu problema algum.... como filtrar esta entrada no relé?

E se ligares a iluminaria directa sem passar no relê e a colocares perto do arduino também acontece?
Se sim e se depois a afastares uns 10 metros também da ?

Hugo, enquanto eu estava programando, o sistema ficou rodando por uns 3 dias lembra? o relé foi alimentado por 5v do arduino, e ele acionava ledzinhos que representavam aquecedor, luz e refrigerador... e o mesmo no vídeo pode ver que está a menos de 40 cm da luminária....
Basta eu tirar a alimentação do rele com os 5v do arduino e colocar no AC, e também retirar os leds e colocar o aquecedor, luminária e refrigerador que deu problema, o local é o mesmo. Então tirei a luminária do relé e liguei diretamente na tomada da casa e o problema persistiu, porém o relé continua a ser alimentado com a AC.
Estava pensando aqui, como o aquário possui bombas e outros eu coloquei numa regua com filtro, na régua liguei o arduino e a luminária, porém a fonte de alimentação do relé do arduino está ligado direto no AC sem passar pela régua com filtro.
OBS: ja liguei a luminária na régua, num timer e também direto na tomada da casa.
Chegando em casa vou ligar o relé na régua com filtro....

hugo, acho que interferência magnética ou campo, ou onda ou sei la o que está descartado, haja vista que, como comentei, o sistema funcionou do lado da lumínaria por dias sem problema.
acho que alinha de pensamento está com a luminária jogando lixo na rede como o bubulindo falou