Programa atualizado! 26/03/2016.

Fiz outro programa atualizado pra configurar a data/hora do RTC, bem como, outro programa para o simulador de presença, incluindo alguns recursos que antes nao tinha, como Sistema de Alarme, acionamento da bomba da piscina, e acesso remoto. Segue links:

Data/Hora RTC DS1307: http://labdegaragem.com/forum/topics/configurando-data-hora-do-seu-...

Sistema de Monitoramento Completo: http://labdegaragem.com/forum/topics/sistema-de-monitoramento-remot...

-----------------------------------------------

Versao antiga:

Pessoal,

Vi que o Sidney e outros estiveram tentando configurar o arduino para acionar algum rele/praticar alguma ação em determinado horario.

Segue abaixo o codigo que consegui testar e ficou redondinho.

Espero que ajude alguem. Abraço!

// Modificated by SoBraL - mr.sobral@hotmail.com
// Font: http://arduino.cc/forum/index.php/topic,8833.0.html
// Before you need to install the library DS1307: http://bricofoy.free.fr/forums/arduino/DS1307.zip

#include <WProgram.h> //é um recurso para referenciar a biblioteca Wiring
#include <Wire.h> //inclui a biblioteca Wire necessaria para comunicaçao i2c
#include <DS1307.h> //inclui a biblioteca de comandos do DS1307 utilizada neste programa. Necessário baixá-la no link acima

int rtc[7];
int rele = 10;
int led = 13;

void setup()
{
Serial.begin(9600);
pinMode(rele, OUTPUT); //define o pino 10 como saída
pinMode(led, OUTPUT); //define o led (pino 13) do arduino como como saída
digitalWrite (rele, LOW); //desliga relé
digitalWrite(led, LOW); //desliga led

/*
Esta sequencia de comandos deve ser escrita apenas uma vez, para
configurar a hora do Shield RTC 1307. Troque os numeros pela hora atual

RTC.stop();
RTC.set(DS1307_SEC,1); //define o segundo
RTC.set(DS1307_MIN,20); //define o minuto
RTC.set(DS1307_HR,12); //define a hora
RTC.set(DS1307_DOW,1); //define o dia da semana
RTC.set(DS1307_DATE,28); //define o dia
RTC.set(DS1307_MTH,4); //define o mes
RTC.set(DS1307_YR,13); //define o ano
RTC.start();
*/
}

void loop()
{
RTC.get(rtc,true);

/*
Comando utilizado apenas pra ficar enviando via USB a hora atual
para que possam monitorar no "serial monitor" do simulador Arduino
e ver se esta tudo funcionando de acordo
*/

for(int i=0; i<7; i++)
{
Serial.print(rtc[i]);
Serial.print(" ");
}
Serial.println();

/*
O codigo abaixo significa que, quando o RTC estiver no segundo 22,
ele irá acionar o relé e o led. Para utilizar o minuto como referencia,
alterar rtc[0] para rtc[1], e assim sussecivamente
*/

if (rtc[0] == 22) {
digitalWrite(rele, HIGH);
digitalWrite(led, HIGH);
}
delay(1000);

}

Exibições: 5227

As respostas para este tópico estão encerradas.

Respostas a este tópico

acacio,

    Eu mexi recentemente com essa biblioteca,  só não tô entendendo o que vocês estão tentando fazer,  tipo,  vocês querem criar falsos alarmes em horarios definidos é isso ?

   Me explica o que vocês desejam e se eu tiver condições eu ajudo.

Weider, Bom Dia !

Creio que antes de qualquer coisa, preciso agradecer pela sua disponibilidade  e, ao mesmo tempo. deixar claro que sou tecnico em eletrotécnica e comecei a me apaixonar pelo mundo de eletrônica e programação agora....logo, minha ignorância irá realmente me levar a fazer perguntas que para você e os demais mais instruídos sejam imbecis ou básicas demais...já peço desculpas por elas...:)

