collapse

* Links de Robótica

* Posts Recentes

Recomendação de um opamp para um DAC r2r por jm_araujo
[Hoje às 10:48]


Feira de electricidade e eletrónica por beirao
[Hoje às 00:32]


RN42 e TP-Link MR3020 por doiga
[Ontem às 19:22]


Ajuda Projecto IR / RF por senso
[Ontem às 13:15]


Ideias para construir um quadrúpede simples por dropes
[21 de Novembro de 2017, 22:43]


Ajuda com TRIAC por senso
[17 de Novembro de 2017, 18:00]


TV LG White Screen por almamater
[15 de Novembro de 2017, 08:37]


Pergunta sobre prototipagem ( Pesquisa ) por luisjustin
[14 de Novembro de 2017, 23:22]


Medir Agua que está no Poço por Njay
[14 de Novembro de 2017, 13:28]


Amplificador audio por beirao
[12 de Novembro de 2017, 23:43]

Autor Tópico: Estufa Autmatizada com Arduino  (Lida 2628 vezes)

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

Offline Leandro Beatto

  • Mini Robot
  • *
  • Mensagens: 8
Estufa Autmatizada com Arduino
« em: 04 de Abril de 2011, 23:39 »
Galera
boa noite

Alguem poderia me ajudar??
Estou automatizando uma estufa com uma placa Arduino, o procedimento é o seguinte;

inicia com 80 graus e permanece durante 2horas;
depois com 100 graus e permanece durante 4horas;
e por fim com 40 graus permancendo por 1hora
e
fim.

Minha duvida é como permancer o loop durante o tempo determinado e dps pular para o outro programa???

se alguem puder me ajudar eu agradeço

Obrigado

Leandro Beatto.




Offline xiserre

  • Mini Robot
  • *
  • Mensagens: 277
Re: Estufa Autmatizada com Arduino
« Responder #1 em: 04 de Abril de 2011, 23:52 »
Podes fazer com um rtc, ou entao com delays.. mas provavelmente tens de fazer muitos incrementos ate passar esse tempo todo. nao sei quanto tempo podes fazer delay de uma vez so

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.727
Re: Estufa Autmatizada com Arduino
« Responder #2 em: 04 de Abril de 2011, 23:57 »
Código: [Seleccione]
#include <MsTimer2.h>

void count() {
  timecount++;
}

void setup() {
  volatile uint16_t timecount=0;
 
  pinMode(13, OUTPUT);
  digitalWrite(13, LOW);
 
  MsTimer2::set(1000, count);
  MsTimer2::start();
}

void loop() {
  //2horas*60minutos*60segundos=7200
  if(timecount>=7200){
    digitalWrite(13, LOW);
    timecount=0; 
  }
}

Algo deste género deve fazer o que queres.

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.402
  • Helpdesk do sitio
Re: Estufa Autmatizada com Arduino
« Responder #3 em: 04 de Abril de 2011, 23:58 »
O delay do Arduino aceita um unsigned int se não me engano, logo podes fazer delays de até 65535 mili-segundos, o que dá cerca de 65 segundos.
Mas ficar a queimar horas num delay é um erro, o programa deve ir contando o tempo e SEM bloquear a execução deve continuar a ler os sensores e essas coisas todas, porque se lhe metes um delay ele fica ali parado a fazer nops.
Avr fanboy

Offline Leandro Beatto

  • Mini Robot
  • *
  • Mensagens: 8
Re: Estufa Autmatizada com Arduino
« Responder #4 em: 05 de Abril de 2011, 00:39 »
Obrigado pela ajuda.!!

O progama que iniciei é assim;

int rele = 9;
int SENSOR = 0;
float D = 0;
float T = 0;
float L = 61.38;


void setup(){
  Serial.begin(9600);
  Serial.println("Lendo Temperatura...");
  pinMode (9, OUTPUT);
}
void loop(){
  D = analogRead(SENSOR);
 
  T = (D * 5 * 100)/1023;
 
  Serial.print(T);
  Serial.println(" C");
  delay(3000);
 
{
  if(analogRead(SENSOR)<L){
  digitalWrite(rele, HIGH);
  }
  else
  if(analogRead(SENSOR)>=L){
    digitalWrite(rele, LOW);
  }
}
}



mas, preciso encaixar alguma coisa que possa fazer o procedimento do tempo..

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.402
  • Helpdesk do sitio
Re: Estufa Autmatizada com Arduino
« Responder #5 em: 05 de Abril de 2011, 01:26 »
O exemplo do metro é bom para isso, usando a biblioteca MsTimer.
Só uma coisa, o analogWrite retorna um valor inteiro, usar floats só ocupa mais memória sem ganhar nada com isso.
Avr fanboy

Offline Leandro Beatto

  • Mini Robot
  • *
  • Mensagens: 8
Re: Estufa Autmatizada com Arduino
« Responder #6 em: 05 de Abril de 2011, 11:52 »
OK.

é pq não expliquei o precedimento direito, não ficará somente no tempo, o Arduino irá ler o sensor mantendo a temperatura entre uma determinado faixa durante um determinado tempo.

e tb estou tentando fazer os testes com o programa enviado por o metRo, mas, está dando erro no compilar;
#include <MsTimer2.h>  erro:Nenhum arquivo ou diretório

este library não tem no programa para importar, será que é isso?? qual procedimento que eu faço??

Att. Leandro

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.402
  • Helpdesk do sitio
Re: Estufa Autmatizada com Arduino
« Responder #7 em: 05 de Abril de 2011, 16:07 »
Tens que fazer o download da biblioteca primeiro
Avr fanboy

Offline Leandro Beatto

  • Mini Robot
  • *
  • Mensagens: 8
Re: Estufa Autmatizada com Arduino
« Responder #8 em: 05 de Abril de 2011, 17:00 »
Ok.

instalei na biclioteca, mas continua o erro anexo

timecount++;  erro:sketch_apr05a:15: error: 'timecount' was not declared in this scope

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.402
  • Helpdesk do sitio
Re: Estufa Autmatizada com Arduino
« Responder #9 em: 05 de Abril de 2011, 17:53 »
Isso é porque o timecount não foi declarado como uma variavel.
Código: [Seleccione]
#include <MsTimer2.h>

volatile uint16_t timecount = 0;

void count() {
  timecount++;
}

void setup() {
  volatile uint16_t timecount=0;
 
  pinMode(13, OUTPUT);
  digitalWrite(13, LOW);
 
  MsTimer2::set(1000, count);
  MsTimer2::start();
}

void loop() {
  //2horas*60minutos*60segundos=7200
  if(timecount>=7200){
    digitalWrite(13, LOW);
    timecount=0;
  }
}

Assim já deve compilar.
Avr fanboy