Ардуино и i2C

chaytan
Offline
Зарегистрирован: 02.02.2012

step962 пишет:

 Это, как я понимаю, второй из используемых вами дисплеев?

Мой вам совет - разнесите два устройства в разные задачи. Или еще лучше - выберите один из дисплеев, а о втором забудьте. Пока.

Добъетесь такой работы первого дисплея, какой от него ждете (ну или выжав из него максимум того, что он может дать) - только после этого достаньте из загашника второй дисплей и приступайте к изучению его возможностей. Сейчас вы задаете вопросы по двум устройства, имеющим весьма существенные отличия в механизме управления яркостью/контрастом, получаете ответ по одному из устройств, пытаетесь приложить его к другому устройству, желаемого результата не получаете и все больше запутываетесь сами и запутываете окружающих.

В общем, решайте - говорим дальше о светодиодном (он же OLED) дисплее или о жидкокристаллическом? 

в обоих вариантах я говорю собстно об одном и томже дисплее, точнее их два и оба жидкокристалические с светодиодной подсветкой. собстно их отличие только в том что один 16*2 а второй 20*4. подсветка и контрастность у обоих реализована совершенно одинаково. тоисть подстроечник для регулировки контраста и транзистор в управлении подсветкой. 

все отличие состоит только в том что на разных схемах задействованы разные выходи микросхем, собстно из-за этого и необходимость использования 2 разных библиотек. 

в этой схеме- http://jt5.ru/image/data/examples/OLED_I2C.gif , нет реализации подсветки но она реализована у меня, по этой схеме только паялся девайс с соответственно добавленой подсветкой.

OLED дисплей у меня не применяется.... но библиотека для схемы имеет управление подсветкой, что собственно я и задействовал... схему как подключено росписывал немногим ранее.

следовательно, нет разницы о каком устройстве идет речь, в обеих случаях используется одна и таже микросхема но по разному подключены выводы а отсюда и необходимость применения разных библиотек.

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

также стоит вопрос прямого управления выводами микросхемы для реализации трех уровней подсветки, это касаемо первой схемы и моих дополнений. для обоих схем  на сколько я понимаю для управления подсветкой используются два состояния выхода микросхемы, здесь полный ноль выключает подсветку и некое состояние (х) отличное от логической еденицы, поскольку оно не 5 вольт. предположительно используется просто подтягивающий резистор на выходе микросхемы. мне здесь надо иметь возможность использовать как полный 0 так и 1 и Х. это позволит иметь три состояния подсветки- при 0 подсветка выключена, при Х подсветка включена но не ярко и при 1 подсветка полностью включена.

дабы избежать путаницы давайте расмотрим вторую схему, где есть только два состояния- включено и выключено. в библиотеке этим двум состояниям соответствуют записи- lcd.backlight(); и lcd.nobacklight();. если в скетче недобавить при инициализации дисплея lcd.backlight(); то подсветка невключится....

как реализовать возможность изменения состояний с одного на другой посредством программы???

 

leshak
Offline
Зарегистрирован: 29.09.2011

>как реализовать возможность изменения состояний с одного на другой посредством программы???

Ну так было-же уже.... и напоминал уже...

 

 

 byte currentLight=0;

loop(){
...
lcd.setBacklight(currentLight);
currentLight=!currentLight;

delay(500); // добавил что-бы мигание было заметно.
...
}

 

Пробовали? Не работает? Не компилируется? Что происходит? Тупой "игнор" как-то не сильно информативен. Ну или, если вы решили, что мои коменты вам ничем не помогают, то так и скажите. Я просто отпишусь от этой ветки и не буду вам достаждать. Баба с воза - кобыла в курсе.

chaytan
Offline
Зарегистрирован: 02.02.2012

leshak пишет:

 >исходная проблема и была именно в том как реализовать включение- выключение подсветки с привязкой к кнопке. собстно решение ей пока ненайдено.

IMHO слова упомниание "кнопки" тут только запутывает. Нужно "включение/выключение" с микроконтроллера. У уж почему он решил включить или выключить (по кнопке, по таймеру, по команде из serial - вторично).

В чем "нерешенность" я так и не понял. Вроде же нашли в библиотеке функции. setBacklight,backlight, noBacklight. Вроде сказали что работает.

Они ничем не хуже чем "выводом микры без участия библиотеки". Более того если вы сделаете это "без библиотеки" вы просто повторите код этих функций. Они же тоже "не магией" включают/выключают, а именно посылкой команды. Вот если вы захотите "два вывода" для подстветки зайдействовать, что-бы разные уровни использовать - тогда да. Нужно свою реализацию писать. Которая может включать один или два выхода.

Но почему, сначала, не попробовать, все-таки, быстрое включение выключение? Второй пример из сообщения #20. Вы пробовали?

Опять-таки, что-бы легче было вас понимать, разделяйся мух и котлет отдельно. Какую задачу вы решаете в данный момент: влючить/выключить подстветку или "различные уровни подстветки"?

А проблему отсуствия логической единицы на ноге, во включенном состоянии решили? Почему на ней только 0.8V, а не 5v как положенно выяснили?

логическа еденица отсутствует на выходе как таковая по причине того что в библиотеке реализовано задействование полного 0 и подтягивающего резистора, а отсюда и 0.8 на выходе. этому имеется весьма веское обьяснение. поскольку в управлении подсветкой задействован n-p-n транзистор который управляет подсветкой посредством подачи массы, то подача на его базу логической еденицы созжет транзистор а может и выход микросхемы. в моем случае схема подключения немного иная и следовательно вот эти 0,8 вольт немного приоткрыват транзистор. если уберу резистор между базой транзистора и минусом яркость увеличится. но для этой схемы нужны именно три состояния. поэтому и спрашиваю как реализовать управление посветкой посредством прямого управления выводом микросхемы без задействования библиотеки.

