Go Down

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

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. ;)
Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

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;
   }
Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

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]);

Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

Go Up