Bom pessoal, preciso de ajuda com um algoritmo que faça o seguinte:

No algoritimo vai conter a hora inicial e a hora final, e entre esse horário de tempo, teria um timer, que realizaria a função de por exemplo, o rele ficar ligado 30 segundos e desligado 10 minutos dentro desse horario de tempo.

Obrigado.

Exibições: 408

Responder esta

Respostas a este tópico

int led = 13;


void setup()

{
pinMode(led, OUTPUT); 
}

void loop()

{
digitalWrite(led, HIGH);
delay(30000); // o led fica ligado por 30 segundos
digitalWrite(led, LOW); 
delay(600000); // o led fica ligado por 10 minutos
}

Então, isso ja consegui fazer, agora eu precisava que ligasse o rele no horario programado por exemplo, das 12:00 as 16:00, e fizesse essa função de ligar 30 segundos e desligar 10 minutos.

Depende de como vc ira fazer a captura de tempo, por um RTC, comunicação com o pc, ou o tempo desde q o arduino esteve ligado.

Por RTC mesmo, consegui fazer algo, o projeto do Sidney, me ajudou muito, mais agora estou com um erro, segue o código:

    int t1[12]= { //Timer do motor de 3cv 0,0,0,0,0,0,0};
    //int dd = 1000; // used for delay in show timer data
 
    #include <WProgram.h> //é um recurso para referenciar a biblioteca Wiring
    #include <Wire.h> //inclui a biblioteca Wire necessaria para comunicaçao i2c
    #include "RTClib.h"
 //   #include <DS1307RTC.h>
   
 
    RTC_DS1307 RTC;
 
    // Definição das variáveis
    int horini= 19;
    int minini= 00;
    int horfim= 19;
    int minfim= 10;
   
 
//******************************** SETUP *********************************
    void setup()
    {
    Wire.begin();
    RTC.begin();
 
    pinMode(2, OUTPUT); // USADO PARA VALVULA 5
    }
 
 
// checa o horário para saber se irá ligar o rele
    void checktimer1()
    {
    DateTime agora = RTC.now();
 
    int hora = agora.hour();
    int minuto = agora.minute();
    int segundo = agora.second();
    if (hora==horaini && minuto==minini)
    {
    digitalWrite(2, HIGH);
    delay(5000);
    digitalWrite(2,LOW);
    delay(3600000);
    }
    }

Está dando o seguinte erro:

In file included from sketch_nov03c.ino:7:
C:\Program Files (x86)\Arduino\libraries\Wire/Wire.h:30: error: expected primary-expression before 'class'
C:\Program Files (x86)\Arduino\libraries\Wire/Wire.h:30: error: expected `}' before 'class'
C:\Program Files (x86)\Arduino\libraries\Wire/Wire.h:30: error: expected ',' or ';' before 'class'

Se alguém tiver uma idéia do que pode ser, ficaria muito grato.

Obrigado

Bom encontrei alguns erros como uma barra de comentario"//" no lugar errado, falta o void loop()

prara chamar a função checktimer1(), verifica isso ae .

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço