Простой акваконтроллер ARDUINO - Страница 80 - Аквафорум - форум акваріумістів та тераріумістів
На сайт Всеукраинской Ассоциации аквариумистов
На главную страницу форума



 


Вернуться   Аквафорум - форум акваріумістів та тераріумістів > Аквариум и оборудование > "Самоделкин" > Аквариумная автоматика
Аукцион Регистрация Дневники Справка Пользователи Календарь Поиск Сообщения за день Все разделы прочитаны

Важная информация

Ответ
 
Опции темы Опции просмотра
Старый 17.03.2014, 14:10  
Простой акваконтроллер ARDUINO
 
Аватар для AlexVOK
Живу я тут

Регистрация: 11.07.2013
Адрес: Киев (Борщаговка)
Сообщений: 665
 

Поблагодарил(а) : 106
Поблагодарили 533 раз(а) в 244 сообщениях
AlexVOK AlexVOK поза форумом 17.03.2014, 14:10
Рейтинг: (9 голосов - 5.00 средняя оценка)

Аква контроллер ARDUINO.
(Обратите внимание на доработанный вариант от форумчан. Ссылка внизу!)
( ПродолжениеПростой акваконтроллер ARDUINO v.2 (LED море))

(ГОТОВЫЕ КОНТРОЛЛЕРЫ НЕ ПРОДАЮ)

Решил ознакомиться я с ARDUINO, за одно порадовать своих рыбасей.
Сделать им(себе) доп удобства за минимальную цену и с минимальным напрягом по времени.
На eBay заказал.
Контроллер
Arduino PRO Mini ATMEGA328P 5V 16M (16MHZ) + CP2102 модуль + кабель = полный комплект для программирования - US $3.18

Часы реального времени
I2C RTC DS1307 AT24C32 Real Time Clock Module for Arduino + Батарейка US $1.15
Индикатор 84*48 LCD Module White backlight adapter PCB for Nokia 5110 Arduino US $1.83
Влагозащищенный цифровой датчик температуры
DS18b20 Waterproof Temperature Sensors (5м нормального кабеля) US $3.7

В качестве блока питания зарядка от iPhon там же за 1 бакс.

Еще немного мелочи типа симисторов и опторазвязки для силовой части.

Что вышло в итоге.
Аква контроллер с энергонезависимыми часами реального времени.
Графический экран с регулировкой яркости подсветки и контрастности.
Управление 13-ю нагрузками.
Куча таймеров, ограничил по 25 на канал (памяти хватит на 500).
Поддержка режима «кормление» - отключается фильтр на 20 мин.
Цифровой термометр и управление нагревателем и охладителем(в моем случае кулер).

Органы управления
1 кнопка отмена
2 кнопка вверх
3 кнопка вниз
4 кнопка ОК

Нагрузки
D10 куллер (С регулировкой оборотов)
D11 ЛЕД (Восход/закат)
А0 1W (термометр)
D12 Фильтр
D13 Нагреватель
D1 СО2
D0 Компрессор
А1 Свет1
А2 Свет2
А3 УДО Микро
А4 УДО Макро
А5 УДО Железо
А6 Управление БП
Себестоимость контроллера чуть больше 10 баксов.

На картинке силовая часть в виде готового релейного модуля (такие есть и на 8 каналов - цена около 8 баксов), я использовал свою плату силовой части - схема и печатка во вложении(плату изготавливал по ЛУТ технологии).
Все проверено - работает.

Все комплектующие покупались на ибей и цены ориентировочные доставке везде БЕСПЛАТНАЯ.

ВАЖНО.
соединять ардуино и часы проводниками минимальной длинны !!!

Варианты скетча:

MIHS, скетч с измененными буквами.

Одна из лучших реализаций от форумчан

burnashev https://www.aquaforum.ua/showpost.ph...postcount=1221

Ant0ny https://www.aquaforum.ua/showpost.ph...postcount=1224