есть еще один вопрос в догонку- чтение из дисплея мы невыпляем, но зачем тогда задействуется вывод R/W, его ведь можна просто посадить на минус и использовать освободившийся вывод микросхемы уже по собственному усмотрению, даже для реализации тех-же нескольких уровней яркости подсветки или управлять контрастом немного дополнив схему???

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

chaytan
Offline
Зарегистрирован: 02.02.2012

leshak пишет:

>как реализовать возможность изменения состояний с одного на другой посредством программы???

Ну так было-же уже.... и напоминал уже...

 

 

 byte currentLight=0;

loop(){
...
lcd.setBacklight(currentLight);
currentLight=!currentLight;

delay(500); // добавил что-бы мигание было заметно.
...
}

 

Пробовали? Не работает? Не компилируется? Что происходит? Тупой "игнор" как-то не сильно информативен. Ну или, если вы решили, что мои коменты вам ничем не помогают, то так и скажите. Я просто отпишусь от этой ветки и не буду вам достаждать. Баба с воза - кобыла в курсе.

извини, никакого игнора нет, непробовал ваш пример...

ппремного благодарен за то что пытаетесь немного вразумить... пока это все тяжело дается. стараюсь особо недосаждать вопросами...

попробую, обязательно отпишусь... надо только вьехать как и куда это всунуть....

chaytan
Offline
Зарегистрирован: 02.02.2012

leshak, попробовал ваш пример. как вами и предполагалось подсветка моргает с интервалом в 5 секунд... тоисть 5 сек в одном состоянии, 5 сек в другом...

но это попробовал для прикупленого девайса... того для которого нужны два состояния, включить-выключить...

как теперь привязать к выводу мк, тоисть, чтобы изменение было по внешнему воздействию, подразумеваем кнопку....

leshak
Offline
Зарегистрирован: 29.09.2011

 >leshak, попробовал ваш пример. как вами и предполагалось подсветка моргает с интервалом в 5 секунд... тоисть 5 сек в одном состоянии, 5 сек в другом...

Ну должно быть не 5 сек, а пол секунды. delay был на 500. (если у вас других delay в скетче нет). 

Если его эту задержку уменьшить (подбираем опытно), то она будет выглядить, на глаз, как "горит в пол накала".

>но это попробовал для прикупленого девайса...

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

>как теперь привязать к выводу мк, тоисть, чтобы изменение было по внешнему воздействию, подразумеваем кнопку....

То есть с включением, выключением разобрались? Тогда переходим к кнопке (если нет, то кнопку пока не трогаем).

Перечитайте соообщения #4 и #5 из этой темы. В #4 я давал название примера где можно посмотреть "как работать с кнопкой", а в #5 вы сказали что "ну включитьдиод или выключить то проблем нет".

