Відповісти

Введіть повідомлення і натисніть Надіслати
Параметри

Назад

Огляд теми (нові повідомленні вгорі)

NoName
2016-03-27 21:57:57

код осветляет забор всего на 9 минут (
с 23:31 - 23:40 'маловато (

guest105
2016-03-26 22:49:46

Робочий код кому потрібно.
Управліня реле по часу

#include "Wire.h"
#define DS3231_I2C_ADDRESS 0x68
// Convert normal decimal numbers to binary coded decimal
int Relay = 4;
byte decToBcd(byte val)
{
  return( (val/10*16) + (val%10) );
}
// Convert binary coded decimal to normal decimal numbers
byte bcdToDec(byte val)
{
  return( (val/16*10) + (val%16) );
}
void setup()
{
  Wire.begin();
  Serial.begin(9600);
    pinMode(Relay, OUTPUT);
    digitalWrite(Relay, HIGH);   
  // set the initial time here:
  // DS3231 seconds, minutes, hours, day, date, month, year
   //setDS3231time(30,00,1,2,22,03,16);
}
void setDS3231time(byte second, byte minute, byte hour, byte dayOfWeek, byte
dayOfMonth, byte month, byte year)
{
  // sets time and date data to DS3231
  Wire.beginTransmission(DS3231_I2C_ADDRESS);
  Wire.write(0); // set next input to start at the seconds register
  Wire.write(decToBcd(second)); // set seconds
  Wire.write(decToBcd(minute)); // set minutes
  Wire.write(decToBcd(hour)); // set hours
  Wire.write(decToBcd(dayOfWeek)); // set day of week (1=Sunday, 7=Saturday)
  Wire.write(decToBcd(dayOfMonth)); // set date (1 to 31)
  Wire.write(decToBcd(month)); // set month
  Wire.write(decToBcd(year)); // set year (0 to 99)
  Wire.endTransmission();
}
void readDS3231time(byte *second,
byte *minute,
byte *hour,
byte *dayOfWeek,
byte *dayOfMonth,
byte *month,
byte *year)
{
  Wire.beginTransmission(DS3231_I2C_ADDRESS);
  Wire.write(0); // set DS3231 register pointer to 00h
  Wire.endTransmission();
  Wire.requestFrom(DS3231_I2C_ADDRESS, 7);
  // request seven bytes of data from DS3231 starting from register 00h
  *second = bcdToDec(Wire.read() & 0x7f);
  *minute = bcdToDec(Wire.read());
  *hour = bcdToDec(Wire.read() & 0x3f);
  *dayOfWeek = bcdToDec(Wire.read());
  *dayOfMonth = bcdToDec(Wire.read());
  *month = bcdToDec(Wire.read());
  *year = bcdToDec(Wire.read());
}
void displayTime()
{
  byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;
  // retrieve data from DS3231
  readDS3231time(&second, &minute, &hour, &dayOfWeek, &dayOfMonth, &month,
  &year);
  // send it to the serial monitor
  Serial.print(hour, DEC);
  // convert the byte variable to a decimal number when displayed
  Serial.print(":");
  if (minute<10)
  {
    Serial.print("0");
  }
  Serial.print(minute, DEC);
  Serial.print(":");
  if (second<10)
  {
    Serial.print("0");
  }
  Serial.print(second, DEC);
  Serial.print(" ");
  Serial.print(dayOfMonth, DEC);
  Serial.print("/");
  Serial.print(month, DEC);
  Serial.print("/");
  Serial.print(year, DEC);
  Serial.print(" Day of week: ");
  switch(dayOfWeek){
  case 1:
    Serial.println("Sunday");
    break;
  case 2:
    Serial.println("Monday");
    break;
  case 3:
    Serial.println("Tuesday");
    break;
  case 4:
    Serial.println("Wednesday");
    break;
  case 5:
    Serial.println("Thursday");
    break;
  case 6:
    Serial.println("Friday");
    break;
  case 7:
    Serial.println("Saturday");
    break;
  }
}
void loop()
{
     byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;
  // retrieve data from DS3231
  readDS3231time(&second, &minute, &hour, &dayOfWeek, &dayOfMonth, &month,
  &year);
if(hour == 23 && minute == 31) {

digitalWrite(Relay, LOW);
}

if(hour == 23 && minute == 40) {

digitalWrite(Relay, HIGH);
}
displayTime();
}

SolovyevS.V.1
2016-03-05 11:16:13
guest105 пише:

поставити вкл 20:00 викл 24:00 кожен день

А почему-бы не взять и не купить готовое суточное реле?
http://www.energoshop.in.ua/Rele-vremen … rezhim.htm

guest105
2016-03-04 23:05:08

поставити вкл 20:00 викл 24:00 кожен день

vvr
2016-03-04 22:53:46

а как планируете выставлять время вкл и время выкл

guest105
2016-03-04 22:51:35

є Arduino Nano ATmega328 і годинник на dsc3231
потрібно включати,виключати реле в певний час
потрібен скетч

NoName
2016-02-22 00:26:13

"Осветления забора по часам" это пять с + )

vvr
2016-02-21 23:55:21

smile

NoName
2016-02-21 23:34:05

дохтур, "еще нужно вкл откл водонапорной башти от тиску води"
задвижка баттерфляй
images?q=tbn:ANd9GcQ7yuucYEfaQg6ChXImUsreeKtfL7AyR2VbZgGKOAosiQ1WLuvQjQ

vvr
2016-02-21 19:25:31

дохтур, у меня шо то болит, вылечити ?
легко!

так и вы - неужели трудно чётко и ясно сформулировать задачу ?
или вы думаете по вашим формулировкам вам кто то поможет  smile

guest105
2016-02-21 19:16:22

да осветления забора. Нужно чтоби вкл в 8  часов  и викл в 12

Green
2016-02-21 17:38:50

Осветление забора? Нет проблем.

vvr
2016-02-21 17:28:35

вы бы более полно описали задание

guest105
2016-02-21 17:24:45

нужно включать і виключать осветления от таймера

Підвал форуму