Перейти к контенту
МОРСКОЙ АКВАРИУМ - форум Аква Лого

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

Почвенные рыбы

Синичкин день

Единственный в мире малыш утконос

svyaz

DIY 6-Канальный контроллер LED c тач-панелью "3.2"

Рекомендуемые сообщения

  valery37rus писал(а):
Это если у кого случайно завалялась ATmega168 как у тебя 1307

У меня в завалах всегда есть про запас несколько Мега8 и Мега16, и даже Мега128 должна быть - всегда хорошо иметь такие вещи в запасе. Более того, добавлю, что на столе валяется собственный компик на Меге16 с символьным дисплеем 2х20 и с процентов на 80 написанным программным обеспечением (все основные меню готовы, но разработка остановилась из-за отсутствия свободного времени).

 

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

 

  svyaz писал(а):

Каждый час разделён на 8 интервалов по 15 минут, в следующей версии Джейми хочет сделать нормальное (как в главном меню) процентное соотношение яркости от 0 до 100% (сейчас от 0 до 255)

  damien писал(а):

Табличное представление рассветов\закатов с разбитием на непонятные интервалы в часу - "немножко не юзабельно" :-)

 

Лучше всего график (ломаными) с чекпоинтами. Экран же позволяет.

Кстати, Джейми написал, что в версии прошивки 1.2 будет более продвинутая настройка интенсивностей при помощи ползунков, при том, диапазон будет от 0 до 100% вместо нынешних 0-255 (хотя последнее, мне кажется, не принципиально).

Изменено пользователем vahegan (см. историю изменений)

Поделиться этим сообщением


Ссылка на сообщение

Знакомство с Arduino... "Если вы доселе не держали в руках Arduino, вам стоит это прочесть!... " :tuplu: :vo: http://robotshop.su/content/articles/1029/#ch1

  • Upvote 1

Поделиться этим сообщением


Ссылка на сообщение
  vahegan писал(а):

У меня в завалах всегда есть про запас несколько Мега8 и Мега16, и даже Мега128 должна быть - всегда хорошо иметь такие вещи в запасе.

Раз в жизни - и хрен собачий может пригодиться :)

Поделиться этим сообщением


Ссылка на сообщение
  valery37rus писал(а):

Раз в жизни - и хрен собачий может пригодиться :)

 

Может кто поможет.

 

ушел с analog_write на прямое управление таймерами в моде 14.

 

Все замечательно, но почему-то при подаче 0 например на OCR4B цепочка все равно еле светится.

 

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

 

P.S. что то вертится в голове, как сделать программную притяжку к земле?

Изменено пользователем mixzt (см. историю изменений)

Поделиться этим сообщением


Ссылка на сообщение
  mixzt писал(а):

 

P.S. что то вертится в голове, как сделать программную притяжку к земле?

digitalWrite(port, HIGH); В остальном помочь не могу

Поделиться этим сообщением


Ссылка на сообщение
  Цитата
P.S. что то вертится в голове, как сделать программную притяжку к земле?

А по простому, вывод пинцетом на землю, и посмотреть яркость - ты не можешь???

Может совсем не в программе дело, а ты мозги сушишь. ;)

Поделиться этим сообщением


Ссылка на сообщение
  Oleg_il писал(а):

А по простому, вывод пинцетом на землю, и посмотреть яркость - ты не можешь???

ну так и пожечь можно :), там ведь и лог.1 может быть

 

oala

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

 

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

 

еще короче, я всегда делаю так (и проблем нет):

// При выключенном ШИМ,

// чтобы убрать короткий паразитный импульс, отключаем pin от схемы

// (/\) при OFF, PIN подтянут к GND!

// (\/) при OFF, PIN подтянут к VCC!

if ( ledB ) { sbi( DDR_MOON_B, PIN_MOON_B ); } else { cbi( DDR_MOON_B, PIN_MOON_B ); }

 

ps: да sbi и cbi (аля асм) в ардуине не что иное как (это всяко лучше, чем жуткие digitalWrite, pinMode и т.п.):

 

#ifndef cbi

#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))

#endif

#ifndef sbi

#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))

#endif

 

либо использовать это:

#define bitRead(value, bit) (((value) >> (bit)) & 0x01)