Миниатюры
Нажмите на изображение для увеличения
Название: $(KGrHqZ,!rYFG1iISsbLBRzjq2iFV!~~60_12.JPG
Просмотров: 3112
Размер:	18.8 Кб
ID:	415548   Нажмите на изображение для увеличения
Название: TK0616-2-easydealhere.jpg
Просмотров: 3887
Размер:	122.2 Кб
ID:	415549   Нажмите на изображение для увеличения
Название: 047167-1-03.jpg
Просмотров: 3308
Размер:	25.3 Кб
ID:	415550   Нажмите на изображение для увеличения
Название: 047167-1-02.jpg
Просмотров: 3211
Размер:	17.8 Кб
ID:	415551   Нажмите на изображение для увеличения
Название: 27482.jpg
Просмотров: 3505
Размер:	63.9 Кб
ID:	416203  

Нажмите на изображение для увеличения
Название: Плата 220.jpg
Просмотров: 4810
Размер:	88.0 Кб
ID:	451418   Нажмите на изображение для увеличения
Название: aqua_controll_sch.jpg
Просмотров: 11054
Размер:	55.4 Кб
ID:	457447  

Вложения
Тип файла: rar libraries.rar (225.8 Кб, 4439 просмотров)
Тип файла: zip aqua_controll_PNG.zip (1.59 Мб, 4424 просмотров)
Тип файла: rar aqua_controll_spl7.rar (237.5 Кб, 3878 просмотров)
Тип файла: rar aqua_controll.rar (9.1 Кб, 4285 просмотров)
Тип файла: rar 220_v3.rar (18.4 Кб, 3750 просмотров)


Последний раз редактировалось AlexVOK; 02.02.2019 в 00:47..
Просмотров: 488078
Ответить с цитированием
47 пользователей поблагодарили AlexVOK за данный пост:
AkaPain (28.08.2015), Alex Meng (30.10.2017), Andressio (01.02.2015), Ant0ny (08.07.2018), Arduino (03.12.2016), burnashev (16.09.2018), chack (10.12.2014), Denisios (27.05.2014), dimul (29.04.2014), Floyd (09.07.2018), Gorbounov (20.09.2014), h_a_m (12.01.2015), imac2008 (20.12.2015), kolljj (20.11.2014), Litr55 (24.02.2021), LVit (20.01.2016), Mehannik (11.11.2014), MIHS (27.01.2016), Multiman (27.03.2015), nanolab (18.03.2015), Olegvs (26.03.2017), PaninAV (07.09.2018), paradox860 (22.12.2014), pdv1965 (20.03.2014), RozarioAgro (10.03.2015), rusianGrt (09.10.2017), sae74 (22.08.2014), sefr111 (28.04.2016), Sem (22.03.2015), Sikx (30.01.2019), Slesh (18.10.2014), Spiker (12.11.2015), spolyakov (20.06.2015), steals81 (17.03.2014), Toha24510 (22.10.2015), Tvister86 (07.02.2017), ya7sergey (09.02.2017), _Vadim (27.02.2016), _Константин_ (28.03.2016), акв@фанат (23.11.2014), Артур Дент (24.04.2014), Ветал (08.03.2016), Вячеслав Сергеев (14.09.2015), Игорь-1 (30.10.2014), Никола73 (31.03.2017), Петко Шкодров (18.10.2014), Юрий77 (26.02.2016)
Реклама помогает развиваться
Старый 28.10.2018, 00:09   #1186
Я тут недавно
  
 
Аватар для evrebodylies
 
Регистрация: 21.03.2016
Сообщений: 99
Поблагодарил(а) : 13
Поблагодарили 11 раз(а) в 9 сообщениях
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Цитата:
Сообщение от Сергій М Посмотреть сообщение
evrebodylies, Для цитирования фразы или коммента, просто выделите текст и под аватаркой нажмите
На телефоне только разобрался)

Отправлено с моего LLD-L31 через Tapatalk

evrebodylies поза форумом   Ответить с цитированием
Старый 28.10.2018, 00:11   #1187
Живу я тут
  
 
Аватар для Сергій М
 
