collapse

* Posts Recentes

Amplificador - Rockboard HA 1 In-Ear por almamater
[Ontem às 19:13]


O que é isto ? por KammutierSpule
[26 de Março de 2024, 19:35]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]

Autor Tópico: Estufa Autmatizada com Arduino  (Lida 4575 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.753
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.733
  • 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.733
  • 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.733
  • 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.733
  • 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