Разницы между, "влючить/выключить" диод, и "включить/выключить" подстветку - никакой. только для диода вы вызываете функцию digitalWrite(...), а для подстветки lcd.setBacklight(...)   (кстати это я опять повторяю что уже писал в #4).

Ну или я опять вас не понимаю. Тогда давайте пример кода, как вы кнопкой пытаетесь включать/выключать подстветку. За базу как раз можете взять стандартный пример button.

И сразу делать "кнопкой регулировку яркость" - тоже не нужно. Вначале добейтесь отдельно "кнопкой включать", отдельно "яркость регулировать", а уж потом совместите эти две вещи.

И определитесь, как вы хотите "яркость крутить", путем быстрого "включения/выключения" (то есть программно) или, все-таки, использовать два выхода PCF8574 и дополнительную объвязку (я-бы естественно вначале пошел первым путем, как более простым).

 

 

chaytan
Offline
Зарегистрирован: 02.02.2012

leshak пишет:

 >leshak, попробовал ваш пример. как вами и предполагалось подсветка моргает с интервалом в 5 секунд... тоисть 5 сек в одном состоянии, 5 сек в другом...

Ну должно быть не 5 сек, а пол секунды. delay был на 500. (если у вас других delay в скетче нет). 

Если его эту задержку уменьшить (подбираем опытно), то она будет выглядить, на глаз, как "горит в пол накала".

>но это попробовал для прикупленого девайса...

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

>как теперь привязать к выводу мк, тоисть, чтобы изменение было по внешнему воздействию, подразумеваем кнопку....

То есть с включением, выключением разобрались? Тогда переходим к кнопке (если нет, то кнопку пока не трогаем).

Перечитайте соообщения #4 и #5 из этой темы. В #4 я давал название примера где можно посмотреть "как работать с кнопкой", а в #5 вы сказали что "ну включитьдиод или выключить то проблем нет".

Разницы между, "влючить/выключить" диод, и "включить/выключить" подстветку - никакой. только для диода вы вызываете функцию digitalWrite(...), а для подстветки lcd.setBacklight(...)   (кстати это я опять повторяю что уже писал в #4).

Ну или я опять вас не понимаю. Тогда давайте пример кода, как вы кнопкой пытаетесь включать/выключать подстветку. За базу как раз можете взять стандартный пример button.

И сразу делать "кнопкой регулировку яркость" - тоже не нужно. Вначале добейтесь отдельно "кнопкой включать", отдельно "яркость регулировать", а уж потом совместите эти две вещи.

И определитесь, как вы хотите "яркость крутить", путем быстрого "включения/выключения" (то есть программно) или, все-таки, использовать два выхода PCF8574 и дополнительную объвязку (я-бы естественно вначале пошел первым путем, как более простым).

 

 

подсветка работала по другой задержке.

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

да, с включением-отключением кажись разобрались... 

буду пробовать управлять кнопкой.

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

leshak
Offline
Зарегистрирован: 29.09.2011

chaytan пишет:

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

Ну дык при очень малых значениях это и будет восприниматся глазом как "яркость". Если видите моргание, значит "еще быстрее моргать нужно (не бойтесь, это не лампочка накаливания, от влючений/выключение не перегорит). Уменьшаем задержку пока моргание не перестанет восприниматся. На этом же все примеры типа Fade построены (регулировка яркости светодиода). Там же на самом деле не диод горит "в пол накала", а именно "быстрое преключение и соотношение времени сколько гореть, а сколько нет". Дает такой ВИЗУАЛЬНЫЙ эффект.

Фактически, из-за того что мы рабоатем по I2C,это мы реализуем некое програмное подобие ШИМ-а, так как "железное" не пропихнуть.

Если же "задержку убрали до 0", а моргание все-равно есть (и нет других задержек в loop). Значит не повезло. "Быстрее" I2C не успевает :( И прийдется идти к более сложному варианту (две ноги на подстветку, плюс обвязка).

chaytan пишет:

буду пробовать управлять кнопкой.

Угу. Попробуйте вначале светодиодом порулить кнопкой. Потом можете попробовать ему яркость "пригасить". Но не с помощью PWM, а именно "включая/выключая" ОЧЕНЬ быстро. Используя только digitalWrite(13). А потом, по аналогии, уже и подсветку дергать будете.

Стандартные грабли при работе с кнопкой:

  • Забыли про подтягивающие резисторы
  • Если качество кнопки "так себе" - начинается "дребезг". Он убирается или конденсатором, либо програмно (запоминаем время нажатия кнопки и если оно меньше, например 150ms, игнорируем это нажатие).
chaytan
Offline
Зарегистрирован: 02.02.2012

спасибо!

вот розвлекаюсь....

 

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

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

одним словом пока курю кнопку с светодиодом.....

 

leshak
Offline
Зарегистрирован: 29.09.2011

 > (запоминаем время нажатия кнопки и если оно меньше, например 150ms, игнорируем это нажатие)

Немного мутно написал. Нужно

  1.  Когда нажали кнопку запомнить время нажатия.
  2. При следующем нажатии нужно опять "посмотреть на время", если c предыдущего нажатия прошло меньше 150ms (подбираем опытым путем) - вообще ничего не делать. Это мусор (плохой контакт в момент нажатия, пока кнопка не прижалась плотно). Если больше - выполням действия и запоминаем новое время нажатия.

>микросхемы не через библиотеку

Курить даташит на эту микросхему. То есть библиоте-ку то вы, все равно будете использовать. Только уже не LCD, а напрямую Wire.h

Она у вас уже подключена. Ее LCD внутри себя использует. Самое простое - посмотреть как он это делает. Посмотреть какой код он шлет что-бы включить "одну ногу" (помоему, где-то выше по ветке, я его даже давал). По даташиту выяснить почему именно такой код он шлет. Ну и аналогично послать другой код, включающий две ноги. Можете даже начать с того, что "влючать/выключать" научится не через LCD.setBacklight(...) , а именно "напрямую", используя wire.h просто посмотрев как это setBacklight делает.

chaytan
Offline
Зарегистрирован: 02.02.2012

спасибо!

буду пробовать.... 

leshak
Offline
Зарегистрирован: 29.09.2011

Брр... я уже запутался в версии ваших библиотек, и схем подключений где "по такому же принципу, но пины другие".

Вообщем смотрел на LiquidCrystal_I2C библиотеку.

Там она шлет, для включения, код 0x08. Скорее всего тут банальное сответсвие битов нагам помеченным P0,P1,P2... и т.п.

ну разве что можеть быть еще муть из-за четерх-битного режима. То есть первая посылка B1111 включит ноги P0-P3, а вторая P4-P7.

Толко, я извиняюсь, но на http://www.dfrobot.com/image/data/DFR0175/I2C%20LCD%20Backpack%20schematic.pdf я вообще не вижу свободных ног. Все уже заюзаны для управления LCD.

 

chaytan
Offline
Зарегистрирован: 02.02.2012

leshak пишет:

Брр... я уже запутался в версии ваших библиотек, и схем подключений где "по такому же принципу, но пины другие".

Вообщем смотрел на LiquidCrystal_I2C библиотеку.

Там она шлет, для включения, код 0x08. Скорее всего тут банальное сответсвие битов нагам помеченным P0,P1,P2... и т.п.

ну разве что можеть быть еще муть из-за четерх-битного режима. То есть первая посылка B1111 включит ноги P0-P3, а вторая P4-P7.

Толко, я извиняюсь, но на http://www.dfrobot.com/image/data/DFR0175/I2C%20LCD%20Backpack%20schematic.pdf я вообще не вижу свободных ног. Все уже заюзаны для управления LCD.

 

получить второй вывод я думаю можна отключив вывод микросхемы от вывода W/R дисплея. если конечно мы не читаем дисплей... но возникает вопрос- а что с него считывать, следовательно вывод дисплея соединяем на минус...

это в теории, на практике незнаю, непробовал... можна попробовать отключить на мной спаяном девайсе и посмотреть на коректность вывода на дисплей...

leshak
Offline
Зарегистрирован: 29.09.2011

chaytan пишет:

 получить второй вывод я думаю можна отключив вывод микросхемы от вывода W/R дисплея. если конечно мы не читаем дисплей... но возникает вопрос- а что с него считывать, следовательно вывод дисплея соединяем на минус...

это в теории, на практике незнаю, непробовал... можна попробовать отключить на мной спаяном девайсе и посмотреть на коректность вывода на дисплей...

Теоретически - хорошая идея. В библиотеке нигде быстрым поиском чтения найти не смог. Возможно нужно будет его не просто "отключить", а еще и притянуть к питанию (что-то типа "вечная запись").

Но "попа" может подкратся с другой стороны. В даташите на HD44780 (страница 46, рисунок 24). Показанно как включается 4-битный режим. (LCD библиотека его включает, иначе вообще ног не хватит). И там RW бит, в момент этого переключения стоит в 0. Смотрит-ли в этот момент HD44780 на его значение - неведомо. Но если "строго следовать даташиту", то RW бит, навсегда ставить в 1 - нельзя. Не включится 4-рех битный режим.

А вообще, чем дальше тем больше мне кажется что проще было-бы не PCA9574 использовать, а тупо поставить там еще одну Atmega8. Хотя-бы на внутреннем осциляторе. Там тебе и ног больше будет, и PWM и проч. няшки. И контрастностью зарулить можно будет.

chaytan
Offline
Зарегистрирован: 02.02.2012

leshak пишет:

chaytan пишет:

 получить второй вывод я думаю можна отключив вывод микросхемы от вывода W/R дисплея. если конечно мы не читаем дисплей... но возникает вопрос- а что с него считывать, следовательно вывод дисплея соединяем на минус...

это в теории, на практике незнаю, непробовал... можна попробовать отключить на мной спаяном девайсе и посмотреть на коректность вывода на дисплей...

Теоретически - хорошая идея. В библиотеке нигде быстрым поиском чтения найти не смог. Возможно нужно будет его не просто "отключить", а еще и притянуть к питанию (что-то типа "вечная запись").

Но "попа" может подкратся с другой стороны. В даташите на HD44780 (страница 46, рисунок 24). Показанно как включается 4-битный режим. (LCD библиотека его включает, иначе вообще ног не хватит). И там RW бит, в момент этого переключения стоит в 0. Смотрит-ли в этот момент HD44780 на его значение - неведомо. Но если "строго следовать даташиту", то RW бит, навсегда ставить в 1 - нельзя. Не включится 4-рех битный режим.

А вообще, чем дальше тем больше мне кажется что проще было-бы не PCA9574 использовать, а тупо поставить там еще одну Atmega8. Хотя-бы на внутреннем осциляторе. Там тебе и ног больше будет, и PWM и проч. няшки. И контрастностью зарулить можно будет.

посмотрел бегло нп даташит PCA9574, впрочем она мега отличий неимеет, все тотже один порт, все тотже вывод на прерывание и разве что добавлен ресет... конечно в подробности пока невникал, позже гляну.

с таким успехом можна смотреть в сторону PCA9555, здесь сразу два порта в одном корпусе, тоисть выводов хватит не только для дисплея и подсветки...

но имеем то что имеем, и соответственно строим на том что есть.

в сети полно схем подключения дисплея в 4 битном режиме с подключеным на минус выводом R/W, следовательно контролер диисплея нормально к этому относится.

в библиотеке собственно есть такие строчки относящиеся к этому выводу- 

// flags for backlight control
#define LCD_BACKLIGHT 0x08
#define LCD_NOBACKLIGHT 0x00

#define En B00000100  // Enable bit
#define Rw B00000010  // Read/Write bit
#define Rs B00000001  // Register select bit

 

leshak
Offline
Зарегистрирован: 29.09.2011

chaytan пишет:

 

с таким успехом можна смотреть в сторону PCA9555, здесь сразу два порта в одном корпусе, тоисть выводов хватит не только для дисплея и подсветки...

Нет. Я имел ввиду другое. Использовать не другую PCAxxxx, а использовать вместо нее еще один микроконтроллер. Который всяко "поумней" будет, и умеет больше. На этом PCA9555 ШИМ например есть? А даже на ATMEGA8 - есть.

То есть имеем два контроллера. Один в ардуине и читает кнопки, второй стоит прямо возле дисплея. Между собой - общаются по I2C. То есть сделать замену PCAxxxx -> ATMEGAxxx

chaytan пишет:

в сети полно схем подключения дисплея в 4 битном режиме с подключеным на минус выводом R/W, следовательно контролер диисплея нормально к этому относится.

Ну значит можно попробовать. Непонятно только почему на минус? Интуитивно W должно быть еденицей. Да и по коду-то "define Rw B00000010" (да, я конечно видел этот кусок кода). Это значит "5v" на ноге.  Ну спорить не буду. Можете даже просто в эту RW ногу, на дисплее, тыцнуть тестером. Если там 5v сейчас (когда все работает) значит к питанию нужно притягивать, если 0 - к земле.

P.S. Оверквотинг не нужен. Когда цитируете, лучше оставлять только минимально-необходимое для понимания вашего ответа. Цитату-же можно редактировать. А то, если каждый из нас будет просто нажимать "цитировать" и дописывать в конце свой ответ, через пару постов простыни будут до австралии. Да и перечитывать одно и тоже 10-ть раз не очень интерестно.

chaytan
Offline
Зарегистрирован: 02.02.2012

 leshak, посмотрел даташит на HD44780, логическая еденица встречается только в случае выполнения чтения из дисплея, что какбы нам ненадо, более упоминания нет, а следовательно недолжно произойти ничего свех естественного. значение могут оказать только задержки, но из тойже 46 страницы видим что при инициализации на входе всегда ноль, в тоже время в библиотеке имеется запись- #define Rw B00000010 // Read/Write bit, соответственно возникает предположение, что просто в библиотеке предусмотрена и возможность чтения с дисплея, что нам вродь как ненадо...

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

вопрос- как внести изменения в библиотеку для реализации просто управления выводами???

для меня это пока трудная задача но очень актуальна...

chaytan
Offline
Зарегистрирован: 02.02.2012

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

подобный вариант реализации всречался в сети неоднократно... и действительно позволяет реализовать гораздо больше возможностей...

chaytan
Offline
Зарегистрирован: 02.02.2012

 относительно кода- "define Rw B00000010", здесь 1 соответствует режиму чтения из дисплея, тоже и в даташите сказано.

скажем так, поскольку имеется девайс на котором можна попробовать перекомутировать этот вывод то надо попробовать это сделать и посмотреть на результат...

P.S. Оверквотинг не нужен.- принял к сведению.... 

leshak
Offline
Зарегистрирован: 29.09.2011

chaytan пишет:

вопрос- как внести изменения в библиотеку для реализации просто управления выводами???

Уже писал. Смотреть как это реализовано в LiquidCrystal_I2C.cpp 

Разбиратся в логике commanв(), send(),expanderWrite()

Я не бог. Сделать в голове эмуляцию неизвестной библиотеки, работающей с неизвестным железом (которого у меня нет)  - не могу. Особенно 4-битность путает. Тем более когда я не могу "тыкнуть в ногу тестером и посмотреть что происходит".

PCXxxx у меня тоже нет. И в наших краях в продаже тоже не видно.

На крайний случай можно попробовать собрать все это в протеусе-эмуляторе (если в его библиотеке есть аналоги), но его еще нужно выкопать. Вспомнить как в него ардуиновский прошивки запихивать. Вообщем это "время". Точно не сегодня. Да и своя работа есть. Так что обещать что "сделаю и дам готовый код" - не могу.

chaytan
Offline
Зарегистрирован: 02.02.2012

 ну какбы готовый код это верх желания, но тогда зачем было связываться с дуней.... надо и самому ковырять, вникать, пробовать....

я это к тому что вы и так много уделяете внимания, тыкаете пальцем куда смотреть а вникать и пробовать конечно буду и сам. а за помощь большое спасибо...

 

leshak
Offline
Зарегистрирован: 29.09.2011

chaytan пишет:

 как-бы теоретически это вполне реально, хоть и конечно не при нынешнем моем уровне познаний в програмировании,

ну не вижу принципиально большей сложности. Наоборот "две одинаковы вещи". Не нужно новые даташиты изучать :)

Можно даже попробовать "вообще тупо", не по I2C им общатся, а по Serial (если на шине, кроме них никого не будет). Соеденить крест-накрест RX,TX пины. В одной делать Serial.write, в другой Serial.read - и все.

Тогда и отдаживать будет проще. Можно вместо одной подключать комп, и в serial мониторе руками изображать другую. Смотреть что первая шлет.

chaytan пишет:

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

А без разницы. Где место под скетч будет больше свободного. Зависит от сложности логики и как часто она будет меняться.

Вообще, конечно, проще в той что "рулит дисплеем". Типа "сразу взяли и вывели". Опускаются этапы "послать команду, принять команду". 

Но если логику часто менять, а "дисплей" в трудно-доступном месте, то конечно лучше выносить в которая "занимается обработкой всего". А "дислейную" делать максимально тупой. ПРинимающей только команды типа "включи пин,включи PWM и т.п.).

Можно вообще "перевернуть мировозрение". "Главной" объявить ту которая дисплем рулит, а "удаленной" считать ту которая с кнопками работает. Типа "считала кнопку" (датчик) и послала ее код на шине.

Кстати.... а это мысль. У вас же есть отдельно PCFxxx? Она же умеет и в обратную сторону работать. То есть состояние своих ног, отправлять в I2C шину. Что если экран подключить напрямую к ардуине, а через удаленную PCFxxx читать состояние кнопок?

 

 

leshak
Offline
Зарегистрирован: 29.09.2011

 Кстати, посмотритека на www.practicalmaker.com/blog/arduino-reading-pcf8574-pins-inputs

Пример как через PCF8574 писать/ЧИТАТЬ состояния ног.

 Вообщем похоже все намного проще :) и тривиальней. Нужно было просто спросить гугл arduino pcf8574, а не лезть в дебри LCD (хотя тоже полезно ;)  )