Регистрация: 31.12.2014
Адрес: Львов
Сообщений: 1,421
Поблагодарил(а) : 279
Поблагодарили 843 раз(а) в 539 сообщениях
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Цитата:
Сообщение от Сергій М Посмотреть сообщение
На аэрацию внешнее резервное питание или ещё что-то
Тоже думаю на это, то вариант с реле которое запускает постоянную аэрацию - супер, оно само замкнёт контакты при пропадении сигнала/питания на внешнее резервное питание...

Сергій М поза форумом   Ответить с цитированием
Старый 28.10.2018, 00:13   #1188
Я тут недавно
  
 
Аватар для evrebodylies
 
Регистрация: 21.03.2016
Сообщений: 99
Поблагодарил(а) : 13
Поблагодарили 11 раз(а) в 9 сообщениях
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Ну это легко сделать. Но вопрос в другом. Компрессор нужен по типу 12в. Либо акб и инвертор.
Цитата:
Сообщение от Сергій М Посмотреть сообщение
Тоже думаю на это, то вариант с реле которое запускает постоянную аэрацию - супер, оно само замкнёт контакты при пропадении сигнала/питания на внешнее резервное питание...
Отправлено с моего LLD-L31 через Tapatalk

evrebodylies поза форумом   Ответить с цитированием
Старый 28.10.2018, 00:25   #1189
Я тут недавно
  
 
Аватар для evrebodylies
 
Регистрация: 21.03.2016
Сообщений: 99
Поблагодарил(а) : 13
Поблагодарили 11 раз(а) в 9 сообщениях
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Цитата:
Сообщение от Сергій М Посмотреть сообщение
Тоже думаю на это, то вариант с реле которое запускает постоянную аэрацию - супер, оно само замкнёт контакты при пропадении сигнала/питания на внешнее резервное питание...
Ещё как вариант обычный компьютерный ибп

Отправлено с моего LLD-L31 через Tapatalk

evrebodylies поза форумом   Ответить с цитированием
Старый 28.10.2018, 08:00   #1190
Харьковский клуб аквариумистов
  
 
Аватар для burnashev
 
Регистрация: 31.03.2011
Адрес: г. Харьков
Сообщений: 584
Поблагодарил(а) : 145
Поблагодарили 292 раз(а) в 213 сообщениях
Отправить сообщение для burnashev с помощью ICQ
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Планирую вообще поставить через диод в реле силовой нагрузки там 3 контакта сигнал есть контакт замыкает 1 и 2 к которому подведена фаза сигнала нет 2 замыкается с 3 моторчик будет питается от акб литий полимер или от 18650 ещё не решил вопрос какие диоды поставить чтоб фаза на акб не прошла! Или запитать к примеру отдельно реле к примеру от той-же аэрации так как я её не использую
Цитата:
Сообщение от evrebodylies Посмотреть сообщение
Ещё как вариант обычный компьютерный ибп

Отправлено с моего LLD-L31 через Tapatalk
tropfish.org.ua
__________________
ParkZoo Fish


__________________

burnashev поза форумом   Ответить с цитированием
Реклама помогает развиваться
Старый 28.10.2018, 08:15   #1191
Я тут недавно
  
 
Аватар для evrebodylies
 
Регистрация: 21.03.2016
Сообщений: 99
Поблагодарил(а) : 13
Поблагодарили 11 раз(а) в 9 сообщениях
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Цитата:
Сообщение от burnashev Посмотреть сообщение
Планирую вообще поставить через диод в реле силовой нагрузки там 3 контакта сигнал есть контакт замыкает 1 и 2 к которому подведена фаза сигнала нет 2 замыкается с 3 моторчик будет питается от акб литий полимер или от 18650 ещё не решил вопрос какие диоды поставить чтоб фаза на акб не прошла! Или запитать к примеру отдельно реле к примеру от той-же аэрации так как я её не использую

tropfish.org.ua
Ну хз. Мне кажется надёжней будет два раздельный реле но с одним управляющим сигналом. Пахать в одну цепь и переменку и постоянку опасно.. Диодами защищать не надёжно. Лучше если. Будут раздельные цепи питания. Это более безопасно. Просто на двух различных реле с одним управляющим сигналом но разными источниками будет лучше. Одно реле как я выше писал с нормально замкнутыми одно с нормально разомкнутыми контактами. Принцип авр. При пропаже питания на контроллере пропадает и управляющий. Соответственно одно реле автоматом разомкнется, другое замкнется. При подаче сигнала произойдёт обратное. Одно замкнется другое разомкнется. Можно и на одном но я бы не рисковал.

Отправлено с моего LLD-L31 через Tapatalk

evrebodylies поза форумом   Ответить с цитированием
Старый 28.10.2018, 08:19   #1192
Харьковский клуб аквариумистов
  
 
Аватар для burnashev
 
Регистрация: 31.03.2011
Адрес: г. Харьков
Сообщений: 584
Поблагодарил(а) : 145
Поблагодарили 292 раз(а) в 213 сообщениях
Отправить сообщение для burnashev с помощью ICQ
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Цитата:
Сообщение от evrebodylies Посмотреть сообщение
Ну хз. Мне кажется надёжней будет два раздельный реле но с одним управляющим сигналом. Пахать в одну цепь и переменку и постоянку опасно.. Диодами защищать не надёжно. Лучше если. Будут раздельные цепи питания. Это более безопасно. Просто на двух различных реле с одним управляющим сигналом но разными источниками будет лучше. Одно реле как я выше писал с нормально замкнутыми одно с нормально разомкнутыми контактами. Принцип авр. При пропаже питания на контроллере пропадает и управляющий. Соответственно одно реле автоматом разомкнется, другое замкнется. При подаче сигнала произойдёт обратное. Одно замкнется другое разомкнется. Можно и на одном но я бы не рисковал.

Отправлено с моего LLD-L31 через Tapatalk
Спасибо значит на 6 аналоговый выход будет аварийний) буду искать часть нужного кода!

tropfish.org.ua
__________________
ParkZoo Fish


__________________

burnashev поза форумом   Ответить с цитированием
Старый 28.10.2018, 11:30   #1193
Живу я тут
  
 
Аватар для Сергій М
 
Регистрация: 31.12.2014
Адрес: Львов
Сообщений: 1,421
Поблагодарил(а) : 279
Поблагодарили 843 раз(а) в 539 сообщениях
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

burnashev, А разве нужно искать ??? evrebodylies совершенно прав, у Вас есть выход управления аэрацией, есть питание - с выхода идёт сигнал на реле, просто запараллелить управление 2-мя реле, одно управляет 220 аэрация, другое 12 резервная аэрация. При отключении питания первое реле разомкнёт контакты, 2-е реле замкнёт.

Сергій М поза форумом   Ответить с цитированием
Старый 30.10.2018, 20:21   #1194
Я тут недавно
  
 
Регистрация: 08.07.2018
Адрес: Суми
Сообщений: 16
Поблагодарил(а) : 12
Поблагодарили 5 раз(а) в 3 сообщениях
Відповідь: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Та досить і одного реле. На +5V повісити і через нормально замкнуті контакти батарейку на помпу комутувати.
Доліпив у свій код скрінсейвер для екрана. А то дуже світить вночі.
idle_key з byte змінив на unsigned long і додав ще одну змінну:

На початку коду:

//byte iddle_key = 0;
unsigned long idle_key = 0;
byte DispLight_cur = 0;

А після блоку if((idle_key > max_idle_key)&&(cur_menu != 0)){
.......
}

додав:

if (cur_menu == 0) {
if(idle_key < max_idle_key*2) {
DispLight_cur = DispLight_min;
} else if((idle_key >= max_idle_key*2)&&(idle_key < max_idle_key*4)) {
DispLight_cur = DispLight_min/2;
} else {
DispLight_cur = DispLight_min/10;
}
}

В результаті після неактивності кнопок приблизно 50 секунд екран притухає на 1/2 від DispLight_min, ще через 150 сек до 1/10.

