Таймер на DS3231
- Войдите на сайт для отправки комментариев
Чт, 13/08/2015 - 09:57
Вот накалякал таймер с отключением/включением по времени. Но при проверке выдаёт ошибку. Думаю что реализовал я функцию включения/ выключения неверно. Подскажите что не так пожалуйста.
[code]
#include <Wire.h>
#include <DS3231.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
DS3231 Clock;
bool h12 = false;
bool PM;
bool Century = false;
void setup() {
Wire.begin();
Clock.setSecond(50);
Clock.setMinute(52);
Clock.setHour(16);
Clock.setDoW(3);
Clock.setDate(12);
Clock.setMonth(8);
Clock.setYear(15);
lcd.begin(16, 2);
lcd.clear();
lcd.setBacklight(HIGH);
Wire.begin();
pinMode(13, OUTPUT);
}
void loop() {
int second, minute, hour, date, month, year, temperature;
year = Clock.getYear();
month = Clock.getMonth(Century);
date = Clock.getDate();
hour = Clock.getHour(h12, PM);
minute = Clock.getMinute();
second = Clock.getSecond();
temperature = Clock.getTemperature();
if ( hour <= 18 $$ hour >= 9 )
{
digitalWrite(13, HIGH);
}
else
{
digitalWrite(13, HIGH);
delay(10000);
digitalWrite(13, LOW);
delay(10000);
}
lcd.print("20");
lcd.print(year, DEC);
lcd.print('-');
if (month < 10) lcd.print('0');
lcd.print(month, DEC);
lcd.print('-');
if (date < 10) lcd.print('0');
lcd.print(date, DEC);
lcd.setCursor(0, 1);
if (hour < 10) lcd.print('0');
lcd.print(hour, DEC);
lcd.print(':');
if (minute < 10) lcd.print('0');
lcd.print(minute, DEC);
lcd.print(':');
if (second < 10) lcd.print('0');
lcd.print(second, DEC);
lcd.print(' ');
lcd.print("Temp:");
lcd.print(temperature);
delay(500);
lcd.setCursor(0, 0);
}
[/code]
Дайте-ка я догадаюсь... ага... ошибка в строке "if ( hour <= 18 $$ hour >= 9 )". Дааа, тут без помощи форума никак, не описание же синтаксиса читать...
Будут еще ошибки - сразу пишите сюда (а лучше для каждой ошибки - отдельную тему создавайте), только ошибки не указывайте, так интереснее.
Хорошо. Где про синтаксис почитать?
Вы шутите, наверное. http://arduino.ru/Reference , ищите "Логические операторы".
Я конечно извиняюсь за таое некоректное изложение своей проблемы. Но да, проблема в if ( hour <= 18 $$ hour >= 9 ). Подскажите что не так.
про логические операторы почитал?
if ( hour >= 9 && hour <= 18 )
Я конечно извиняюсь за таое некоректное изложение своей проблемы. Но да, проблема в if ( hour <= 18 $$ hour >= 9 ). Подскажите что не так.
Вам выше дали ссылку. Внимательно посмотрите как пишется логический оператор И.
Ну я так понял, что функцией :
Сравните строчку, которую выше написал vvadim и вашу. Побуквенно. Найдите различие.
Ещё раз откройте справку по синтаксису и посмотрите как правильно пишется логическое И.
Сори что торможу в форуме. Не обновились сообщения
Ребята))) я индюк слепой, только сейчас заметил)))
Плюсанул твоё последнее сообщение...
Вы шутите, наверное. http://arduino.ru/Reference , ищите "Логические операторы".
Да ладно Вам. Человек увидел что Вы по первому требованию постите готовый код, а Вы тут со своим синтаксисом.
:D
не выгружается, при выгрузке выдаёт ошибку
Вы шутите, наверное. http://arduino.ru/Reference , ищите "Логические операторы".
Да ладно Вам. Человек увидел что Вы по первому требованию постите готовый код, а Вы тут со своим синтаксисом.
:D
Признаю, был вчера непозволительно добр. Каюсь. Обещаю впредь !
"Дайте закурить, а то так пить хочется, что переночевать негде."
У человека все мысли о курсе доллара, а вы всей кучей накинулись:)
Он еще не написал что у него двое детей и черепаха.
Спасибо ребяты, всё работает, ошибок нету! Чего б я делал без вашей помощи?! Главное- все такие отзывчивые, прям я не ожидал. Надеюсь кому- нибудь из ищущих, таких как я, пригодится этот бесплатный, рабочий скетч. Да, кстати, ошибка была в том, что неправильно был выбран порт. Спасибо за отзывчивость!
(а лучше для каждой ошибки - отдельную тему создавайте), только ошибки не указывайте, так интереснее.
вот это правильно!!!))))
Надеюсь кому- нибудь из ищущих, таких как я, пригодится этот бесплатный, рабочий скетч.
ок - всем кретинам будем бесплатно выдавать твой скетч