Добрый вечер. У меня задача сделать светодиодную матрицу 3x10. Сделать её просто. Зажигать отдельные светодиоды - тоже. Но у меня встала на пути простая, но сложная задача. Как с помощью ардуино управлять ей? Принцип матрицы в том, что надо подать напряжение на определенный столбик и снять ток с определенной линии. Как открывать питание на выходах ардуино понятно. Таже функция digitaWrite(). Но как снять нужный ноль?
ноль - это отсутствие питания Почитай про digitalWrite - там как раз два возможных состояния - подать напряжение и снять напряжение.
Вы хотите сказать, что мне нужно держать все столбцы в режиме OUTPUT и на HIGH. И когда надо зажечь светодиод на этом ряду мне попросту нужно переключить на LOW?
Это называется динамическая индикация. Принцип тот же что с многоразрядными индикаторами примеров куча.
Видимо, нужно три состояния - GND, Vcc и NC - не подключено. NC можно сделать, если перевести пин в режим INPUT. Тогда он будет иметь высокое сопротивление и ток на него не потечет.
Если светодиод держит обратное напряжение питания -HIGH, можно на "темные" светодиоды подавать обратное напряжение. Т.е. если для свечения светодиода на солбец и строку подаем (HIGH, LOW), то на остальные строки и столбцы подаем (LOW, HIGH). Понятно, что в активном столбце "темные" светодиоды будут под напряжением HIGH - HIGH = 0, светящийся светодиод будет под напряжением HIGH - LOW = HIGH. А остальные светодиоды под напряжением LOW - HIGH = -HIGH - т.е. будут закрыты.
задача еще немного посложнее, чем простая но сложная. Порты ардуино вряд ли выдержат нужный при динамической индикации ток, так что рассмотрите применение регистров либо специальных чипов типа мах7219
так можно, мысль конечно изложена коряво, но я так делаю, хотя не просто к пинам подключаю, а к H- мосту. У mcu.... дьявол в деталях. Подключать светодиоды к портам в режиме динамической индикации - операция весьма рисковая.
ХМ. В каждый момент времени запитать нужно ОДИН светодиод. Если это маломощный индикаторный светодиод, то почему бы и нет? Что такого особенного в "динамической индикации"? Резисторы ограничивающие ток прицепить, и нормально должно быть.
"особенного" то, что в динамической индикации ток светодиода (чтобы его было видно) в n раз больше, а импульс в n раз короче. Так вот то что в n раз больше спалит порт мк. Ну и эффект второго порядка - емкость pn перехода.
А если навернуть ограничивающих резисторов - светодиоды будут видны только в полной темноте. +1 за дополнительное усиление или спец. микросхему.
я обычно в таких случаях беру модуль 8 индикаторов на мах7219 , индикаторы из панельки вынимаю и получаю i2c индикацию на n*64 элементов с регулируемой яркостью, n- число последовательно соединенных чипов (их можно каскадировать), так что хоть миллион. Впрочем, для миллиона есть другие способы.