Ще переробив коррекцію часу на один раз в день, опівночі. У мене годинник спішив всього на 8 секунд за день, однієї корекції достатньо.

// коррекция хода системных часов [Сек]
if (time.hour == 0) { // один раз на добу
new_day = true;
}
if (time.min == 0){
new_hour = true;
}
if ((time.hour == 0)&&(time.min == 5)&&(new_hour)&&(new_day)){
int corr_sec = time.sec + CorrTime; // коррекция хода системных часов [Сек]
byte corr_min = time.min;
if (corr_sec < 0){
corr_sec = corr_sec + 60;
corr_min--;
}
if (corr_sec > 59){
corr_sec = corr_sec - 60;
corr_min++;
}
rtc.setTime(time.hour, corr_min, corr_sec); // Set the time to 12:00:00 (24hr format)
new_hour = false;
new_day = false;
}
//-----

Ага, тоді ще треба:
boolean new_day = false;
на початку вставити.

Ant0ny поза форумом   Ответить с цитированием
Старый 30.10.2018, 20:23   #1195
Я тут недавно
  
 
Аватар для evrebodylies
 
Регистрация: 21.03.2016
Сообщений: 99
Поблагодарил(а) : 13
Поблагодарили 11 раз(а) в 9 сообщениях
Re: Відповідь: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Цитата:
Сообщение от Ant0ny Посмотреть сообщение
Та досить і одного реле. На +5V повісити і через нормально замкнуті контакти батарейку на помпу комутувати.
Доліпив у свій код скрінсейвер для екрана. А то дуже світить вночі.
idle_key з byte змінив на unsigned long і додав ще одну змінну:

На початку коду:

//byte iddle_key = 0;
unsigned long idle_key = 0;
byte DispLight_cur = 0;

А після блоку if((idle_key > max_idle_key)&&(cur_menu != 0)){
.......
}

додав:

if (cur_menu == 0) {
if(idle_key < max_idle_key*2) {
DispLight_cur = DispLight_min;
} else if((idle_key >= max_idle_key*2)&&(idle_key < max_idle_key*4)) {
DispLight_cur = DispLight_min/2;
} else {
DispLight_cur = DispLight_min/10;
}
}

В результаті після неактивності кнопок приблизно 50 секунд екран притухає на 1/2 від DispLight_min, ще через 150 сек до 1/10.

Ще переробив коррекцію часу на один раз в день, опівночі. У мене годинник спішив всього на 8 секунд за день, однієї корекції достатньо.

// коррекция хода системных часов [Сек]
if (time.hour == 0) { // один раз на добу
new_day = true;
}
if (time.min == 0){
new_hour = true;
}
if ((time.hour == 0)&&(time.min == 5)&&(new_hour)&&(new_day)){
int corr_sec = time.sec + CorrTime; // коррекция хода системных часов [Сек]
byte corr_min = time.min;
if (corr_sec < 0){
corr_sec = corr_sec + 60;
corr_min--;
}
if (corr_sec > 59){
corr_sec = corr_sec - 60;
corr_min++;
}
rtc.setTime(time.hour, corr_min, corr_sec); // Set the time to 12:00:00 (24hr format)
new_hour = false;
new_day = false;
}
//-----

Ага, тоді ще треба:
boolean new_day = false;
на початку вставити.
Не говори ерунду. Основное и резервное питание должно быть раздельно. Не дай бог реле глюкнит или ещё что и вся цепь резерва пойдёт по бороде

Отправлено с моего LLD-L31 через Tapatalk

evrebodylies поза форумом   Ответить с цитированием
Старый 30.10.2018, 20:26   #1196
Я тут недавно
  
 
Регистрация: 08.07.2018
Адрес: Суми
Сообщений: 16
Поблагодарил(а) : 12
Поблагодарили 5 раз(а) в 3 сообщениях
Відповідь: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

По якій бороді?

обмотка реле на +5вольт, а два ізольовані контакти замикають батарейку на помпу.

220 і поряд не стоїть

