 |
|
11.07.2014, 12:45
|
#1
|
|
Живу я тут
Реєстрація: 17.09.2004
Звідки Ви: Киев, Троещина
Дописи: 14.486
сказав Дякую: 4.642
сказали Дякую 8.508 раз(и) в 4.382 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Цитата:
Допис від AlexVOK
осталось еще 4% памяти микроконтроллера
мож еще что то полезное можно придумать?
|
посмотрю на досуге )
мож че и скажу. 
__________________
Страна не ублюдков и не воров.
__________________  
|
|
|
11.07.2014, 13:11
|
#2
|
|
Бан за нарушения
Реєстрація: 21.06.2010
Звідки Ви: Харьков
Дописи: 775
сказав Дякую: 115
сказали Дякую 463 раз(и) в 234 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
AlexVOK, вы в шапке темы откорректируйте что уже есть и какие выходы задействованы, тогда будет понятно что еще можно прицепить
|
|
|
23.07.2014, 11:16
|
#3
|
|
Придивляюся
Реєстрація: 10.06.2014
Звідки Ви: Киев
Дописи: 24
сказав Дякую: 1
сказали Дякую 8 раз(и) в 8 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
AlexVOK, если я не ошибаюсь, когда-то, в одном из архивов лежала ПНЖшка схемы подключения, а теперь исчезла, можно вернуть, а то по той картинке что в шапке ну ничего не видно.
Спасибо!
|
|
|
30.07.2014, 16:14
|
#4
|
|
Живу я тут
Реєстрація: 11.07.2013
Звідки Ви: Киев (Борщаговка)
Дописи: 665
сказав Дякую: 106
сказали Дякую 535 раз(и) в 244 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
diem, в шапке aqua_controll_PNG.zip
сейчас времени совсем нет, хотел нормальную схемку на рисовать
пока смотрите на рисунке
И в начале исходника скетча, описано какие нагрузки на какие выводы подключаются (можно менять под себя, только акуратно с ШИМ не на всех выводах он поддерживается)
|
|
|
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 вольтам относятся?
|
|
|
04.08.2014, 20:45
|
#6
|
|
Живу я тут
Реєстрація: 11.07.2013
Звідки Ви: Киев (Борщаговка)
Дописи: 665
сказав Дякую: 106
сказали Дякую 535 раз(и) в 244 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
AlexNT, Дисплей отлично работает от 5В , резистор есть на плате дисплея
По поводу рисунка, Вы абсолютно правы
постараюсь сделать полноценную схемку на след неделе.
Все комутации видны по исходнику.
|
|
|
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..
|
|
|
05.08.2014, 23:00
|
#8
|
|
Придивляюся
Реєстрація: 09.01.2008
Звідки Ви: Pinsk, RB
Дописи: 43
сказав Дякую: 5
сказали Дякую 16 раз(и) в 12 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
dimul, как вариант проверь, что "клавиатура" подключена к выводу А7 ардуинки, да и всю остальную схему проверь. Ну и коррекцию схемы в сообщении 128 учти
|
|
|
|
Ці 2 користувач(ів) сказали Дякую AlexNT за це повідомлення:
|
|
06.08.2014, 11:20
|
#9
|
|
Живу я тут
Реєстрація: 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
возможны варианты от ничего невидно до весь экран черным залит
Когда будет хоть чуть чуть видно меню,
в системном меню настроите контраст с помощью меню
и уберете жесткое присвоение, ну можно и константу по умолчанию заменить на ту которая будет в меню
По поводу изменения яркости подсветки экрана
изначально яркость минимальная - типа показывает часы (чтоб ночью всю комнату не освещала).
при нажатии любой кнопки появляется меню и рабочая яркость.
яркость можно настраивать через меню
Востаннє редагував AlexVOK: 06.08.2014 о 11:37..
|
|
|
|
cказали "Дякую" AlexVOK за цей допис:
|
|
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 + "L1  n ";
else
StrLed = StrLed + "L1  ff ";
if(light2)
StrLed = StrLed + "L2  n ";
else
StrLed = StrLed + "L2  ff";
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 Да, при первом же ресете часики снова скатились на минуты\секунды
|
|
|
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 используется у Вас?
|
|
|
10.08.2014, 22:15
|
#12
|
|
Живу я тут
Реєстрація: 11.07.2013
Звідки Ви: Киев (Борщаговка)
Дописи: 665
сказав Дякую: 106
сказали Дякую 535 раз(и) в 244 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
AlexNT,
у меня версия 1.5.2
в 44 посте есть ссылка на полный архив моей среды вместе с библиотеками
попробуйте.
у меня с часами все ок
Сами шрифты хорошо экономят память, остальной функционал мизер.
Если полностью переписать скетчь - можно процентов 30-40 выиграть, но это полная переработка.
по поводу остальных вопросов. Выкладывайте полностью скетч, попробую глянуть.
|
|
|
|
cказали "Дякую" AlexVOK за цей допис:
|
|
12.08.2014, 19:50
|
#13
|
|
Придивляюся
Реєстрація: 15.09.2012
Звідки Ви: Харьков
Дописи: 55
сказав Дякую: 13
сказали Дякую 9 раз(и) в 7 повідомленні
|
Re: Простой акваконтроллер ARDUINO ===www.aquaforum.ua===
Здравствуйте, подскажите пожалуйста, у меня что то странное происходит, посл подключения питания на дисплее все начинает переключатся и хаотично заходить в пункты меню и что то настраивать. Пробовал отключить клавиатуру - не помогло. Пробовал просто к плате подключить питание и диспле, проблема не исчезла. Если кто знает, подскажите в чем может быть проблема???
|
|
|
13.08.2014, 00:19
|
#14
|
|
Живу я тут
Реєстрація: 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 замкнуть на землю например
|
|
|
|
cказали "Дякую" AlexVOK за цей допис:
|
|
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
Или я что-то с распиновкой путаю? Нагрузки пока не подключал так что выходы не проверял.
|
|
|
|
cказали "Дякую" AlexNT за цей допис:
|
|
 |
|
|
Тут присутні: 7 (учасників - 0 , гостей - 7)
|
|
|
Ваші права у розділі
|
Ви не можете створювати теми
Ви не можете писати дописи
Ви не можете долучати файли
Ви не можете редагувати дописи
HTML код Вимк.
|
|
|
Часовий пояс GMT +3. Поточний час: 00:01.
|