Конфуз со светодиодной матрицей

Тема в разделе "Arduino & Shields", создана пользователем Almightily, 8 дек 2016.

  1. Almightily

    Almightily Нерд

    Добрый вечер.
    У меня задача сделать светодиодную матрицу 3x10. Сделать её просто. Зажигать отдельные светодиоды - тоже.
    Но у меня встала на пути простая, но сложная задача.
    Как с помощью ардуино управлять ей?
    Принцип матрицы в том, что надо подать напряжение на определенный столбик и снять ток с определенной линии. Как открывать питание на выходах ардуино понятно. Таже функция digitaWrite(). Но как снять нужный ноль?
     
  2. Tomasina

    Tomasina Сушитель лампочек Модератор

    ноль - это отсутствие питания ;)

    Почитай про digitalWrite - там как раз два возможных состояния - подать напряжение и снять напряжение.
     
  3. Almightily

    Almightily Нерд

    Вы хотите сказать, что мне нужно держать все столбцы в режиме OUTPUT и на HIGH. И когда надо зажечь светодиод на этом ряду мне попросту нужно переключить на LOW?
     
  4. Tomasina

    Tomasina Сушитель лампочек Модератор

  5. ostrov

    ostrov Гуру

    Это называется динамическая индикация. Принцип тот же что с многоразрядными индикаторами примеров куча.
     
  6. mcureenab

    mcureenab Гуру

    Видимо, нужно три состояния - GND, Vcc и NC - не подключено.
    NC можно сделать, если перевести пин в режим INPUT. Тогда он будет иметь высокое сопротивление и ток на него не потечет.
     
  7. mcureenab

    mcureenab Гуру

    Если светодиод держит обратное напряжение питания -HIGH, можно на "темные" светодиоды подавать обратное напряжение. Т.е. если для свечения светодиода на солбец и строку подаем (HIGH, LOW), то на остальные строки и столбцы подаем (LOW, HIGH). Понятно, что в активном столбце "темные" светодиоды будут под напряжением HIGH - HIGH = 0, светящийся светодиод будет под напряжением HIGH - LOW = HIGH. А остальные светодиоды под напряжением LOW - HIGH = -HIGH - т.е. будут закрыты.
     
  8. Tomasina

    Tomasina Сушитель лампочек Модератор

    ересь какая-то...
     
  9. Onkel

    Onkel Гуру

    задача еще немного посложнее, чем простая но сложная. Порты ардуино вряд ли выдержат нужный при динамической индикации ток, так что рассмотрите применение регистров либо специальных чипов типа мах7219
     
  10. Onkel

    Onkel Гуру

    так можно, мысль конечно изложена коряво, но я так делаю, хотя не просто к пинам подключаю, а к H- мосту. У mcu.... дьявол в деталях. Подключать светодиоды к портам в режиме динамической индикации - операция весьма рисковая.
     
  11. mcureenab

    mcureenab Гуру

    ХМ. В каждый момент времени запитать нужно ОДИН светодиод. Если это маломощный индикаторный светодиод, то почему бы и нет? Что такого особенного в "динамической индикации"? Резисторы ограничивающие ток прицепить, и нормально должно быть.
     
  12. Onkel

    Onkel Гуру

    "особенного" то, что в динамической индикации ток светодиода (чтобы его было видно) в n раз больше, а импульс в n раз короче. Так вот то что в n раз больше спалит порт мк. Ну и эффект второго порядка - емкость pn перехода.
     
    mcureenab и Mihail Vasilev нравится это.
  13. Mihail Vasilev

    Mihail Vasilev Нерд

    А если навернуть ограничивающих резисторов - светодиоды будут видны только в полной темноте. +1 за дополнительное усиление или спец. микросхему.
     
  14. Onkel

    Onkel Гуру

    я обычно в таких случаях беру модуль 8 индикаторов на мах7219 , индикаторы из панельки вынимаю и получаю i2c индикацию на n*64 элементов с регулируемой яркостью, n- число последовательно соединенных чипов (их можно каскадировать), так что хоть миллион. Впрочем, для миллиона есть другие способы.