Ant0ny поза форумом   Ответить с цитированием
Старый 30.10.2018, 20:31   #1197
Харьковский клуб аквариумистов
  
 
Аватар для burnashev
 
Регистрация: 31.03.2011
Адрес: г. Харьков
Сообщений: 584
Поблагодарил(а) : 145
Поблагодарили 292 раз(а) в 213 сообщениях
Отправить сообщение для burnashev с помощью ICQ
Re: Відповідь: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

А вы можете перебрать и реализовать часть кода которой из меню можно будет выставлять коррекцию?
Цитата:
Сообщение от Ant0ny Посмотреть сообщение
По якій бороді?

обмотка реле на +5вольт, а два ізольовані контакти замикають батарейку на помпу.

220 і поряд не стоїть
tropfish.org.ua
__________________
ParkZoo Fish


__________________

burnashev поза форумом   Ответить с цитированием
Старый 30.10.2018, 20:43   #1198
Я тут недавно
  
 
Регистрация: 08.07.2018
Адрес: Суми
Сообщений: 16
Поблагодарил(а) : 12
Поблагодарили 5 раз(а) в 3 сообщениях
Відповідь: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Нажмите на изображение для увеличения
Название: Screenshot_56.png
Просмотров: 359
Размер:	5.8 Кб
ID:	644499
Що тут куди замкне?


З меню ще не розбирався, сам би хотів.
Там би не наїхати на ті дані, що в пам'ять пишуться.

Ant0ny поза форумом   Ответить с цитированием
Старый 30.10.2018, 21:07   #1199
Я тут недавно
  
 
Регистрация: 08.07.2018
Адрес: Суми
Сообщений: 16
Поблагодарил(а) : 12
Поблагодарили 5 раз(а) в 3 сообщениях
Відповідь: Re: Відповідь: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Цитата:
Сообщение от burnashev Посмотреть сообщение
А вы можете перебрать и реализовать часть кода которой из меню можно будет выставлять коррекцию?
По пунктам меню дивлюсь, що корекцію можна впихнути в пункт де виставляється час. Там місця багато.
Тільки хотілось би параметр корекції до EEPROM занести, щоб не пропадало після відключення. А там поки не бачу де є вільне місце.

Ant0ny поза форумом   Ответить с цитированием
Старый 01.11.2018, 22:02   #1200
Я тут недавно
  
 
Регистрация: 08.07.2018
Адрес: Суми
Сообщений: 16
Поблагодарил(а) : 12
Поблагодарили 5 раз(а) в 3 сообщениях
Відповідь: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Є корекція через меню!
Наскільки я розібрався з EEPROM, в адреси з 0 до 4 записуються загальні параметри:
ledContrast, ledLight, температура води, мінімальні оберти кулера, максимальні оберти кулера. А далі Alarm починається з 100-го байта. Тобто від 5 до 99 все вільно.
Оскільки корекція може бути зі знаком + або -, то нам підходить змінна типу int, а вона займає 2 байти. Отже використаю для неї байти 5 та 6.
Вся процедура вийшла розмазаною по коду, буду показувати step by step.

Замість #define CorrTime -8
//#define CorrTime -8 // коррекция хода системных часов [Сек]
int CorrTime = -8; // або 0 або скільки треба

тут же або нижче, але до void setup() вставимо:

byte highb;
byte lowb;


EEPROM може бути забитий чим завгодно, наприклад 255. Два байти разом дадуть 32767. Кнопками міняти буде ду-у-у-уже довго. Для того щоб виставити швидко 0 або кілька секунд, при першому завантаженні скетчу розкоментуйте цю пару рядків, що додайте у блок // Init EEPROM

// EEPROM.write(5, highByte(CorrTime)); // set for first time
// EEPROM.write(6, lowByte(CorrTime));

після
maxCool = EEPROM.read(4); // максимальные обороты для охлаждения воды
вставимо:

highb = EEPROM.read(5);
lowb = EEPROM.read(6);
CorrTime = word(highb,lowb);


