Jaula para retil automatizada Prova de aptidao profissional

Boas.

Alguem capaz de me ajudar a recriar este dois programas num só, para um arduino uno?

A qual terá um sistema de aquecimento e de arrefecimento através de ventoinhas (cooler) e lâmpadas, este sistema ligará as lâmpadas quando descer a baixo de uma x temperatura e ligará as ventoinhas quando subir a cima de uma x temperatura ,e um sistema de iluminação noturna, que se ligará quando estiver de noite (escuro) e apagar-se-á quando estiver de dia (claridade), e a informação sobre a luz e sobre a temperatura aparecerá num LCD, a temperatura ambiente e o nivel de claridade.

Os progrmas que tenho sao estes, porem podem ter erros, visto que nao tenho muita preparaçoa a nivel de programaçao de arduino.

programa 1 - temperatura controlada por lm35

//Programa : Sensor de temperatura LM35 ( Com coller´s de arrefecimento e luzes de aquecimento=

 

int pin = 0; // Pino analogico para ligaçao do LM35

 

// Variaveis que armazenam a temperatura em Celsius e Fahrenheit

int tempc = 0,tempf=0;

int samples[2]; // Array para precisão na medição

 

// Variáveis que guardam a temperatura máxima e mínima

int maxtemp = -100,mintemp = 100;

int i;

 

void setup()

{

  Serial.begin(9600);     // Inicializa comunicação serial

  pinMode(13, OUTPUT);    // Define pino 13 como saída (Coller´s)

  pinMode(12, OUTPUT);    // Define pino 12 como saída (Luzes de aquecimento)

}

 

void loop()

{

  for(i = 0;i<=1;i++){ // Loop que faz a leitura da temperatura 2 vezes

    samples[i] = ( 5.0 * analogRead(pin) * 100.0) / 1024.0;

    //A cada leitura, incrementa o valor da variavel tempc

    tempc = tempc + samples[i];

  delay(100);

}

 

// Divide a variavel tempc por 2, para obter precisão na medição

tempc = tempc/2.0;

//Converte a temperatura em Fahrenheit e armazena na variável tempf

tempf = (tempc * 9)/ 5 + 32;

//Armazena a temperatura máxima na variável maxtemp

if(tempc > maxtemp) {maxtemp = tempc;}

//Armazena a temperatura máxima na vari[avel mintemp

if(tempc < mintemp) {mintemp = tempc;}

 

//Se a temperatura estiver abaixo de 20, acende as luzes de aquecimento

if(tempc < 25)

  {

    digitalWrite(13, LOW);

    digitalWrite(12, HIGH);

  }

 

//Se a temperatura estiver acima de 30, ativa os coller´s

if(tempc > 28)

  {

    digitalWrite(12, HIGH);

    digitalWrite(13, LOW);

  }

 

// As linhas abaixo enviam para o monitor serial a temperatura em

// Celsius e Fahrenheit,

// e também as temperaturas máxima e mínima registradas

 

Serial.print(tempc,DEC);

Serial.print(" Cels., ");

Serial.print(tempf,DEC);

Serial.print(" Fahr. -> ");

Serial.print(" Min : ");

Serial.print(mintemp,DEC);

Serial.print("  Max: ");

Serial.println(maxtemp,DEC);

 

tempc = 0;

delay(1000); // Aguarda 1 segundo e reinicia o processo

}

programa 2 - luz noturna controlada por ldr

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

//Sensor de luz com LDR

 

int ledPin = 7; //Led no pino 7

int ldrPin = 0; //LDR no pino analígico 8

int ldrValor = 0; //Valor lido do LDR

 

void setup() {

 pinMode(ledPin,OUTPUT); //define a porta 7 como saída

 Serial.begin(9600); //Inicia a comunicação serial

}

 

void loop() {

 ///ler o valor do LDR

 ldrValor = analogRead(ldrPin); //O valor lido será entre 0 e 1023

 

 //se o valor lido for maior que 500, liga o led

 if (ldrValor>= 800) digitalWrite(ledPin,HIGH);

 // senão, apaga o led

 else digitalWrite(ledPin,LOW);

 

 //imprime o valor lido do LDR no monitor serial

 Serial.println(ldrValor);

 delay(100);

}

Nota: em vez de um led gostava de meter uma lampada norma de 230v ou uma fita de led alguem me pode tambem explicar como funciona?

Agradeço imenso a quem me ajudar

Exibições: 231

Responder esta

Respostas a este tópico

Boa tarde R,

seja bem vindo ao forum.

Como um participante igual a você,  mas com um pouquinho mais de experiencia, vou fazer umas sugestões.

Fica a seu critério segui-las ou não.

Mas acredito que seguindo-as será bom pra todos nós.

1. Remova o sketch postado na área de texto do tópico;


2. Leia http://labdegaragem.com/forum/topics/sugest-o-de-como-postar;


3. Comente as linhas do seu sketch. Fica mais fácil entender o que vc quer fazer com cada linha e

    facilita a ajuda; 


4. Clique em :    " Deseja carregar arquivos? " e depois em " Escolher arquivo" e anexe o arquivo        

     com o seu sketch;


5. Anexe ou poste desenhos, esquema, links, sobre seu projeto e os componentes dele, tais como

    sensores, etc.

    Com estas informações, ficará mais fácil entendermos seu projeto e melhorar a condição de ajuda;

    E finalmente, se seu problema for resolvido, divida conosco a solução e escreva "[Resolvido]" 

     no inicio do titulo  do tópico.      Ficando assim: [Resolvido] + Titulo.

RV

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço