На головну сторінку Аквафорум
На головну сторінку




Назад   Аквафорум - форум акваріумістів та тераріумістів > Акваріум та обладнання > "Самоделкин" > Аквариумная автоматика
Аукцион Реєстрація ЧаПи Учасники Календар Нинішні дописи

Примітки

Відповідь
 
Параметри теми Параметри перегляду
Старий 11.07.2014, 12:45   #1
Живу я тут
  
 
Аватар для Sem
 
Реєстрація: 17.09.2004
Звідки Ви: Киев, Троещина
Дописи: 14.486
сказав Дякую: 4.642
сказали Дякую 8.508 раз(и) в 4.382 повідомленні
Надіслати повідомлення для Sem на ICQ Надіслати повідомлення для Sem на Skype
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Цитата:
Допис від AlexVOK Переглянути допис
осталось еще 4% памяти микроконтроллера
мож еще что то полезное можно придумать?
посмотрю на досуге )
мож че и скажу.
__________________
Страна не ублюдков и не воров.


__________________

Sem поза форумом   Відповісти з цитуванням
Старий 11.07.2014, 13:11   #2
Бан за нарушения
  
 
Реєстрація: 21.06.2010
Звідки Ви: Харьков
Дописи: 775
сказав Дякую: 115
сказали Дякую 463 раз(и) в 234 повідомленні
Надіслати повідомлення для klimnet на ICQ Надіслати повідомлення для klimnet на Skype
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

AlexVOK, вы в шапке темы откорректируйте что уже есть и какие выходы задействованы, тогда будет понятно что еще можно прицепить

klimnet поза форумом   Відповісти з цитуванням
Старий 23.07.2014, 11:16   #3
Придивляюся
  
 
Реєстрація: 10.06.2014
Звідки Ви: Киев
Дописи: 24
сказав Дякую: 1
сказали Дякую 8 раз(и) в 8 повідомленні
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

AlexVOK, если я не ошибаюсь, когда-то, в одном из архивов лежала ПНЖшка схемы подключения, а теперь исчезла, можно вернуть, а то по той картинке что в шапке ну ничего не видно.
Спасибо!

diem поза форумом   Відповісти з цитуванням
Старий 30.07.2014, 16:14   #4
Живу я тут
  
 
Аватар для AlexVOK
 
Реєстрація: 11.07.2013
Звідки Ви: Киев (Борщаговка)
Дописи: 665
сказав Дякую: 106
сказали Дякую 535 раз(и) в 244 повідомленні
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

diem, в шапке aqua_controll_PNG.zip

сейчас времени совсем нет, хотел нормальную схемку на рисовать
пока смотрите на рисунке

И в начале исходника скетча, описано какие нагрузки на какие выводы подключаются (можно менять под себя, только акуратно с ШИМ не на всех выводах он поддерживается)

AlexVOK поза форумом   Відповісти з цитуванням
Старий 01.08.2014, 02:08   #5
Придивляюся
  
 
Реєстрація: 09.01.2008
Звідки Ви: Pinsk, RB
Дописи: 43
сказав Дякую: 5
сказали Дякую 16 раз(и) в 12 повідомленні
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Решил тоже такое собрать. Подкупила разумная простота (без всяких UNO/MEGA и громадных цветных сенсорных экранов) и возможность влезть в код.
С первого взгляда: на рисунке надо поменять местами выводы управления вентилятором и термодатчиком
10 - вентилятор
A0 - 1Wire (DS18B20)
И вопрос: Дисплей вроде от 3.3V питается. А ардуинка у вас 5V.
Случайно не надо резисторы на выводы дисплея поставить, или они нормально к 5 вольтам относятся?

AlexNT поза форумом   Відповісти з цитуванням
Старий 04.08.2014, 20:45   #6
Живу я тут
  
 
Аватар для AlexVOK
 
Реєстрація: 11.07.2013
Звідки Ви: Киев (Борщаговка)
Дописи: 665
сказав Дякую: 106
сказали Дякую 535 раз(и) в 244 повідомленні
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

AlexNT, Дисплей отлично работает от 5В , резистор есть на плате дисплея
По поводу рисунка, Вы абсолютно правы

постараюсь сделать полноценную схемку на след неделе.
Все комутации видны по исходнику.

AlexVOK поза форумом   Відповісти з цитуванням
Старий 05.08.2014, 22:32   #7
Придивляюся
  
 
Реєстрація: 01.09.2013
Звідки Ви: Днепропетровск
Дописи: 98
сказав Дякую: 36
сказали Дякую 53 раз(и) в 50 повідомленні
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Вот и ко мне доехал паяльник и прочие мелочи, вот и дошли руки до контроллера. Спаял, залил скетч, включил и... не этого я ожидал - светодиод L мерцает с высокой частотой, так же как и четыре светодиода по периметру экрана, на нажатие любой из кнопок экран реагирует увеличением яркости светодиодов и прекращением их мигания, на ардуине же в этот момент яркость светодиодов снижается.
Может кому-то знакомы эти симптомы, подскажите куда копать.


Востаннє редагував dimul: 05.08.2014 о 22:40..
dimul поза форумом   Відповісти з цитуванням
Старий 05.08.2014, 23:00   #8
Придивляюся
  
 
Реєстрація: 09.01.2008
Звідки Ви: Pinsk, RB
Дописи: 43
сказав Дякую: 5
сказали Дякую 16 раз(и) в 12 повідомленні
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

dimul, как вариант проверь, что "клавиатура" подключена к выводу А7 ардуинки, да и всю остальную схему проверь. Ну и коррекцию схемы в сообщении 128 учти

AlexNT поза форумом   Відповісти з цитуванням
Ці 2 користувач(ів) сказали Дякую AlexNT за це повідомлення:
dimul (06.08.2014), чмо (13.03.2015)
Старий 06.08.2014, 11:20   #9
Живу я тут
  
 
Аватар для AlexVOK
 
Реєстрація: 11.07.2013
Звідки Ви: Киев (Борщаговка)
Дописи: 665
сказав Дякую: 106
сказали Дякую 535 раз(и) в 244 повідомленні
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

dimul, Симптомы знакомые
Судя по описанным симптомам все работает (по поводу L светодиода непонятно).
проблемка в константе контрастности

видать для разных экранов она разная

Вложил текущий релиз своего скетча.
обратите внимание на строки
ledContrast = EEPROM.read(0);
// первичная установка контраста - иначе при первом запуске нихрена невидно
if ((ledContrast==0)||(ledContrast==255)){
ledContrast = 65;
}

можно временно после этого кусочка
вставить жесткое присвоение
ledContrast = 65; -- подбирать рядом около 70

возможны варианты от ничего невидно до весь экран черным залит

Когда будет хоть чуть чуть видно меню,
в системном меню настроите контраст с помощью меню
и уберете жесткое присвоение, ну можно и константу по умолчанию заменить на ту которая будет в меню

По поводу изменения яркости подсветки экрана
изначально яркость минимальная - типа показывает часы (чтоб ночью всю комнату не освещала).
при нажатии любой кнопки появляется меню и рабочая яркость.
яркость можно настраивать через меню
Долучені файли
Тип файлу: zip aqua_controll.zip (9,2 КБ, 232 переглядів)


Востаннє редагував AlexVOK: 06.08.2014 о 11:37..
AlexVOK поза форумом   Відповісти з цитуванням
cказали "Дякую" AlexVOK за цей допис:
dimul (06.08.2014)
Старий 10.08.2014, 01:37   #10
Придивляюся
  
 
Реєстрація: 09.01.2008
Звідки Ви: Pinsk, RB
Дописи: 43
сказав Дякую: 5
сказали Дякую 16 раз(и) в 12 повідомленні
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

В первый раз взялся помучать ардуинку – и сразу куча граблей.
Залил оригинальный скетч. Вместо часов\минут отображаются минуты\секунды (кто-то вроде с таким тоже столкнулся) Где-то прочитал, что кривая библиотека DS1307 . Ладно, оставил пока в покое…
Попытался добавить немного инфы на главный экран. Вместо кода
analogWrite(LED_LIGHT_PIN, DispLight_min);
myGLCD.setFont(MediumNumbers);
myGLCD.clrScr();
myGLCD.printNumI(time.hour, 7, 2, 2, '0');
myGLCD.drawCircle(42, 9, 3);
myGLCD.drawCircle(42, 19, 3);
if(secc < 2) {
myGLCD.drawCircle(42, 9, 2);
myGLCD.drawCircle(42, 19, 2);
myGLCD.drawRect(41, 8, 43, 10);
myGLCD.drawRect(41, 18, 43, 20);
myGLCD.setPixel(42, 9);
myGLCD.setPixel(42, 19);
}
myGLCD.printNumI(time.min, 49, 2, 2, '0');
написал такое:
myGLCD.setFont(SmallFont);
myGLCD.clrScr();

