Ir ao conteúdo
  • Cadastre-se

andre graes

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

posts postados por andre graes

  1. boa noite!

    sou aluno de automação indutrial pelo SENAI e estou desenvolvendo um projeto de aula que consiste em um sistema no qual existem 3 LDRs e 4 LEDs. Três LEDs deverão responder de acordo com a incidência de iluminação do seu respectivo LDR e o 4o LED deverá responder de acordo com a média de leitura dos 3 LDRs, sempre no sistema quanto mais luz menos brilho e não simplesmente acende/apaga.

    Bom, pesquisando pela internet, consegui fazer o sistema funcionar com um LED e um LDR, mas não consigo implementar mais LEDs/LDRs. Como sou bastante iniciante em programação, acredito que esteja sendo ingênuo na lógica do código.

     

    O código que está funcionando para 1 LED e 1 LDR:

     

    
    /*
    ***Arduino + LDR***
    José Maria DVD
    */
    int pinoLED = 9; // pino digital 9
    int pinoLDR = 5; // pino analógico 5
    int LDR = 0; // receberá o valor do LDR
    int LED = 0; // valor do LED
    void setup() {
    Serial.begin(9600);
    }
    void loop(){
    //O valor lido da porta será no intervalo (0 a 1023)
    LDR = analogRead(pinoLDR);
    //Mostra na serial
    Serial.print("LDR = ");
    Serial.println(LDR);
    //Ajuste de valores para um melhor filtro
    if(LDR > 600) LDR = 600;
    else if(LDR < 100) LDR = 100;
    //Tranforma uma escala de valores em outra (255 a 0).
    LED = map(LDR, 100, 600, 255, 0);
    analogWrite(pinoLED, LED);
    delay(50);
    }

     

    o código para 2 LEDs e 2 LDRs que não funciona (o segundo LED não faz nada):

     

    int pinoLED1 = 9; // pino digital 9
    int pinoLED2 = 10;
    
    int pinoLDR2 = 4;
    int pinoLDR1 = 5; // pino analógico 5
    
    int LDR1 = 0; // receberá o valor do LDR
    int LDR2 = 0;
    
    int LED1 = 0; // valor do LED
    int LED2 = 0;
    
    void setup() {
    Serial.begin(9600);
    }
    void loop(){
    //O valor lido da porta será no intervalo (0 a 1023)
    LDR1 = analogRead(pinoLDR1);
    LDR2 = analogRead(pinoLDR2);  
    //Mostra na serial
    Serial.print("LDR1 = ");
    Serial.println(LDR1);
    Serial.print("LDR2 = ");  
    Serial.println(LDR2);  
    //Ajuste de valores para um melhor filtro
    if(LDR1 > 600) LDR1 = 600;
    else if(LDR1 < 100) LDR1 = 100;
    //Tranforma uma escala de valores em outra (255 a 0).
    LED1 = map(LDR1, 100, 600, 255, 0);
    analogWrite(pinoLED1, LED1);
    delay(50);
      
    if(LDR2 > 600) LDR2 = 600;
    else if(LDR2 < 100) LDR2 = 100;
    LED2 = map(LDR2, 100, 600, 255, 0);
    analogWrite(pinoLED2, LED2);
    delay(50);  
    }

    Em anexo envio os prints do circuito que montei pelo simulador.

     

    Agradeço qualquer tipo de ajuda iluminatti.
     

    Captura de tela de 2016-06-28 21-38-43.png

    Captura de tela de 2016-06-28 21-55-44.png

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!