Go Down

Topic: Problemas com relé (Read 25946 times) previous topic - next topic

lmeireles43

funcionou mas tive que colocar o desligamento dos reles no while, como vc postou, mesmo com o ds conectado ele fica ligando e desligando o rele sem parar.....
agora esta ok, vou deixar esse sistema funcionar por um tempinho e ver como se comporta muito obrigado pessoal
ficando perfeito vou incrementar o RTC.....

lmeireles43

Pessoal esta rodando até agora e teve o primeiro problema.... ontém quando fui desligar a luz do aquario deu problema no lcd do arduino.

Mas o aquario ainda não tem nada a ver com o arduino, a luz não está ligada no arduino, é um sistema a parte. o arduino só está do lado do aquario e o sensor ds está dentro da agua... apenas isto. Ele continuou funcionando porém o lcd imprimiu um monte de coisas estranha e não voltou ao normal.

O arduino está a uns 45cm dos drivers de leds

bubulindo

Hmmm...

E só tens esta instrução

Code: [Select]

lcd.print(celsius);


Para escrever no LCD?
Porque não limpares o lcd antes de voltares a escrever?

O que é que realmente apareceu no LCD?

A minha opinião é que isso é certamente algum problema no sensor e comunicação com o mesmo.
Experimenta, por exemplo, imprimir para o lcd o valor de raw e o valor de celsius. Um está ligado ao outro e certamente que dará uma ideia do problema.

This... is a hobby.

lmeireles43

Hugo, no inicio deste tópico acho que respondi para vc isto.. por uma foto... é foi respondido por alguém que é... eu não sei....

Tudo rodou tranquilamente LONGE do aquario sem problema algum, foi só eu colocar do lado do aquario medindo a temperatura dele e quando desliguei a luz do mesmo imprimiu sujeira.....
Imprimiu coisa do tipo #%¨$#%$@¨%&¨@ e travou.... Não acredito que seja nada do sistema do arduino porque o mesmo funcionou sem problema algum longe do driver elétrico do led do aquario... acho que o problema é algum campo magnético, indução ou sei la o que..... A luz desligada ele está la funcionando perfeitamente, bem como ela ligada... o problema foi apenas quando desliguei... Depois liguei e desliguei para ver e não teve problema.... Os leds depois de desligados permanecem acesos por milésimos de segundos e ainda brilham por uns segundo, seria isto capacitor? não seria isto? porque quando liguei e desliguei rápido o led não brilha e desliga na hora e não atrapalhou o funcionamento do lcd.... seria um "capacitor" carregado que da problema no lcd?

lmeireles43

bubulindo, o comando clear ou impressão de qualquer outra coisa quando da problema no lcd apaga e são impressos $#¨%#&%$&# em tudo quanto é lugar.... não é envio de informação errado....

bubulindo

Ok...

Segundo passo na resolução do problema. Consegues provocar o erro repetidamente? Ou seja, consegues identificar exactamente o que causa isso?

Acho que podes fazer videos com o Skype... pdoes tentar fazer um video do que se passa e meter no youtube por exemplo para vermos o que se passa mesmo. E, como está tudo ligado com um esquema por exemplo.
This... is a hobby.

lmeireles43

foi exatamente na hora que desliguei a luz no timer. então liguei e desliguei novamente e o erro não se repetiu.
o esquema de ligação foi este

http://www.google.com.br/imgres?q=lcd+arduino&hl=pt-BR&sa=X&tbo=d&biw=1170&bih=752&tbm=isch&tbnid=Iryl9CqyqvwGBM:&imgrefurl=http://engenheirando.com/arduino/displaylcd/&docid=eZwqAfbmUQz1dM&imgurl=http://engenheirando.com/wp-content/uploads/2012/04/ArduinoLCD2.png&w=1012&h=513&ei=icULUZfTK4zc8ASZ8IDIBw&zoom=1&iact=hc&vpx=596&vpy=139&dur=7733&hovh=160&hovw=316&tx=210&ty=127&sig=117775725329749755557&page=1&tbnh=135&tbnw=267&start=0&ndsp=23&ved=1t:429,r:3,s:0,i:91

apenas coloquei um resistor no Vo para diminuir a luminosidade e conseguir ver direito

bubulindo

Eu não acho que o problema esteja nas ligações do LCD...
Quando disse uma foto do sistema todo era para perceber o que podia, dentro do sistema todo, causar o problema.
Afinal de contas, se apenas ligares o Arduino ao LCD daquela forma, não tens problema algum, certo?

Nós estamos a tentar ajudar, mas após repetidos pedidos de mostrares todo o sistema e como tens tudo ligado, tu continuas a não dar muita informação ao que já sabemos. Então estamos literalmente a esgotar as possibilidades de ajuda que podemos dar sem mais informação.