chaytan
Offline
Зарегистрирован: 02.02.2012

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

почему кнопки и дисплей на одну?- здесь дисплей и кнопки расположены рядом и ими управлять сподручно, собственно в качестве кнопок прикуплен сей девайс- http://parts.dn.ua/product_304.html . а все основные вычисления и управления возложить на вторую, собстно она есть основная.

 

при такой реализации отключеный дисплей предположительно небудет оказывать влияния на работу основного мк что предпочтительнее.

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

leshak
Offline
Зарегистрирован: 29.09.2011

 Вообщем как вам идея сделать, с помощью pcf8574 не "удаленный экран", а "удаленные кнопки"?

leshak
Offline
Зарегистрирован: 29.09.2011

 Похоже что-бы самому  "дергать ногой" RW вам нужно

объявить в скетче фунцию

void expanderWrite(byte _data ) {
  Wire.beginTransmission(0x20);
  Wire.send(_data);
  Wire.endTransmission();
}

Ну и потом вызывать ее

expanderWrite(B00000010) ; включить только rw ногу (4-нога PCF8574, она же P0)
expanderWrite(B10000000) ; включить только 12 ногу (она же P7)
expanderWrite(B10000010) ; 4-тую и 12-тую.
expanderWrite(0) ; выключить все ноги вообще

 Правда, скорее всего, после любого вызова LCD библиотеки, это включение нужно будет делать опять. Она может "сбрасывать" ноги. Так что лучше "текущие состояни подстветки" сохранять в какую-то переменную. И постоянно обновлять состояние ног.

Ну а дальше вешаем резисторы, что-бы от комбинаций включеных 4 и 12-тоги, разные напряжения на транзюк подавались. Ну и все.

 

leshak
Offline
Зарегистрирован: 29.09.2011

 А вот ссылочка как две дуины подружить по I2C

digitalcave.ca/resources/avr/arduino-i2c.jsp - на одной нажимается кнопка, на другой включается светик. Как видите совершенно ничего сложного. Подключение же идентично PCF8574. Два проводка притянутые через резистор к питанию.

chaytan
Offline
Зарегистрирован: 02.02.2012

 какбы девайс на PCA9555 и покупался для экспериментов с удаленными кнопками. собсно дабы не темнить немного о проэкте- управление пневмоподвеской, на своем авто. здесь 4 датчика уровня (стоят на авте), 6 клапанов (4 для контуров, и по одному для ресивера и сброса), компрессор.

в данный момент реализовано на паре штатных блоков, но ввиду некоторых конструктивных особенностей для правильной работы этих двух блоков требуется реализация задания приоритетности в работе. да и нехватает некоторых функций.

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

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

но такой подход неинтересен, хочеться вместе с тем получить и некоторые дополнительные функции, которые отсутствуют или реализованы частично.

вот собственно это и послужило поводом попробовать освоить ардуину.

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