Спускаємось до приблизно 350 рядка де знаходимо
byte menu_hh;
byte menu_mi;

і додаємо:

int menu_cor;

Спускаємось по коду аж до блоку
case 131: // nastroika sistema ------
Після menu_mi = time.min;
і перед break;
вставляємо:
menu_cor = CorrTime;

Тепер основна частина в блоці case 1311: // Time -------

Мабуть приведу цей блок повністю з виділеними вставками:

case 1311: // Time -----------------------------------------------------------------
{
myGLCD.setFont(SmallFont);
myGLCD.clrScr();

myGLCD.print("wremq",1,0);
myGLCD.print("korr.",1,35);
myGLCD.print(rtc.getTimeStr(FORMAT_SHORT),RIGHT,0) ;
myGLCD.drawLine(0,8,83,8);
myGLCD.drawLine(0,9,83,9);
if((cur_item == 1)&&cur_item_edit)
myGLCD.invertText(true);
myGLCD.printNumI(menu_hh,26,20,2,'0');
myGLCD.invertText(false);
myGLCD.print(":",39,20);
if((cur_item == 2)&&cur_item_edit)
myGLCD.invertText(true);
myGLCD.printNumI(menu_mi,46,20,2,'0');
myGLCD.invertText(false);
if((cur_item == 3)&&cur_item_edit) // my add
myGLCD.invertText(true); //
myGLCD.printNumI(menu_cor,35,35,2,'0'); //
myGLCD.invertText(false); //


if(cur_item == 1)
myGLCD.drawRoundRect(25,18,39,28);
if(cur_item == 2)
myGLCD.drawRoundRect(45,18,59,28);
if(cur_item == 3) // my add
myGLCD.drawRoundRect(34,33,58,42); //


switch(key){
case BUTTON_UP:
if(!cur_item_edit){
cur_item--;
if(cur_item < 1)
cur_item = 3;
}else{
if(cur_item == 1){
menu_hh++;
if(menu_hh == 24)
menu_hh = 0;
}
if(cur_item == 2){
menu_mi++;
if(menu_mi == 60)
menu_mi = 0;
}
if(cur_item == 3){
menu_cor++;
}

}
break;
case BUTTON_DOWN:
if(!cur_item_edit){
cur_item++;
if(cur_item > 3)
cur_item = 1;
}else{
if(cur_item == 1){
if(menu_hh == 0)
menu_hh = 23;
else
menu_hh--;
}
if(cur_item == 2){
if(menu_mi == 0)
menu_mi = 59;
else
menu_mi--;
}
if(cur_item == 3){
menu_cor--;
}

}
break;
case BUTTON_OK:
if(cur_item_edit){
switch(cur_item){
case 1:
rtc.setTime(menu_hh, time.min, 0); // Set the time to 12:00:00 (24hr format)
break;
case 2:
rtc.setTime(time.hour, menu_mi, 0); // Set the time to 12:00:00 (24hr format)
break;
case 3:
CorrTime = menu_cor;
EEPROM.write(5, highByte(CorrTime)); // correction value in seconds
EEPROM.write(6, lowByte(CorrTime));
break;

}
cur_item_edit = false;
}else
cur_item_edit = true;
break;
case BUTTON_CANCEL:
cur_item_edit = false;
cur_menu = 131;
cur_item = 1;
break;
}
myGLCD.update();
break;
}

Ось і все. Тепер в меню де виставляється час, додалась можливість виставити корекцію.
Думаю, що зрозуміло виклав. Будуть питання - велкам

Ant0ny поза форумом   Ответить с цитированием


Share/Bookmark

Ответ

Метки
arduino, акваконтроллер


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход




Текущее время: 00:01. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
(с)Бешлега Олександр Анатолійович, 2002-2024. Використання матеріалів сайту без посилання на джерело заборонено.
Дякуємо за ліцензійну версію форума компанію Барбус, представника торгової марки Sera в Україні.

Друзі форуму: Зоомагазин byCOLLAR.com; waudog.ua

AQA.ru  - все об аквариумах

no new posts