Ir para conteúdo
  • Cadastre-se

Tracker solar

Avalie este tópico:


ruimarinhopt

Posts em destaque

Bem jáque abriram esta área, vou fazer uso dela, venho aqui publicar um projeto que fiz a cerca de 2 anos, trata - se de um tracker solar:

Este é constituído por um estrutura "pan tilt" com 2 Servos,  temos a base onde está o arduino e bread-board,4 ldrs e claro um painel solar. Basicamente o que isto faz é comparar os valores entre os quatro ldrs e virar o painel solar para a parte onde etsá a ser recebida mais luz.

Abaixo segue  o material utilizado,  imagens do projecto,um vídeo do tracker solar em funcionamento, esquemático de ligações e ainda o código em arduino.

 

Imagens:

IMG_1465.JPG

 

Capturar.PNG

 

IMG_1468.JPG

 

Material utilizado:

-Pan-Tilt com 2 servos

-Estrutura em metal

-Uma bread board

-Um arduino

-4 Ldrs

-4Resistências de 10Kohms

-1Painel solar

-Parafusos

-Um pouco de cola quente

-Fio

 

Vídeo de demonstração:

 

Código do arduino:

---------------

 

#define LedPin1 4 

#define LedPin2 5

 

    #include <Servo.h>

 

    Servo myservo;

    int pos = 0; 

    int inputesquerda = A1;

    int inputdireita = A0;

 

    int esquerda = 0;

    int direita = 0;

   

    Servo myservo2;

    int pos2 = 0;

    int inputcima = A2;

    int inputbaixo = A3;

    int ldr = A5

    int tldr = 0

 

    int cima  = 0;

    int baixo = 0;

    void setup()

    {

    myservo.attach(9);

    myservo2.attach(10);

    }

 

    void loop()

    {

      pinMode(LedPin1, OUTPUT); 

pinMode(LedPin2, OUTPUT);

    Left = analogRead(inputesquerda);

    Right = analogRead(inputdireita);

    tldr = analogRead(ldr);

    if (esquerda > (direita +20))

    {

    if (pos < 179)

    pos++;

    myservo.write(pos);

    }

if(tldr>512){

  digitalWrite(LedPin1,HIGH);

  digitalWrite(LedPin2,HIGH);

}

else{

      digitalWrite(LedPin1,LOW);

  digitalWrite(LedPin2,LOW);

}

    if (direita > (esquerda +20))

    {

    if (pos > 1)

    pos -= 1;

    myservo.write(pos);

    }

    delay(10);

    cima = analogRead(inputcima);

    baixo = analogRead(inputbaixo);

    if (cima > (baixo +20))

    {

    if (pos2 < 179)

    pos2++;

    myservo2.write(pos2);

    }

    if (baixo > (cima +20))

    {

    if (pos2 > 1)

    pos2 -= 1;

    myservo2.write(pos2);

    }

 

    delay(10);

    }

 

-----------------------

 

Caso não fosse pedir muito uma pequena olhadela ao meu blog:

Você não tem permissão para ver links. Faça login ou cadastre-se.

Link para o comentário
Compartilhar em outros sites

  • 6 meses depois...
  • 2 meses depois...
  • 2 meses depois...
  • 1 mês depois...

Participe agora da conversa!

Você pode postar agora e se cadastrar mais tarde. Se você tiver uma conta, faça login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Restaurar formatação

  Apenas 75 emoticons máximos são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir apenas como um link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Você não pode colar imagens diretamente. Envie ou insira imagens do URL.

SOBRE O ELETRÔNICABR

EletrônicaBR é o melhor fórum técnico online, temos o maior e mais atualizado acervo de Esquemas, Bios e Firmwares da internet. Através de nosso sistema de créditos, usuários participativos têm acesso totalmente gratuito. Os melhores técnicos do mundo estão aqui!
Técnico sem o EletrônicaBR não é um técnico completo! Leia Mais...
×
×
  • Criar Novo...