выносная клавиатура, дисплей и основной модуль связываться будуит по и2С.

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

поэтому сейчас покупаются шилды для дуни на которых и строится прототип, тоисть компоненты будут расположены на платформе, удобной для работы.

на данный момент, еще нехватает пары компонентов- блока реле и вот этого шилда для меги- http://parts.dn.ua/product_173.html , в данным момент на украине в продаже в нете я его ненашол. заказал и жду когда появится....

ну, как-то так.... 

здесь мое авто- http://www.drive2.ru/cars/mercedes/vito/vito_1st_generation/chaytan/ и вчастности есть темы посвященные пневмоподвеске. все работы по электрической части выполняю собственноручно. тоисть, знаю куда, зачем и как лезть...
 

chaytan
Offline
Зарегистрирован: 02.02.2012

leshak пишет:

 А вот ссылочка как две дуины подружить по I2C

digitalcave.ca/resources/avr/arduino-i2c.jsp - на одной нажимается кнопка, на другой включается светик. Как видите совершенно ничего сложного. Подключение же идентично PCF8574. Два проводка притянутые через резистор к питанию.

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

chaytan
Offline
Зарегистрирован: 02.02.2012

leshak пишет:

 А вот ссылочка как две дуины подружить по I2C

digitalcave.ca/resources/avr/arduino-i2c.jsp - на одной нажимается кнопка, на другой включается светик. Как видите совершенно ничего сложного. Подключение же идентично PCF8574. Два проводка притянутые через резистор к питанию.

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

за ссылочку спасибо, попробую....

leshak
Offline
Зарегистрирован: 29.09.2011

 >нехватает пары компонентов- блока реле и вот этого шилда для

Ну конечно на шилдах может и удобнее/быстрее, но я лично предпочитаю другой подход. Купил беспаечную макетку. Всякой рассыпухи кнопок, PLS/PBS штекров, разъемов.

IMHO на ней все намного быстрее-дешевле разбиратся эксперементировать. Например тот же растровый экран купил на рынке за 30гр. Воткнул в макетку, пробросил проводки - и все. И главное ждать не нужно пока что-то прийдет.

Etherner - взял за 150гр. На сайтах он же (вообще идентичный, даже по плате-разъемам), но с надписью Arduino  и магическим словом "шилд" стоит уже 250гр.

Если очень хочется именно "шилд", дык и плату вытравить не так страшно как думается (я до ардуины вообще паяльник в руках не держал, а уж про "изготовление плат" и не думал). Не хочется платы изготавливать, так на крайняк паечную макетку взять можно. Тем более что "конечное устройство" в любом случае лучше на своей плате делать. И поверьте, чайнику это вполне по силам. Я даже без arduino.ru разобрался, только за счет гугла.

Для некоторых вещей на радиорынке и платы заводского изготовления продаются. Тыкай детальки и запаивай :)

>в данным момент на украине

А город? Не Киев?

leshak
Offline
Зарегистрирован: 29.09.2011

Сравним

leshak пишет:

Там тебе и ног больше будет, и PWM и проч. няшки. И контрастностью зарулить можно будет.

и

chaytan пишет:

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

Ничего общего не видите? ;)  Так что копирайт (не к ночи будь помянут) за мной ;D

 

chaytan
Offline
Зарегистрирован: 02.02.2012

 нет, не Киев, Кривой Рог.

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

в паянии неновичек, за плечами уже несколько лет, точнее более 15. одно время даже занимался ремонтом РЭА, потом снова вернулся к автомобилям. в нашем городе юзаются несколько девайсов собственного изготовления и разработки, правда там без применения мк. тогда это было ненастолько развито.

далее был перерыв в почти 5 лет, за паяльник несадился... сейчас вот снова вернулся к этому и здесь впринципе из-за желания освоить и хоть частично но и програмирование.

в свое время для своих поделок рисовал платы в лайоуте и отдавал для изготовления, тем самым собирал на собственно ручно разработаной плате.

сам платы нетравил, как-то недовелось, хотя уже думаю пора и это пробовать... но пока и изготовление под заказ по карману...

я мегу 1280 купил за 250 гривен. чудно работает.... и нано за 170.... что тоже относительно приемлемо...

chaytan
Offline
Зарегистрирован: 02.02.2012

ну, здесь из песни слов невикинешь.... )))

спасибо...

скажем так- реализация на двух мк по своей себестоимости практически равна (здесь нео стоимости ардуин а конкретно самих мк), но имеет ряд существенных преимуществ в функциональных возможностях.... это беспорный факт. 

leshak
Offline
Зарегистрирован: 29.09.2011