myGLCD.print(rtc.getTimeStr(FORMAT_LONG), 0, 0);

myGLCD.print("T aqv:", 0, 12);
myGLCD.printNumI(aquaT, 39, 12);

String StrLed = "";
if(light1)
StrLed = StrLed + "L1n ";
else
StrLed = StrLed + "L1ff ";
if(light2)
StrLed = StrLed + "L2n ";
else
StrLed = StrLed + "L2ff";
myGLCD.print(StrLed, 0, 21);

myGLCD.print("12345678912345", 0, 30); //Просто занял место
И дальше как в оригинале. Залил в проц. Главный экран отобразил все нормально. Даже часы пошли правильно. Но тут вдруг выяснилось, что в меню main перестали отображаться все пункты!!! Курсор скачет по пустым строкам. Ну и что в этом коде криминального??? Тем более что сломался вывод совсем в другом месте!!! Исследование показало, что пункты исчезли только в тех подменюшках где в функцию drawMenu(); передаются сформированные строки т.е.
drawMenu("Main", "Light " + ll, "Air " + aa, "Kormlenie" + lk, "Settings"); глючит
drawMenu("Main", "Light ", "Air ", "Kormlenie", "Settings"); работает
Такое чувство, что не хватило ресурсов хранить строковые переменные.
PS Да, при первом же ресете часики снова скатились на минуты\секунды

AlexNT поза форумом   Відповісти з цитуванням
Старий 10.08.2014, 02:28   #11
Придивляюся
  
 
Реєстрація: 09.01.2008
Звідки Ви: Pinsk, RB
Дописи: 43
сказав Дякую: 5
сказали Дякую 16 раз(и) в 12 повідомленні
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Ха-ха, в предыдущем посте вместо рожиц должно стоять “: On ”, “: Off ”
По существу: При компиляции оригинала выдает, что ресурсов осталось
29 268 байт (из 30 720 байт максимум)
Явно на грани. Не разгуляешься. Решил чуток освободить ресурсы. Не нашел ничего лучшего чем влезть в библиотеку графики (Знаю, что наглец и так делать нельзя).
Сделал LCD5110_Medium.h
В ней из шрифтов оставил только SmallFont[] и MediumNumbers[]
Убрал функции
drawBitmap();
drawLine();
clrLine();
drawRoundRect();
clrRoundRect();
Зато вывел из тени
drawHLine(); //горизонтальная линия
clrHLine();
drawVLine(); //вертикальная линия
clrVLine();
Для менюшек и этого хватит. Соответственно скорректировал скетч
После компиляции выдало
27 872 байт (из 30 720 байт максимум) Чуток ресурсов освободил. Мда… Старые грабли не исчезли (наивный, блин). Это минус. Зато новые не появились. Это плюс.
Далее уберу
void drawCircle();
void clrCircle();
Обойдемся и без кружочков. Но они в подменюшках используются. Пока еще нормального аналога не придумал.
Есть мысля создать маленький шрифтик с элементами интерфейса. Что-то типа: кружочек\кружочек с точкой квадратик\квадратик с птичкой. Думаю это будет выглядеть красивее и займет меньше ресурсов, чем их рисование.
2 AlexVOK: Какая версия IDE используется у Вас?

AlexNT поза форумом   Відповісти з цитуванням
Старий 10.08.2014, 22:15   #12
Живу я тут
  
 
Аватар для AlexVOK
 
Реєстрація: 11.07.2013
Звідки Ви: Киев (Борщаговка)
Дописи: 665
сказав Дякую: 106
сказали Дякую 535 раз(и) в 244 повідомленні
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

AlexNT,
у меня версия 1.5.2
в 44 посте есть ссылка на полный архив моей среды вместе с библиотеками
попробуйте.
у меня с часами все ок

