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 |
Tags:
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
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por