Я успешно выполнил свое оборудование "Hello World", используя это руководство:
http://www.raspberrypi-spy.co.uk/2012/06/control-led-using-gpio-output-pin/
Теперь я бы хотел перейти к более ярким вещам, к более индивидуально управляемым светодиодам! Очевидно, что следующий шаг - отсоединить источник напряжения от Raspberry Pi и добавить больше светодиодов, но в итоге у меня закончатся выводы GPIO, поэтому я думаю, что сейчас мне нужно, чтобы управлять цепью, которая каким-то образом узнает , на основе GPIO "кодированных сигналов", какие светодиоды для включения и выключения. Какие примеры схем я должен искать? И что еще более важно в отношении Raspberry Pi, может ли он или rpi.gpio вызвать какие-либо проблемы, возможно, касающиеся синхронизации сигнала?
Ответы:
В этом случае вы ищете светодиодную матрицу . Вы можете управлять этой матрицей с выводов GPIO, но это по-прежнему ограничивает количество светодиодов, которые вы можете подключить (размер матрицы), и она также может начать потреблять слишком много тока, если вы не будете осторожны.
Лучшим вариантом является подключение светодиодной матрицы к шине I2C с использованием одного или нескольких удлинителей ввода / вывода I2C. Таким образом, вы можете создать матрицу огромного размера (например, 64 светодиода можно сделать с помощью ОДНОГО 16-битного расширителя ввода / вывода). Другая причина использования этих расширителей ввода / вывода заключается в том, что они немного более надежны, могут обеспечить немного больший ток и предохраняют ваш основной процессор от вредного воздействия.
На этом сайте эти расширители ввода / вывода обсуждаются несколько раз, поэтому вы сможете найти информацию об этом довольно просто. Эта ссылка предоставляет некоторую информацию об этих расширителях и матрицу (хотя она используется для ввода, но в основном это та же идея, но вы используете матрицу не для сканирования, а для управления светодиодами)
Единственное дополнительное требование для создания гладкой рабочей матрицы состоит в том, что вам нужно сделать матрицу не больше, чем RPi, способный обновлять каждый отдельный светодиод не менее 20 раз в секунду, в противном случае вы начнете видеть мерцание, но это также объясняется в первой ссылке (пункт «Мультиплексирование и постоянство видения»).
источник
Для этого я использовал расширитель портов MCP23017 I²C. Перейдите по этой ссылке, чтобы найти пример кода для Raspberry Pi. Вы можете управлять 16 светодиодами на чип и 8 чипами без необходимости выполнять мультиплексирование.
источник