collapse

* Posts Recentes

Arame de Estendal por almamater
[Hoje às 16:16]


O que é isto ? por SerraCabo
[12 de Abril de 2024, 14:20]


Amplificador - Rockboard HA 1 In-Ear por almamater
[11 de Abril de 2024, 20:46]


Emulador NES em ESP32 por dropes
[10 de Abril de 2024, 15:30]


Meu novo robô por josecarlos
[29 de Março de 2024, 18:30]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]

Autor Tópico: LDR - com fade de acordo com a luminosidade  (Lida 17177 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline microbyte

  • Mini Robot
  • *
  • Mensagens: 1.322
    • http://ricardo-dias.com/
Re: LDR - com fade de acordo com a luminosidade
« Responder #30 em: 24 de Novembro de 2009, 21:53 »
Assim não nos entendemos...
Mandaste um link para uma webcam... Se calhar é a tua, mas eu continuo sem ver o código...

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re: LDR - com fade de acordo com a luminosidade
« Responder #31 em: 24 de Novembro de 2009, 22:06 »
o que eles estava a dizer era que o código estava no computador ou no Arduino e tinhas que usar o poder da mente para o teres lool e depois disse que o unico código que tinha era o que postou antes :p

Offline anaes

  • Mini Robot
  • *
  • Mensagens: 26
Re: LDR - com fade de acordo com a luminosidade
« Responder #32 em: 24 de Novembro de 2009, 22:14 »
o que eles estava a dizer era que o código estava no computador ou no Arduino e tinhas que usar o poder da mente para o teres lool e depois disse que o unico código que tinha era o que postou antes :p

isso mm =P  (já sei onde deixei o tabaco) =X

Offline microbyte

  • Mini Robot
  • *
  • Mensagens: 1.322
    • http://ricardo-dias.com/
Re: LDR - com fade de acordo com a luminosidade
« Responder #33 em: 24 de Novembro de 2009, 22:20 »
És viciado no twitter não és?  :D :D :D :D :D

Offline anaes

  • Mini Robot
  • *
  • Mensagens: 26
Re: LDR - com fade de acordo com a luminosidade
« Responder #34 em: 24 de Novembro de 2009, 23:25 »
LOL nem por isso
Vou comecar agr a ver isto !

Offline anaes

  • Mini Robot
  • *
  • Mensagens: 26
Re: LDR - com fade de acordo com a luminosidade
« Responder #35 em: 24 de Novembro de 2009, 23:51 »
Para fazer o print dos valores basta ter "Serial.begin(9600);" e dps Serial.println(val);? certo?!
é que não aparece nada! 0_0
« Última modificação: 24 de Novembro de 2009, 23:53 por anaes »

Offline anaes

  • Mini Robot
  • *
  • Mensagens: 26
Re: LDR - com fade de acordo com a luminosidade
« Responder #36 em: 25 de Novembro de 2009, 00:12 »
LOL...podiam ter avisado que tinha de abrir a janela serial!  ::)

Isto age de forma muito estranha com este codigo:
Código: [Seleccione]
int ledPin2 = 11;
        int val=0;
  void setup() {     
pinMode(ledPin2, OUTPUT);
Serial.begin(9600);

 
 }

void loop() {
   
   val=analogRead(0);
   analogWrite(ledPin2, (val/10));
   Serial.println(val);
   
   

}


o val manda valores entre 600 e 900...!
será da minha resistencia que esta a cortar demais os valores do ldr (se é que isso é possivel!)?

A porta analogica não ta a responder... só manda zeros! =/


« Última modificação: 25 de Novembro de 2009, 00:19 por anaes »

Offline anaes

  • Mini Robot
  • *
  • Mensagens: 26
Re: LDR - com fade de acordo com a luminosidade
« Responder #37 em: 25 de Novembro de 2009, 00:42 »
Já meti a funcionar de forma estranha! inexplicavel mesmo! Os valores variavam pouco então arranjei forma de os distanciar um bocado:
Código: [Seleccione]
int ledPin2 = 11;
int analogPin = 1;
        int val=0;
        int awrite=0;
        int ligado=0;
        int desligado=0;
  void setup() {     
pinMode(ledPin2, OUTPUT);
Serial.begin(9600);

 
 }

void loop() {
   
   val=analogRead(analogPin);
   awrite=val/4;
   ligado= awrite%4;
   desligado=awrite;
   if (awrite>100){
   analogWrite(ledPin2, desligado );
   }
    if (awrite<200){
   analogWrite(ledPin2, ligado );
   }
   Serial.println(awrite);
   
   

}


Alguem me pode por isto a funcionar como deve ser?! é que ja fiz de tudo e nada!

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re: LDR - com fade de acordo com a luminosidade
« Responder #38 em: 25 de Novembro de 2009, 13:05 »
Sim, alterando a resistência consegues obter um gama de valores maiores. Se tiveres um multímetro tens que ver como varia a resistencia do LDR em função da luz. Se tiveres o datasheet desse LDR coloca aqui.
Depois de ter estes valores da resistencia medidos com o multímetro coloca aqui.

Offline microbyte

  • Mini Robot
  • *
  • Mensagens: 1.322
    • http://ricardo-dias.com/
Re: LDR - com fade de acordo com a luminosidade
« Responder #39 em: 25 de Novembro de 2009, 13:21 »
Vejo que tens alguns "problemas" no que diz respeito ao método que usas para programar.
Se queres um conselho, habitua-te a usar a "indentação" (o espaço entre a margem esquerda e o código)... É que o código como tu puseste é muito difícil de analisar.
Vê o exemplo do código que estive a fazer:
Código: [Seleccione]
int ledPin = 9; // Pino onde está ligado o LED
int ldrPin = 0; // Pino onde está ligado o LDR

int valLimite = 800; // Valor para ligar/desligar o LED

int valLDR = 0; // variável que vai ficar com o valor lido do LDR (0-1023)
int valNorm = 0; // variável que tem o valor do LDR normalizado (0-255)

boolean ligado = false; // variável auxiliar que vai dizer se o LED está ligado

void setup()
{
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}

void loop()
{
  // FASE 1: Lemos o valor de input do LDR e normalizamos
  valLDR = analogRead(ldrPin);
  valNorm = valLDR/4;
 
  // DEBUG (opcional) : Mostramos o valor na consola
  // Útil para ajustares o valLimite
  Serial.print("Valor do LDR: ");
  Serial.print(valLDR);
  Serial.print(" (Normalizado: ");
  Serial.print(valNorm);
  Serial.println(")");
 
  // FASE 2: Decidimos o que fazer consoante esse valor
  if(valNorm < valLimite && ligado == false){
    // Se a luz ambiente estiver mais baixa do que o limite e o LED estiver desligado
    fadeIn(); // Ligamos o LED com o efeito fade
    ligado = true; // "ligado" = verdadeiro, para sabermos que o LED está ligado
  }else if(valNorm >= valLimite && ligado == true){
    // Se a luz ambiente estiver mais alta do que o limite e o LED estiver ligado
    fadeOut(); // Desligamos o LED com o efeito fade
    ligado = false; // "ligado" = falso, para sabermos que o LED está desligado
  }
}

void fadeIn()
{
  for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5)
  {
    analogWrite(ledPin, fadeValue);
    delay(30);
  }
}

void fadeOut()
{
  for(int fadeValue = 255 ; fadeValue >= 0; fadeValue -=5)
  {
    analogWrite(ledPin, fadeValue);
    delay(30);
  }
}


Não é muito mais fácil analisar o código (mesmo sem as cores do IDE)?

Bom, não sou apologista de fazer a papinha toda, mas testa lá o código e diz qualquer coisa...
Deixo-te um desafio: tenta fazer com que o código não seja bloqueante. Isto é, quando por exemplo, passas a mão por cima do LDR e tiras logo a seguir, o que vai acontecer é que no instante em que o LDR detecta a "sombra", vai correr a rotina de fadeIn() até ao fim e quando acabar vai voltar a ler o valor do LDR e como já não tens lá a mão, vai correr o fadeOut()...

O desafio que te proponho é alterares o código para que uma situação destas não aconteça... Para que o valor que sai para o LED apenas aumente quando há "sombra" e quando tiras a mão, ele desça até 0.

Offline microbyte

  • Mini Robot
  • *
  • Mensagens: 1.322
    • http://ricardo-dias.com/
Re: LDR - com fade de acordo com a luminosidade
« Responder #40 em: 27 de Novembro de 2009, 12:30 »
É por isto que eu não gosto de fazer o trabalho todo... Aparecem aqui para fazermos o trabalho por eles e depois nunca mais dizem nada... Nem se funcionou, se não funcionou...  >:(

Offline Tyran

  • Mini Robot
  • *
  • Mensagens: 293
Re: LDR - com fade de acordo com a luminosidade
« Responder #41 em: 27 de Novembro de 2009, 19:11 »
Calma microbyte, pode não ter podido vir ao fórum...

Offline Sérgio_Sena

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.649
    • Electronic Gear for Musicians
Re: LDR - com fade de acordo com a luminosidade
« Responder #42 em: 27 de Novembro de 2009, 21:04 »
ei pessoal...  calma aí....
não podemos ficar chateados, por a nossa ajuda não ter feedback!

é mesmo assim, há pessoas assim. Temos que compreender e aceitar.

continuemos a ajudar, de certeza que não cai em saco rôto.



Offline microbyte

  • Mini Robot
  • *
  • Mensagens: 1.322
    • http://ricardo-dias.com/
Re: LDR - com fade de acordo com a luminosidade
« Responder #43 em: 28 de Novembro de 2009, 02:27 »
LooL...

O meu smile deu a entender que estava muito agressivo... xD
Não é isso... :D Eu gosto de ajudar, e vou continuar a ajudar, mas este tipo de atitudes não me incentivam a isso, porque ainda demorei a fazer o que ali está (principalmente a comentar).

Offline anaes

  • Mini Robot
  • *
  • Mensagens: 26
Re: LDR - com fade de acordo com a luminosidade
« Responder #44 em: 02 de Dezembro de 2009, 19:46 »
Peço imensa desculpa se não passei aqui antes!
Mas tenho mais trabalhos em mãos e não tive oportunidade.

o código que funcionou foi dos últimos que postei, em que quando a iluminação da sala estava ligada a led stripe desligava e o contrario tb acontecia.
Embora ache que o código que tenho não está "decente" já deu para desenrascar!

Mais uma vez obrigado a todos pela força.
(o meu próximo desafio vai ser programar para um "ecrã" multi-touch DIY usando o processing ...aiai!)

Quanto ao codigo do microbite... tenho imensa pena não ter testado mas já entreguei o arduino à faculdade... o tempo esgotou! =|
Obrigado pelo esforço!

cumprimentos

« Última modificação: 02 de Dezembro de 2009, 19:49 por anaes »