MegaLight - контроллер освещения на Arduino Mega 2560+W5100

Подключение исполнительных устройств, датчиков, контроллеров.

Модератор: immortal

Geban
Сообщения: 136
Зарегистрирован: Вс июл 14, 2013 2:42 pm
Благодарил (а): 6 раз
Поблагодарили: 26 раз

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5

Сообщение Geban » Вс ноя 29, 2015 1:39 am

в Enc28j60Network.h есть блок

Код: Выделить всё

#define ENC28J60_CONTROL_CS    SS
#define SPI_MOSI        MOSI
#define SPI_MISO        MISO
#define SPI_SCK         SCK
#define SPI_SS          SS 
Но где определения сигналов MOSI, MISO, SCK ,SS я не нашел...ни в ардуиновских либах ни в файлах UIP ... gcc тоже вроди не оперирует такими обозначениями... это даже не регистры SPI. Это именно пины.. ибо есть место где написано

Код: Выделить всё

  pinMode(ENC28J60_CONTROL_CS, OUTPUT);
  CSPASSIVE; // ss=0
  //
  pinMode(SPI_MOSI, OUTPUT);
  pinMode(SPI_SCK, OUTPUT);
  pinMode(SPI_MISO, INPUT);
  pinMode(SPI_SS, OUTPUT);

  digitalWrite(SPI_MOSI, LOW);
  digitalWrite(SPI_SCK, LOW); 
Значит где-то надо или определить их или она уже где то прописаны...
Geban
Сообщения: 136
Зарегистрирован: Вс июл 14, 2013 2:42 pm
Благодарил (а): 6 раз
Поблагодарили: 26 раз

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5

Сообщение Geban » Вс ноя 29, 2015 2:08 am

Заработало!
Сделал в Enc28j60Network.h вот так

Код: Выделить всё

#include "mempool.h"


#if defined(__AVR_ATmega2560__) || defined(__AVR_ATmega1280__)
#define ENC28J60_CONTROL_CS     53
#define SPI_MOSI        51
#define SPI_MISO        50
#define SPI_SCK         52
#define SPI_SS             53
#else;
#define ENC28J60_CONTROL_CS     10
#define SPI_MOSI        11
#define SPI_MISO        12
#define SPI_SCK         13
#define SPI_SS             10
#endif;


/*
#define ENC28J60_CONTROL_CS    SS
#define SPI_MOSI        MOSI
#define SPI_MISO        MISO
#define SPI_SCK         SCK
#define SPI_SS          SS
*/
#define UIP_RECEIVEBUFFERHANDLE 0xff 
подключил как написано выше и о чудо! Пинг! )
Geban
Сообщения: 136
Зарегистрирован: Вс июл 14, 2013 2:42 pm
Благодарил (а): 6 раз
Поблагодарили: 26 раз

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5

Сообщение Geban » Вс ноя 29, 2015 2:19 am

Заработал MegaLight на ENC !!! Тормознуто немного... все таки ENC тупее и проще чем W5100! Но для конфига хватит.
Во вложении рабочий вариант. Универсальность не делал, эта версия будет работать только с ENC
Вложения
MegaLight_ENC28j60.zip
(271.32 КБ) 629 скачиваний
За это сообщение автора Geban поблагодарил:
ermind (Вс ноя 29, 2015 2:38 am)
Рейтинг: 1.16%
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5

Сообщение olehs » Вс ноя 29, 2015 2:35 am

Валяется где-то ENC, но ни разу его так и не использовал. Зато начитался про его проблемы: начиная кривой реализацией стека и заканчивая зависаниями.
Если будут результаты более-менее продолжительного использования - отпишитесь, пожалуйста.
Geban
Сообщения: 136
Зарегистрирован: Вс июл 14, 2013 2:42 pm
Благодарил (а): 6 раз
Поблагодарили: 26 раз

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5

Сообщение Geban » Пн ноя 30, 2015 12:18 am

Разобрался с глюками ENC, работает ни чуть не медленее W5100! Тупило из за того что был включен отладочный вывод в консоль, убрал и все залетало. Вот вопрос к автору. Есть такая беда, назначаю 11 кнопок, все ок. Начинаю назначать реле.. ID 1 PIN 22 - Ok! ID2 PIN24 -.... виснет намертво, если сбросить ардуину кнпкой то исчезают все настройки из епром. Т.е ни назначеных кнопок ни реле. С оригинальным скетчем и W5100 тоже самое.
И вот я думаю..это баг платы или софта?

