Страница 1 из 1

Чарлиплексинг

Добавлено: 09 янв 2019, 23:06
hard3d
Всем привет. Кто нибудь подскажет, как собрать программу для работы с 6-ю светодиодами на основе Чарлиплексинг
Изображение
С двумя светодиодами используя 2 светика получилось зажигать оба, а вот с шестью проблема. зажигаю первый светик, а вместе с ним зажигается 6-ой. как уводить пин3 в состояние «input» (High-Z)?
Может у кого нибудь уже есть готовый блок? В дальнейшем хочу сделать гирлянду "дождик" используя 5 ножек и к ним будет подключено 20 светодиодов.

Чарлиплексинг

Добавлено: 09 янв 2019, 23:40
Ingwar
hard3d писал(а): 09 янв 2019, 23:06 В дальнейшем хочу сделать гирлянду "дождик" используя 5 ножек и к ним будет подключено 20 светодиодов.
Адресные светодиоды не рассматриваются из за цены?
По поводу 20 светодиодов - Вы прикидывали нагрузку портов по току?

Отправлено спустя 10 минут 25 секунд:
hard3d писал(а): 09 янв 2019, 23:06Может у кого нибудь уже есть готовый блок?
Самое простое решение для Вас на мой взгляд (с точки зрения понимания) - собрать схему в каком нибудь симуляторе (Proteus, Multisim и т. д.) и подавая комбинацию +/- на резисторы, записать результат в таблицу. А в Flprog можно как вариант использовать блок командоаппарата.

Чарлиплексинг

Добавлено: 09 янв 2019, 23:52
hard3d
Ingwar писал(а): 09 янв 2019, 23:40По поводу 20 светодиодов - Вы прикидывали нагрузку портов по току?
Вот рабочий вариант собранный на Attiny13
sosulka_shema.gif
в схеме только не отрисованы на ногах контроллера резисторов на 100 Ом
Ingwar писал(а): 09 янв 2019, 23:40Самое простое решение для Вас на мой взгляд (с точки зрения понимания) - собрать схему в каком нибудь симуляторе (Proteus, Multisim и т. д.) и подавая комбинацию +/- на резисторы, записать результат в таблицу. А в Flprog можно как вариант использовать блок командоаппарата.
Это я уже и так сделал на макетке, о чем писал выше. Я пытаюсь зажечь один светодиод, а вместо этого горят 2. А что бы этого не было, надо пин, который на данный момент не должен участвовать в зажигании светика уводить в режим High-Z. А как это сделать в flprog я не могу понять.

Чарлиплексинг

Добавлено: 10 янв 2019, 00:04
Ingwar
hard3d писал(а): 09 янв 2019, 23:52А как это сделать в flprog я не могу понять.
А вот тут точно никак,, только ручками в коде...
Может знающие помогут с ПБ.
hard3d писал(а): 09 янв 2019, 23:52Ingwar писал(а): ↑18 минут назад
По поводу 20 светодиодов - Вы прикидывали нагрузку портов по току?
Вот рабочий вариант собранный на Attiny13
По току это не лучший вариант теста) Proteus на этих моделях не отработает превышение.

Чарлиплексинг

Добавлено: 10 янв 2019, 06:33
kulibinsvv
[ref]hard3d[/ref], вам действительно нужен чарлиплексинг? Может можно обойтись без него?

https://www.rlocman.ru/shem/schematics.html?di=56563
http://www.junradio.com/index/arduino_i ... xing/0-300

Отправлено спустя 3 минуты 13 секунд:
http://playground.arduino.cc/code/charlieplex

Чарлиплексинг

Добавлено: 03 фев 2019, 02:02
hard3d
Мне понравилась идея собранная у людей на Attiny13, используя всего 5 выводов зажигать 20 светодиодов. Вот стало интересно, возможно ли это как то организовать в flprog.

Чарлиплексинг

Добавлено: 03 фев 2019, 09:50
Sancho
hard3d писал(а): 03 фев 2019, 02:02Мне понравилась идея собранная у людей на Attiny13, используя всего 5 выводов зажигать 20 светодиодов. Вот стало интересно, возможно ли это как то организовать в flprog.
Нет. Флпрог не позволяет менять назначение пина, вход/выход, по ходу программы.

Чарлиплексинг

Добавлено: 03 фев 2019, 11:57
seri0shka
Sancho писал(а): 03 фев 2019, 09:50Нет. Флпрог не позволяет менять назначение пина, вход/выход, по ходу программы.
Позвольте с Вами не согласиться. Без проблем решается пользовательскими блоками, проверено. Блок не напишу, сейчас другими делами занят. Но можно точно!

Чарлиплексинг

Добавлено: 03 фев 2019, 16:12
Sancho
Пользовательским блоком, засунув туда работу с регистрами можно решить всё. Если проблема с дефайнами - пишем библу.
Речь о решении в чистом виде.