Вот ссылка на Ардуиновскую библиотеку, тем паче на сколько я понял, графику можно построить конструктором, кроме того графика крутится на самом экране и не жрет ресурсы Ардуины.
Availability: Out of stock
Отправлено 18 Май 2015 - 17:45
Олеговский скетч у меня скомпилировался или в 1.0.4 ,или 1.0.5 среде ардуино. Попробуй и в той, и в другой скомпилировать.Из папки либраре удали все и закинь файлы из архива прежде чем будешь компилировать.
к стати, не рекомендую пользоваться ниже 1.0.5, т. к. там был баг с утечкой дин. памяти.
вроде в 1.0.5 поправили, но до конца я не понял http://code.google.c...s/detail?id=857
Отправлено 20 Май 2015 - 16:18
Тема глухо молчит)))
Отправлено 20 Май 2015 - 18:51
так ничего не происходит))
Отправлено 20 Май 2015 - 19:05
Ура, приехала таки моя МЕГА взамен сгоревшей!
Андрей, вопросы по скетчу:
1) будет ли работать ручной тест освещения, если не подключены RTC?
2) будет ли работать канал в тестовом режиме, если вместо драйвера с диодами подключить тестовый диод с резистором?
3) с января скетч не обновлялся, или я не там беру?
Отправлено 20 Май 2015 - 19:08
Без часов ваще ниче работать не будет.
Тестовый диод должен быть маломощным. Очень.
Скетч действительно не обновлялся. Забот много навалилось. Сейчас полегче уже. Потихоньку ковыряю...
Но пока показать нечего.
Отправлено 20 Май 2015 - 19:36
Диоды стандартные учебные, которые для обучения (скетчи blink и fade работают как надо).
Без часов у меня как-то с грехом пополам засветила только луна (она одна осталась 8 бит).
А можно как-то всё на 8 бит переключить? Может переменная какая или #define?
Отправлено 20 Май 2015 - 19:44
Отправлено 20 Май 2015 - 19:48
Нифига.
В Jarduino 1.2 (оригинальном) всё регулируется, как надо.
В твоем не хотит (11 бит каналы), луну (8 бит) регулирует.
Скетч стандартный. Прога без часов не зависает, только время забагованное показывает.
в 160-м забыл, где ориентацию экрана повернуть..
Отправлено 20 Май 2015 - 20:15
Разобрался.
Оказывается, у тебя в скетче названия цветов для пинов не соответствуют номерам.
Практически никак не соответствуют
причем, народ уже тебе жаловался
Прикол в том что , прописываю по разному номера пинов , все равно у меня цвета регулируются таким образом
теплый белый -7 пин
холодный - 3
RBL - 8
красный -6
UV -12
OR -5
GRN - 2
Moon -4
Шилд я сделал из этого http://ru.aliexpress...ommendVersion=1
Плюнул на это дело,и подключил ЛД так, как получается регулировать. Благо все каналы работают.А разницы в том что не на 12 ,а на 7 пине теплый регулируется , как то по барабану
Отправлено 20 Май 2015 - 20:34
и неудивительно.
например, переменная ledPinWhite упоминается один раз в переменныйх, а второй раз в setup()
стало быть, ШИМ-регулировка (то, что раньше использовалось в analogwrite), теперь захардкодена независимо от глобальных переменных:
//----------- 11 bit PWM outputs
if (w_out) sbi_mix(TCCR4A, COM4B1); else cbi_mix(TCCR4A, COM4B1); // T4B port 7
if (b_out) sbi_mix(TCCR3A, COM3C1); else cbi_mix(TCCR3A, COM3C1); // T3C port 3
if (rb_out) sbi_mix(TCCR4A, COM4C1); else cbi_mix(TCCR4A, COM4C1); // T4C port 8
if (r_out) sbi_mix(TCCR4A, COM4A1); else cbi_mix(TCCR4A, COM4A1); // T4A port 6
if (uv_out) sbi_mix(TCCR1A, COM1B1); else cbi_mix(TCCR1A, COM1B1); // T1B port 12
if (o_out) sbi_mix(TCCR3A, COM3A1); else cbi_mix(TCCR3A, COM3A1); // T3A port 5
if (gr_out) sbi_mix(TCCR3A, COM3B1); else cbi_mix(TCCR3A, COM3B1); // T3B port 2
внимание вопрос: чьи художества? и чего с этим будем делать?
может пора на github выложить и совместными усилиями как-то причёсывать?
Отправлено 20 Май 2015 - 23:07
внимание вопрос: чьи художества? и чего с этим будем делать?
Кррруто и грозно.
может пора на github выложить и совместными усилиями как-то причёсывать?
У семи нянек дитя без глазу, кажется так.....
Теперь понятно откуда эти проблемы в STD160.
У первоначального автора программы (Svaz) был шилд своей разработки, со своим пинаутом. У Андрея - мой.
В режиме 11 бит, другого здесь просто и нет, программа несовместима по выходам со стандартным шилдом.
С ним будет работать только ХХ выходов причем только так
if (w_out) sbi_mix(TCCR4A, COM4B1); else cbi_mix(TCCR4A, COM4B1); // T4B port 7if (b_out) sbi_mix(TCCR3A, COM3C1); else cbi_mix(TCCR3A, COM3C1); // T3C port 3
if (rb_out) sbi_mix(TCCR4A, COM4C1); else cbi_mix(TCCR4A, COM4C1); // T4C port 8if (r_out) sbi_mix(TCCR4A, COM4A1); else cbi_mix(TCCR4A, COM4A1); // T4A port 6
if (uv_out) sbi_mix(TCCR1A, COM1B1); else cbi_mix(TCCR1A, COM1B1); // T1B port 12if (o_out) sbi_mix(TCCR3A, COM3A1); else cbi_mix(TCCR3A, COM3A1); // T3A port 5if (gr_out) sbi_mix(TCCR3A, COM3B1); else cbi_mix(TCCR3A, COM3B1); // T3B port 2
небольшим изменением программы можно добавить еще один канал на любой пропавший цвет
if ( yel_out ) sbi_mix(TCCR1A, COM1A1); else cbi_mix(TCCR1A, COM1A1); // T1A port 11
Т.е максимум что можно получить со стандартного шилда без переделки - это 4 канала, не более.
С моим шилдом выходы выглядят так
if (w_out) sbi_mix(TCCR4A, COM4B1); else cbi_mix(TCCR4A, COM4B1); // T4B port 7
if (b_out) sbi_mix(TCCR3A, COM3C1); else cbi_mix(TCCR3A, COM3C1); // T3C port 3
if (rb_out) sbi_mix(TCCR4A, COM4C1); else cbi_mix(TCCR4A, COM4C1); // T4C port 8
if (r_out) sbi_mix(TCCR4A, COM4A1); else cbi_mix(TCCR4A, COM4A1); // T4A port 6
if (uv_out) sbi_mix(TCCR1A, COM1B1); else cbi_mix(TCCR1A, COM1B1); // T1B port 12
if (o_out) sbi_mix(TCCR3A, COM3A1); else cbi_mix(TCCR3A, COM3A1); // T3A port 5
if (gr_out) sbi_mix(TCCR3A, COM3B1); else cbi_mix(TCCR3A, COM3B1); // T3B port 2
Это то что "хардкодед" и изменить это нельзя никак. Т.е имена цветов "внутри" этого списка можно перетасовать, но перетащить на другие пины нельзя.
В заголовке программы у Андрея ошибка
/ ------------- ДЛЯ СТАНДАРТНОГО ШИЛДА MEGA2560
#ifdef Standard_shield
...........
...........
..........
В обоих вариантах выводы указанны неправильно, надо так как я показал в куске текста.
Отправлено 20 Май 2015 - 23:10
и неудивительно.
например, переменная ledPinWhite упоминается один раз в переменныйх, а второй раз в setup()
стало быть, ШИМ-регулировка (то, что раньше использовалось в analogwrite), теперь захардкодена независимо от глобальных переменных:
//----------- 11 bit PWM outputs
if (w_out) sbi_mix(TCCR4A, COM4B1); else cbi_mix(TCCR4A, COM4B1); // T4B port 7
if (b_out) sbi_mix(TCCR3A, COM3C1); else cbi_mix(TCCR3A, COM3C1); // T3C port 3
if (rb_out) sbi_mix(TCCR4A, COM4C1); else cbi_mix(TCCR4A, COM4C1); // T4C port 8
if (r_out) sbi_mix(TCCR4A, COM4A1); else cbi_mix(TCCR4A, COM4A1); // T4A port 6
if (uv_out) sbi_mix(TCCR1A, COM1B1); else cbi_mix(TCCR1A, COM1B1); // T1B port 12
if (o_out) sbi_mix(TCCR3A, COM3A1); else cbi_mix(TCCR3A, COM3A1); // T3A port 5
if (gr_out) sbi_mix(TCCR3A, COM3B1); else cbi_mix(TCCR3A, COM3B1); // T3B port 2
внимание вопрос: чьи художества? и чего с этим будем делать?
может пора на github выложить и совместными усилиями как-то причёсывать?
sbi_mix это моя функция, в шилде олега прописано нормально, а тут видно просто скопировали, не разбираясь
Отправлено 20 Май 2015 - 23:14
Олег, уеду в отпуск, помучаю прошивку насчет динамических каналов, счас пока других проблем хватает
P.S. Если получится конечно я надеюсь что получится
Отправлено 20 Май 2015 - 23:24
Ну только если в отпуске у тебя хватит сил
Да не нужна динамическая нумерация изменение, только бардака это прибавит. А вот то что мы с тобой обсуждали в личке насчет настроек - более актуально.
Отправлено 21 Май 2015 - 00:27
sbi_mix это моя функция, в шилде олега прописано нормально, а тут видно просто скопировали, не разбираясь
Я предупреждал, что не занимался настройками ШИМа совсем. И даже не вникал в это. Так как, на шилде Олега, у меня все работает. И не важно как обозвать канал на каком либо пине. Уточню, для меня это не имеет важного значения. То что надо поправить, согласен. Скетч в открытом доступе. Если кто желает, может сделать и выложить. Просто я сейчас переписываю практически весь код. С целью оптимизации и полного понимания написаного Когда закончу, не могу даже предположить... Время то есть на это, а то совсем нет. Так что не ругайте уж сильно. Я сам пока пользуюсь своим скетчем, как говориться "ас из"...
Отправлено 21 Май 2015 - 00:28
Отправлено 21 Май 2015 - 00:36
Да не ШИМе дело то. Просто на стандартном шилде эти каналы заняты тачем.
Отправлено 21 Май 2015 - 13:10
Это как раз понятно. Я имел ввиду, почему нельзя на 11 бит использовать пины 9,10,11, как в оригинальном Jarduino?
Это вопрос, наверное, к Олегу и Михаилу.
А сохранилась ли версия скетча на 8 бит, но русифицированная?
Отправлено 21 Май 2015 - 16:44
"8-битные закаты и так смотрятся шикарно" это немного субьективно и у каждого может быть свое мнение.
Мне например в моем первом контроллере 8-бит устраивало до тех пок, пока в комнате не стало темно, и тогда в полной темноте переходы между состояниями в самом начале шкалы PWM были слишком резкими, по этому переделал контроллер на 12-бит PWM. Теперь переход от начального значения к 0 (и обратно) практически не заметен и при 1-2 значении ЛЕД лампа светит как очень слабенький индикаторный светодиод. Заодно и ночная подсветка реализована таким образом - 1 канал все ночь на 1 уровне.
По поводу переноса 11-бит на пины 9,10,11 то мне кажется тут чисто аппаратная проблема, так как 11 бит делаются программно и там ограниченное колличество выводов процессора, где это возможно реализовать с нужной скоростью и точностью.
Пины 9,10,11 по умолчанию поддерживают аппаратный PWM 8-бит, то есть как бы "из каробки", а то что реализовали Олегу и Михаил с 11-битами программно делается.
Я у себя в контроллере 12-бит PWM делал аппаратно на дополнительные выводы (в смысле не на Arduino выводах), а при помощи дополнительной микросхемы и в данном проекте это неактуально, здесь нужно исходить из возможностей Arduino - на каких выводах программно вообще возможно реализовать что то подобное, а не на любых ножках по желанию пользователей.
0 пользователей, 2 гостей, 0 анонимных