В консоли написано что сохранено 104 байта. На этом моменте все виснет

ЗЫ
Оказывается что если минут 10 подождать то все сохраняется.

ЗЗЫ
Причем такая фигня только с реле.. все остальное добавляется без проблем.
И самая главная беда - не сохраняются настройки в ЕЕПРОМ! После нажатия reset все исчезает
ToteMeiSter
Сообщения: 54
Зарегистрирован: Пн ноя 09, 2015 5:42 pm
Благодарил (а): 7 раз
Поблагодарили: 3 раза

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5

Сообщение ToteMeiSter » Пн ноя 30, 2015 12:04 pm

Вопрос к автору.
А почему это не сделать на базе AMS?
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5

Сообщение olehs » Пн ноя 30, 2015 12:15 pm

Geban писал(а):Разобрался с глюками ENC, работает ни чуть не медленее W5100! Тупило из за того что был включен отладочный вывод в консоль, убрал и все залетало. Вот вопрос к автору. Есть такая беда, назначаю 11 кнопок, все ок. Начинаю назначать реле.. ID 1 PIN 22 - Ok! ID2 PIN24 -.... виснет намертво, если сбросить ардуину кнпкой то исчезают все настройки из епром. Т.е ни назначеных кнопок ни реле. С оригинальным скетчем и W5100 тоже самое.
И вот я думаю..это баг платы или софта?

В консоли написано что сохранено 104 байта. На этом моменте все виснет

ЗЫ
Оказывается что если минут 10 подождать то все сохраняется.

ЗЗЫ
Причем такая фигня только с реле.. все остальное добавляется без проблем.
И самая главная беда - не сохраняются настройки в ЕЕПРОМ! После нажатия reset все исчезает
Очень странно, у меня конфигурация с 11 кнопками занимает 243 байта.
Сейчас, пока проверял, тоже напоролся на зависания, но только если удаляется много объектов сразу. Похоже на нехватку оперативки вследствие фрагментации. Надо подумать, как проверить эту версию...
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5

Сообщение olehs » Пн ноя 30, 2015 12:50 pm

ToteMeiSter писал(а):Вопрос к автору.
А почему это не сделать на базе AMS?
Я так понимаю, вопрос к автору AMS ;)
Я не против - исходники на гитхабе. Старался писать так, чтоб код можно было использовать повторно. Здесь же я по просьбе сообщества поделился тем, что работает у меня в качестве контроллера освещения. Сервером УД при этом у меня является МЖД, который в этом качестве просто вне конкуренции (спасибо Сергею!).

Как по мне, AMS и MegaLight - проекты, преследующие разные цели. Цель MegaLight - автономное управление с настраиваемой, а не программируемой логикой. А вот AMS - более универсальное решение и вполне мог что-то использовать из ML.
Изначально же проект возник из-за отсутствия готовых решений по "продвинутой" работе с кнопками (двойное нажатие, удерживание, автоповтор). Для этого был создан отдельный класс, который можно использовать в своих проектах, было бы желание. Остальное - конструктор из сторонних библиотек.

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

Кстати, у AMS, есть конфигуратор?
Geban
Сообщения: 136
Зарегистрирован: Вс июл 14, 2013 2:42 pm
Благодарил (а): 6 раз
Поблагодарили: 26 раз

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5

Сообщение Geban » Пн ноя 30, 2015 3:37 pm

olehs писал(а): Очень странно, у меня конфигурация с 11 кнопками занимает 243 байта.
Сейчас, пока проверял, тоже напоролся на зависания, но только если удаляется много объектов сразу. Похоже на нехватку оперативки вследствие фрагментации. Надо подумать, как проверить эту версию...
Так и не смог разобраться как хранятся настройки в еепром.. мудренно у вас там )
Еще эффект с тупняком слега становится легче если есть сервер МДМ.. т.е по адресу который указан в прошивке отвечает вэб сервер. В этом случаем тупняки где то по несколько секунд

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

А ML ближе к ПЛК что ли... В принципе идею так же можно развить как и AMS... добавить скриптовый язык описания логики, различные интерфейсы и протоколы..
man8007
Сообщения: 15
Зарегистрирован: Сб ноя 28, 2015 9:50 pm
Благодарил (а): 4 раза
Поблагодарили: 0

Re: MegaLight - контроллер освещения на Arduino Mega 2560+W5

Сообщение man8007 » Пн ноя 30, 2015 9:00 pm

olehs писал(а):собирайте на 1.6.5 от arduino.cc
Большое спасибо все заработало.
Ответить