#define bitSet(value, bit) ((value) |= (1UL << (bit)))

#define bitClear(value, bit) ((value) &= ~(1UL << (bit)))

#define bitWrite(value, bit, bitvalue) (bitvalue ? bitSet(value, bit) : bitClear(value, bit))

 

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

 

пример (для прямого (неинверсного) ШИМа):

 

в init:

 

cbi( PORT_PWM_XX, PIN_PWM_XX );

sbi( DDR_PWM_XX, PIN_PWM_XX );

 

сама функция для 16-ти разрядного таймера (по простому, без изысков, но должно работать):

 

void mysetpwmXXX(unsigned int aLevel)

{

if ( aLevel ) sbi(TCCR_PWM_XX_A, COM_PWM_XX_1);

else cbi(TCCR_PWM_XX_A, COM_PWM_XX_1);

TIMER_OCR_PWM_XX = aLevel;

}

 

ну а в хеадере ставим что хотим (пример для Т5В и меги 2560||1280):

 

#define TIMER_OCR_PWM_XX OCR5B

#define TCCR_PWM_XX_A TCCR5A

#define COM_PWM_XX_1 COM5B1

#define PORT_PWM_XX PORTL

#define DDR_PWM_XX DDRL

#define PIN_PWM_XX 4

Изменено пользователем Kiraso (см. историю изменений)

Поделиться этим сообщением


Ссылка на сообщение
  Kiraso писал(а):

ну так и пожечь можно :), там ведь и лог.1 может быть

 

oala

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

 

 

При использовании analog_write все нормально.

 

За код спасибо, попробую. Заодно расковыряю код analog_write, посмотрю что в нем делается.

 

Kiraso, Вы правы совершенно. В analog_write, при записи 0 идет отключение пина.

 

ЗЫ, кто там опыты проводил, у меня на 1Кгц ldd_H не свистят. Сделал разрядность не 255 а 2000, луна стала намного симпатичней, а не прожектор

Изменено пользователем mixzt (см. историю изменений)

Поделиться этим сообщением


Ссылка на сообщение
  mixzt писал(а):

При использовании analog_write все нормально.

 

За код спасибо, попробую. Заодно расковыряю код analog_write, посмотрю что в нем делается.

 

а чё его ковырять?

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

 

if (val == 0)

{

digitalWrite(pin, LOW);

}

else if (val == 255)

{

digitalWrite(pin, HIGH);

}

else

{

switch(digitalPinToTimer(pin))

{

 

#if defined(TCCR0A) && defined(COM0A1)

case TIMER0A:

 

// connect pwm to pin on timer 0, channel A

sbi(TCCR0A, COM0A1);

OCR0A = val; // set pwm duty

break;

#endif

................ и так далее

Изменено пользователем Kiraso (см. историю изменений)

Поделиться этим сообщением


Ссылка на сообщение
  Цитата
ну так и пожечь можно , там ведь и лог.1 может быть

Ой программисты, программисты.

Никогда ты его так пожечь не сможешь. В случае кз. и лог 1 выходной каскад ограничивает ток кз.

Спокойно коротни и поймешь в чем причина, "плохой" лог 0 (т.е слишком высокий) или проблема в драйверах/монтаже/утечках. ;)

Поделиться этим сообщением


Ссылка на сообщение
  Oleg_il писал(а):

Ой программисты, программисты.

Никогда ты его так пожечь не сможешь. В случае кз. и лог 1 выходной каскад ограничивает ток кз.

 

а мы вообще об одном говорим? я имел в виду ножку микроконтроллера... если на ней лог.1 (ака Vcc) и ее коротнуть на GND, ни чего ХОРОШЕГО от этой затеи НЕ БУДЕТ... и нет там ничего ограничивающего ток.

 

вот если речь была о выходе драйвера....

 

но проблема то в контроллере

Изменено пользователем Kiraso (см. историю изменений)

Поделиться этим сообщением


Ссылка на сообщение
  Kiraso писал(а):

а мы вообще об одном говорим? я имел в виду ножку микроконтроллера... если на ней лог.1 (ака Vcc) и ее коротнуть на GND, ни чего ХОРОШЕГО от этой затеи НЕ БУДЕТ... и нет там ничего ограничивающего ток.

 

вот если речь была о выходе драйвера....

 

но проблема то в контроллере

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

Поделиться этим сообщением


Ссылка на сообщение
  vahegan писал(а):

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

 

упс, впервые такое слышу... пойду посмотрю.

Поделиться этим сообщением


Ссылка на сообщение

Стандартная фича практически любого контроллера - ограничение тока на выходе :)

Поделиться этим сообщением


Ссылка на сообщение
  Цитата
если на ней лог.1 (ака Vcc)

Лог 1 - это не ака VCC, а Vcc-ххх.

А ххх - зависит от технологии, вида/семейства контроллера, типа и режима выходного каскада...

Поделиться этим сообщением


Ссылка на сообщение

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

 

более того, всё говорит об обратном.

post-23784-1334916619_thumb.jpg

post-23784-1334916633_thumb.jpg

 

ну ладно сделали так, хорошо :)

но в любом случае это экстрим.

 

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

Изменено пользователем Kiraso (см. историю изменений)

Поделиться этим сообщением


Ссылка на сообщение

Экстрима нет. То что обведено в красном, написано чтобы предотвратить ситуацию, когда незадействованные пины контроллера подтянуты на +\- и сконфигурированы как выходы. Если таких пинов много, каждый тянет 20мА при это грея корпус микропроцессора. Тот перегревается и теряет стабильность :-)

 

Закоротить пинцетом на землю не страшно.

Поделиться этим сообщением


Ссылка на сообщение
  damien писал(а):

Закоротить пинцетом на землю не страшно.

 

уломали :)

 

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

post-23784-1334918449_thumb.jpg

Поделиться этим сообщением


Ссылка на сообщение

Как думаете, стоит с этим связываться?

http://cgi.ebay.com/ws/eBayISAPI.dll?ViewI...1#ht_500wt_1202

сложно будет поменять в коде управление светом на другие выводы, а то я в этом не шибко разбираюсь :oops: ?

Поделиться этим сообщением


Ссылка на сообщение
  NikoLa писал(а):

Как думаете, стоит с этим связываться?

http://cgi.ebay.com/ws/eBayISAPI.dll?ViewI...1#ht_500wt_1202

сложно будет поменять в коде управление светом на другие выводы, а то я в этом не шибко разбираюсь :oops: ?

 

 

я не смотрел досконально скетч, поэтому на 100% не скажу, скажу на 99%, что можно.

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

 

 

в конце концов, кто мешает данную платку подключить шлейфом как надо

Поделиться этим сообщением


Ссылка на сообщение
  Kiraso писал(а):

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

 

Еще раз спасибо.

 

Выкинул из кода лишнее, и переписал.

 

Работает как часы:)

Поделиться этим сообщением


Ссылка на сообщение

Блин пол дня искал видео , где один китаец (японец и тд) управлял телефоном (скорее всего на андроиде)режимами света , доллива и тд Жаль что не сохранил Может кто кинет ссылку на видео? :tuplu:

Поделиться этим сообщением


Ссылка на сообщение

Ну вот и началось!

пришел весь бутерброд мега2560+шилд ITDB02-v1.1+экран3.2"

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

скачал архив Jarduino_v1_1.zip

библиотеку ITDB02 распаковал в папку libraries компилятора

и вот здесь уперся :!:

не появилась она в списке библиотек компилятора,

хотя папка ITDB02... находится вместе с другими библиотеками в папке libraries

че не так делаю?

Поделиться этим сообщением


Ссылка на сообщение
  valery37rus писал(а):

скачал архив Jarduino_v1_1.zip

библиотеку ITDB02 распаковал в папку libraries компилятора

и вот здесь уперся :!:

не появилась она в списке библиотек компилятора,

хотя папка ITDB02... находится вместе с другими библиотеками в папке libraries

че не так делаю?

Библиотека из архива, должна быть в папке ITDB02_Graph16 и уже дальше в папке \libraries (по подобию других библиотек) Подозреваю что вы скопировали все файлы в корень libraries ?

Поделиться этим сообщением


Ссылка на сообщение

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

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти

×
×
  • Создать...
Рейтинг@Mail.ru

Политика обработки персональных данных