Сами шрифты хорошо экономят память, остальной функционал мизер.
Если полностью переписать скетчь - можно процентов 30-40 выиграть, но это полная переработка.
по поводу остальных вопросов. Выкладывайте полностью скетч, попробую глянуть.

AlexVOK поза форумом   Відповісти з цитуванням
cказали "Дякую" AlexVOK за цей допис:
чмо (13.03.2015)
Старий 12.08.2014, 19:50   #13
Придивляюся
  
 
Реєстрація: 15.09.2012
Звідки Ви: Харьков
Дописи: 55
сказав Дякую: 13
сказали Дякую 9 раз(и) в 7 повідомленні
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Здравствуйте, подскажите пожалуйста, у меня что то странное происходит, посл подключения питания на дисплее все начинает переключатся и хаотично заходить в пункты меню и что то настраивать. Пробовал отключить клавиатуру - не помогло. Пробовал просто к плате подключить питание и диспле, проблема не исчезла. Если кто знает, подскажите в чем может быть проблема???

Denisios поза форумом   Відповісти з цитуванням
Старий 13.08.2014, 00:19   #14
Живу я тут
  
 
Аватар для AlexVOK
 
Реєстрація: 11.07.2013
Звідки Ви: Киев (Борщаговка)
Дописи: 665
сказав Дякую: 106
сказали Дякую 535 раз(и) в 244 повідомленні
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

Denisios,
вот маленький тестовый скетчь для проверки клавы.
суть ее показать значение АЦП для каждой из кнопок

я ее использовал для задания параметров в коде

//Интерпретируем полученное значение и определяем код нажатой клавиши
if (KeyValue2 > 900)
{KeyNum = BUTTON_NONE;}
else if (KeyValue2 > 450)
{KeyNum = BUTTON_CANCEL;}
else if (KeyValue2 > 250)
{KeyNum = BUTTON_UP;}
else if (KeyValue2 > 100)
{KeyNum = BUTTON_DOWN;}
else {KeyNum = BUTTON_OK;}

если значения будут сильно прыгать - значит с подключение что то не то
попробуйте вывод #define Key_PIN 7 замкнуть на землю например
Долучені файли
Тип файлу: rar key_test.rar (1,2 КБ, 162 переглядів)

AlexVOK поза форумом   Відповісти з цитуванням
cказали "Дякую" AlexVOK за цей допис:
Denisios (17.08.2014)
Старий 13.08.2014, 10:43   #15
Придивляюся
  
 
Реєстрація: 09.01.2008
Звідки Ви: Pinsk, RB
Дописи: 43
сказав Дякую: 5
сказали Дякую 16 раз(и) в 12 повідомленні
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===

А можно тупой вопрос? (это мой первый проект на ардуинке)
Почему #define Key_PIN 7 определяется средой как A7 (и реально при этом работает) ?
А как тогда цифровой пин 7 определить?
И при этом
#define EXT_POWER_ON_PIN 20 Это А6
#define EXT_UDO_MICRO_PIN 17 Это А3
#define EXT_UDO_MACRO_PIN 18 Это А4
#define EXT_UDO_Fe_PIN 19 Это А5
Или я что-то с распиновкой путаю? Нагрузки пока не подключал так что выходы не проверял.

AlexNT поза форумом   Відповісти з цитуванням
cказали "Дякую" AlexNT за цей допис:
чмо (13.03.2015)


Share/Bookmark

Відповідь

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


Тут присутні: 7 (учасників - 0 , гостей - 7)
 

Ваші права у розділі
Ви не можете створювати теми
Ви не можете писати дописи
Ви не можете долучати файли
Ви не можете редагувати дописи

BB-код є Увімк.
Усмішки Увімк.
[IMG] код Увімк.
HTML код Вимк.

Швидкий перехід


Часовий пояс GMT +3. Поточний час: 00:01.


vBulletin 3.8.7 ; Copyright © 2000-2025 Jelsoft Enterprises Limited
Переклад: © Віталій Стопчанський, 2004-2010
(с)Бешлега Олександр Анатолійович, 2002-2025. Використання матеріалів сайту без посилання на джерело заборонено.
Дякуємо за ліцензійну версію форума компанію Барбус, представника торгової марки Sera в Україні.


no new posts