Revê os meus posts (tipo os 5 anteriores ou isso) e tentar responder a todas as questões colocadas e logo vemos que mais podemos fazer.

P.S.:
Podes fazer o video e colocá-lo no youtube... não disse que eu ia estar no skype para ver o problema.



This... is a hobby.

HugoPT

Sim sem saber mos essas respostas é tentar adivinhar e a minha bola de cristal está avariada  :smiley-mr-green:
Debian,Mint,Ubuntu
Arduino Mega 2560
Arduino Nano
Arduino Duemilanove
MAC OS Montain Lion
Raspberry PI Model B

lmeireles43

colegas segue o vídeo

este vídeo desligando a luz simulando o mesmo problema que aconteceu ontém, hoje não houve problema
http://youtu.be/vrV9rCLE6so

este vídeo mostra o sistem, os leds pequenos simulando aquecedor e refrigerador, o lcd shield e o relé shield ligado com os 5v do arduino, fiz uma ponte no vcc para alimentar as saídas do relé, e o sensor de temperatura.
http://youtu.be/GEKF3gP1Upg

HugoPT

Após ver o teu segundo video das ligaçoes tenho um palpite.Há uns tempos atras vi um video no youtube que agora nao consigo encontrar para te mostrar, que consistia em exemplificar o que pode acontecer se num dos fios do bus de dados que vai para o LCD for colocado um fio no ar ou simplesmente se o prolongares ,tipo um fio de um metro apesar de conectado.O que acontecia é parecido ao que tu contas.
No filme era visivel que quando ele conectava o fio começavam a aparecer artefactos no LCD que iam desaparecendo e aparecendo.
No fundo o que o criador do filme queria transmitir é que as interferencias podem causar esses danos.
Como tu dizes que isso acontece quando ligas a iluminaria dos Leds que recorrem a muito provavelmente a sinais PWM possam estar a emitir interferencias que depois sao captadas pelos teus fios que tens no ar.
É so um palpite mas para o despistares podes tentar reduzir a distancia dos cabos ou entao tentar colocar todo esse circuito dentro de um tumper-ware e depois forra-lo com prata, tipo uma gaiola imune a ruido eletromagnetico.
Muitos equipamentos  recorrem à  de blindagem eletromagnetica por estes motivos.
Faz o teste é rapido
Debian,Mint,Ubuntu
Arduino Mega 2560
Arduino Nano
Arduino Duemilanove
MAC OS Montain Lion
Raspberry PI Model B

bubulindo


É so um palpite mas para o despistares podes tentar reduzir a distancia dos cabos ou entao tentar colocar todo esse circuito dentro de um tumper-ware e depois forra-lo com prata, tipo uma gaiola imune a ruido eletromagnetico.


Lembra-te, o papel de prata é condutor... não faças como eu que queimou uma placa de aquisição da National à custa de fazer uma gaiola de papel de prata.
Mas a ideia é boa e resulta. Experimenta, mas com cuidado. ;)
This... is a hobby.

lmeireles43

pessoa muito obrigado pela ajuda,

Não fiz nada e não aconteceu mais o problema. Tirei tudo da protoboard e fiz uma fiação e ficou mais limpo. Dei também uma arrumada e estruturada no código.

Estou com duas dúvida uma já tentei de tudo e não consegui. Quando a saída do aquecedor por exemplo estiver ligada ou desligada eu gostaria de imprimir isto no lcd, mas o que eu consigo é apenas imprimir o status em 1 e 0. Gostaria de substitui o 1 por LIGADO e 0 por DESLIGADO
aqui está o comando:
statusHeater = digitalRead(aquecedor);
então mando imprimir statusHeater e imprime o numero 1 ou 0 de acordo.

A outra pergunta é... gostaria de imprimir informações de relógio e temperatura no lcd por alguns segundo e logo imprimir outras informações por mais tantos segundos, ficar alternando entre um e outro.....
não gostaria de utilizar delay, apenas um contator separado ou uma condição, por exemplo 10 segundos numa tela e 10 segundo em outra tela

bubulindo

#1

Code: [Select]

lcd.print(statusheater== HIGH ? "LIGADO": "DESLIGADO");


#2

Code: [Select]


#define TIMEOUT 10000

unsigned long now = 0, before = 0;
unsigned char data = 0;

if((now = millis())-before > TIMEOUT) {
   if (data == 0) {
      lcd.print("COISAS");
      data = 1;
      } else {
      lcd.print("OUTRAS COISAS");
      data = 0;
      }
   before = now;
   }
This... is a hobby.

bubulindo

Quanto ao numero 1, podes fazer algo mais artístico. LOL

Code: [Select]

const char estados[2][10] = {"LIGADO", "DESLIGADO"};

lcd.print(estados[statusheater]);

This... is a hobby.

Go Up