chaytan пишет:

в паянии неновичек, за плечами уже несколько лет, точнее более 15. одно время даже занимался ремонтом РЭА, потом снова вернулся к автомобилям. в нашем городе юзаются несколько девайсов собственного изготовления и разработки, правда там без применения мк. тогда это было ненастолько развито.

У меня обратная ситуация. В программинге опыта не мало (правда на ПК C#), а вот "руки кривые". И об электрике смутное представление (ну вот с дуиной начал разбиратся, да easyelectronics.ru читать).

chaytan пишет:

в свое время для своих поделок рисовал платы в лайоуте и отдавал для изготовления,

Ну тогда самое сложное вы уже прошли :)  Дальше покупает плата, с нанесенным фоторезистом (что-бы проще). Ультрофиалетова лампа (гривен 40 стоит ультрафиолетовая энергосберегайка). Прозрачная пленка для принтера (есть и для лазерных, есть и для струйников, но тудней найти). Печатаем, прикладываем пленку, светим. Кидаем в ванночку с каустической содой на пару минут (она же средство "крот" для прочистки труб в любом хоз-маге, пара гривен). Потом в ванночку с хлорным железом минут на 5-10-ть(в любом радио-магазине тоже копейки). Промыли водой, насверлили дырок.

chaytan пишет:

 но пока и изготовление под заказ по карману...

А как же кайф "все сделать самому"? :) Так вообще все готовое можно купить. Да и время. Пока закажешь, пока сделают....(вот сейчас же точно никто не сделает, ночь). Хотя на беспаечной все равно быстрее будет. За минуты.

 

chaytan
Offline
Зарегистрирован: 02.02.2012

можно конечно шилд под мегу и самому розвести, но суть всеравно не меняется. как-то обещались в течении недели что приедут. да собсвенно удобен тем что для экспериментов самое оно. у вас, в Киеве, радиорынок хорош, много и часто в свое время на нем покупал. у нас вовсе не фонтан.... разьемы PLS дефицит... шлейфов нет.... выбора деталей для поделок тоже.... всего 2 магазина, да и цены там соответственно неприемлемы....

давича через инэт заказал себе пакет разных деталей. разных разьемов, датчиков, переменников, стоек для закрепления макеток, и это все вышло всего в 300 гривен.... в наших магазинах это вышло-бы гривен 500-600... да и сын в Харькове учится, там прикупает по необходимости.... дисплеи там покупались.... таки дешевле....

поэтому наш радиорынок уже вовсе не тот что был 10 лет назад, сам подторговывал в свободное время радиодеталями... к вам по нынешним ценам ненаездишь, или иными словами, надо ехать для того что-бы серьезно прикупиться... раньше в 150 гривен дорога в оба конца обходилась и можна было ездить даже просто побродить в надежде шось интересное прикупить....

chaytan
Offline
Зарегистрирован: 02.02.2012

 ну, для сейчас имеем запасы говых паечных макеток... это если вдруг надо срочно спаять...

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

как по мне это правильно, поэтому и держу в запасе некоторое количество макеток разных размеров, и соответственно деталей из реально ходовых (резисторы, кондеры, диоды, теже панельки под микры). поэтому создание на той-же макетке всегда возможно, если нет необходимости в приобретении микрух....

 

самому, однозначно в кайф делать.... с этим не поспоришь.... но пока заказываем...

chaytan
Offline
Зарегистрирован: 02.02.2012

 

leshak пишет:

 А вот ссылочка как две дуины подружить по I2C

digitalcave.ca/resources/avr/arduino-i2c.jsp

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

[/quote]опробовал оба режима приведенных по ссылке. прикольно...

для себя определился на реализации в режиме мультимастер, поскольку оба блока сами по себе автономны. 

chaytan
Offline
Зарегистрирован: 02.02.2012

http://roboforum.ru/download/file.php?id=9519&mode=view схема подключения дисплея без использования линии R/W на PCF8574.

leshak
Offline
Зарегистрирован: 29.09.2011

 Было-бы еще интерестно попробовать (когда-нибудь, когда будет времечко) реализовать multi-slave.

Когда одна ардуина работающия Slave на i2c шине, отвечает на два разных адреса. То есть "для шины", выглядит как два различных устройства.

Наприме, по адресу 0x20 она ведет себя идентично PCF8574, а на 0x21 умеет шимы на ноги включать.

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

 

#include <Wire.h>

TwoWire Wire2;
void setup()
{
  Wire.begin(0x20);                // join i2c bus with address #20
  Wire.onReceive(receiveEvent); // register event
  
  Wire2.begin(0x21); // join i2c bus with address #21
  Wire2.onReceive(receiveEvent2); // register other event
  
}

void loop()
{
  delay(100);
}

// function that executes whenever data is received from master
// this function is registered as an event, see setup()
void receiveEvent(int howMany)
{
 /// имитируем работу первого устройства
}

void receiveEvent2(int howMany)
{
 /// имитируем работу второго устройства
}

В этом случае, при навышивании дополнительной логики, не нужно будет вводить какие-то дополнительные "префиксы кодов", городить if-ы и т.п. Например половина ног меги рулит дисплеем, а вторая половина какими-то релюхами.

Значит на 0x20 шлем команды относящиеся к дисплею, а на 0x21 к релюхам. Если, когда-нибудь в будущем мы захоти их разнести на разные физические устройства - это не составить никакой проблемы.

Или можно два дисплея подключить. И с помощью LiquidCrystal_I2C слать тексты либо на один, либо на другой :)

Да вообщем много чего "наваротить" можно. "Виртуализация", тык-скыть ;)

Upd: в 10-той строчке поправил опечатку. не Wire, а Wire2

leshak
Offline
Зарегистрирован: 29.09.2011

chaytan пишет:

http://roboforum.ru/download/file.php?id=9519&mode=view схема подключения дисплея без использования линии R/W на PCF8574.

Это вы рисовали? (эх, вот сразу бы это, а не "вот так только пины другие" ;)  

Если вы, то, если я не ошибаюсь, - это протеус. Причем явно эмуляция уже запущенна. Можете тыкнуть виртуальным тестором в ту самую пресловутую "ногу подстветки"? Выяснить что же на ней должно быть 0.8v или 5v? (если помните, на настоящей схеме не смогли этого сделать из-за плотности монтажа).

chaytan
Offline
Зарегистрирован: 02.02.2012

мульти-слейв???? надо будет попробовать...

 

chaytan
Offline
Зарегистрирован: 02.02.2012

leshak пишет:

 

Это вы рисовали? (эх, вот сразу бы это, а не "вот так только пины другие" ;)  

Если вы, то, если я не ошибаюсь, - это протеус. Причем явно эмуляция уже запущенна. Можете тыкнуть виртуальным тестором в ту самую пресловутую "ногу подстветки"? Выяснить что же на ней должно быть 0.8v или 5v? (если помните, на настоящей схеме не смогли этого сделать из-за плотности монтажа).

рисовал не я. просто попала на глаза схема с отключеным R/W. протеусом не пользуюсь... почему? да, незнаю... 

leshak
Offline
Зарегистрирован: 29.09.2011

chaytan пишет:

мульти-слейв???? надо будет попробовать...

Ну термин вообщем-то не удачный я придумал. Можно понять как "несколько slave устройств на шине" (что вообщем-то не новость).

Скорее "псевдо-мульти-slave". илм virtual-multi-slave :) Так наверное четче описывает картину.

leshak
Offline
Зарегистрирован: 29.09.2011

chaytan пишет:

протеусом не пользуюсь... почему? да, незнаю... 

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

  • И схемы рисовать
  • И платы разводить
  • Библиотека элементов (и электрические параметры и корпуса)
  • Эмулятор

Последняя фишка наверное самая важная. Схему можно "запустить" и потыкать в нее вольтметрами, осцилографами и проч. Умеет и Atmega эмулить, так что прошивку можно и в нем тестить. А при определенной ловкости рук даже пошагово по коду пройти, посмотреть как он выполняется, как меняются переменные и т.п.

Пару раз выручал, когда на форуме, по описанию человека никак не могли понять в чем бага. Собрал схему в протеусе (железа-то настоящего у меня небыло) и увидел "что происходит не так". Ну после этого дать работающий код было уже делом минут.

chaytan
Offline
Зарегистрирован: 02.02.2012

да пробовал его.... но чет тогда невпечатлил.... уже и подробгостей непомню, давно это было. поэтому схему рисую в одном, плату в другом, а все остальное уже на готовом девайсе....

chaytan
Offline
Зарегистрирован: 02.02.2012

 при использовании 2 дисплеев по и2С на PCF8574 достаточно указать адреса обоих микросхем и можна на каждую слать отображение нужной инфы именно для конкретного дисплея. эту возможность сегодня проверил... работает коректно...

но вот неполучилось другое, создал по этому вопросу отдельную тему...

этож, пробовал также две дуни по и2Св режиме мастер-слейв со скетчами по приведенной выше ссылке, почему-то спустя небольшое количество времени мастер зависал.... после ресета мастера опять какоето время он работает а потом снова в ступор... слейв невиснет....

leshak
Offline
Зарегистрирован: 29.09.2011

 

chaytan пишет:

при использовании 2 дисплеев по и2С на PCF8574 достаточно указать адреса обоих микросхем и можна на каждую слать отображение нужной инфы именно для конкретного дисплея. эту возможность сегодня проверил... работает коректно...

Нет, я имел ввиду другое. Если взять, вместо PCF8574, atmeg-a, с достаточным количество ног для руления двумя экранами, то можно что-бы попробовать что-бы она как раз и занималась эмуляцией этих двух PCF8574.

chaytan пишет:

но вот неполучилось другое, создал по этому вопросу отдельную тему...

Ну так дали бы и ссылку.

chaytan пишет:

этож, пробовал также две дуни по и2Св режиме мастер-слейв со скетчами по приведенной выше ссылке, почему-то спустя небольшое количество времени мастер зависал.... после ресета мастера опять какоето время он работает а потом снова в ступор... слейв невиснет....

А пример "один в один" или вносили какие-то свои модификации? Если "один в один" ну тогда "либо питание", либо какая-то бага в библиотеки Wire... (хотя сомневаюсь).

Если пример меняли - давайте код. Если не меняли - попробуйте поменять дуины ролями. Ту которая "мастер" сделайте слейвом, а слейв - мастером.

И еще "виснет" это именно "виснет" или "перестает по i2c общатся"?

chaytan
Offline
Зарегистрирован: 02.02.2012

ссылочка- http://arduino.ru/forum/programmirovanie/dva-lcd-displeya

 

код там не менялся.... все как в оригинале.... все в соответствии с предписанием по выводам.

местами менять не стал, трабл по питанию впринципе исключаю, по той причине что питание именно через эту дюню подается на все. собстно в роли мастера была дуня мега, к ней и блок питания подключен 1 амперный, дуня нано в качестве слейва, два дисплея,  часы на дс3107 и розширитель входов на 9555. поскольку скетчи шьются в разные девайсы то при ненадобности допустим меги от неё отключаю только и2С подсоединения. с иными скетчами что мега что нано работают отменно сутками невыключаясь...

в режиме мультимастера подвисаний ненаблюдалось вообще... 

chaytan
Offline
Зарегистрирован: 02.02.2012

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