collapse

* Links de Robótica

* Posts Recentes

[Projecto] Bomba Airsoft por jm_araujo
[Hoje às 16:54]


Palavras Cruzadas por Njay
[Hoje às 15:47]


Apresentação por Tech_JA
[Hoje às 09:19]


Medir Agua que está no Poço por filjoa
[21 de Setembro de 2017, 20:58]


URGENTE - display de 7 segmentos com backpack por helderjsd
[20 de Setembro de 2017, 12:30]


Preços e fabricantes de pcb por Sérgio_Sena
[19 de Setembro de 2017, 10:20]


Isaac Asimov - I, Robot por senso
[18 de Setembro de 2017, 03:41]


ic SL440 da Plessey? por senso
[16 de Setembro de 2017, 13:11]


Compra Colectiva RS-Amidata por brunus
[15 de Setembro de 2017, 22:31]


Ideias para construir um quadrúpede simples por zordlyon
[15 de Setembro de 2017, 10:18]

Autor Tópico: Estufa Autmatizada com Arduino  (Lida 2518 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.726
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.390
  • 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.390
  • 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.390
  • 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.390
  • 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