Na questão eletrônica, desconheço muita coisa mas consigo até navegar ( em ventos calmos e mar de almirante ) pois tive a cadeira básica quando fiz o técnico e pelo menos uma parte considerável dos elementos mais usados e conheço e sei para que servem de modo geral ( fakta a criatividade de aplicação pois nunca necessitei até então de aplicá-los em ckts ).

Em programação é que sou um zero à esquerda e estou tetando aprender de forma autodidata mas confesso que estou passando muito sufoco em coisas básicas....

Bom....esclarecida e evidenciada a minha ignorância no assunto almejo conseguir fazer um projeto de irrigação para um jardim suspenso de temperos que possuo onde ficam 20 vasos de temperos diversos....

Minha intenção ( sonho no momento ) é colocar um sensor de humidade em cada vaso e através da leitura destes sensores, acionar quando necessário uma bomba de água 12 V e uma vávula solenóide correspondente a cada sensor para que a planta em questão seja regada.

Como para mim este projeto é gigantesco e não detenho AINDA os conhecimentos....comecei a ler muita coisa na web e achei este código que, se não atende minha expectativa futura, garante que as plantas não morram no período de carnaval e de eventuais férias escolares/ viagens de final de semana sem água.

desta forma, gostaria de fazer o arduino ligar uma bomba dagua em horários programados para que eu possa passar uma mangueira comum à todos os vasos e regar por gotejamento os temperos....o que para mim já é um excelente caminho de iniciante....enquanto aprendo a evoluir e quem sabe conseguir realizar meu sonho incluindo até o acionamento/monitoramento via web ?

Já liguei o RTC no arduino e usando sua biblioteca e um código que achei na WEB ( e entendi o funcionamento ), já configurei o relógio com dia e data atuais, conseguindo ler no monitor as informações.

Quando fui tentar usar este código publicado pelo Sobral, deu o erro que mencionei  e empaquei não sabendo como resolver.

Mermão! vc me salvou! foi o único exemplo que realmente caiu como uma luva para o meu projeto!! somente tive q editar o Wprogram para arduino.h e editar os outputs para o meu projeto!! valeu mesmo!!

pessoal, bem interessante este código mas estou enfrentando o mesmo problema de alguns aqui.
esta aparecendo o erro: 'RTC' was not declared in this scope. algem consegiu resolver?

Vocês baixaram e instalaram a Biblioteca DS1307 ???

 http://bricofoy.free.fr/forums/arduino/DS1307.zip

#include <DS1307.h> //inclui a biblioteca de comandos do DS1307 utilizada neste programa. Necessário baixá-la no link acima

Como instalar uma Biblioteca na IDE do Arduino :

Obrigado pela atenção Jose Gustavo, mas já havia instalado esta biblioteca varias vezes e não deu certo! tbm declarei a variavel no codigo. oque mais poderia causar este erro?

Oi MB, bom dia,

qual versão do código você está usando?

Poste aqui anexando o código como arquivo, ou no www.pastbin,com.

Rui

Então Rui Viana, tentei todas as versoes do codigo disponibilizadas . estou usando a versão 1.6.7 da IDE arduino, mas ja tentei a 1.0.5 que tinha e ocorreu o mesmo erro, tbm baixei e instalei a biblioteca ds1307 de varias fontes e continua ocorrendo o erro

Aqui funcionou normal.

só apaguei esse linha

#include <WProgram.h> //é um recurso para referenciar a biblioteca Wiring

Fiz outro programa atualizado pra configurar a data/hora do RTC, bem como, outro programa para o simulador de presença, incluindo alguns recursos que antes nao tinha, como Sistema de Alarme, acionamento da bomba da piscina, e acesso remoto. Segue links:

Data/Hora RTC DS1307: http://labdegaragem.com/forum/topics/configurando-data-hora-do-seu-...

Sistema de Monitoramento Completo: http://labdegaragem.com/forum/topics/sistema-de-monitoramento-remot...

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço