Обычно работу матрицы объясняют инерционностью человеческого зрения, но тогда почему светодиод управляемый через ШИМ не светится ярко?
Почему же не светится? Светится. Много различных вариаций, на самом деле. Мне как-то довелось делать динамическую светодиодную матрицу. 8x8 пикселей с управляемой яркостью. И да. Я вставлял сначала обычным GPIO ряд, а 8-ю каналами ШИМ-а регулировал яркость каждого светодиода. Но такое метод при больших площадях, когда я перешел от 8x8 к 32x32, давал достаточно кривой эффект. Поэтому я решил сделать иначе. По одной оси я так же с помощью GPIO перебирал строки, а вот по столбцам уже творилась магия. По сути, тот же ШИМ, но уже программный. Я считал, в зависимости от номера прохода в 10 мс и яркости светодиода (конкретного в столбце), надо ли его включать или нет. Этот алгоритм работал многократно лучше. Но отжирал почти все ресурсы проца. Но того стоил.