Вот ссылка на Ардуиновскую библиотеку, тем паче на сколько я понял, графику можно построить конструктором, кроме того графика крутится на самом экране и не жрет ресурсы Ардуины.
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 пользователей, 1 гостей, 0 анонимных