Миниатюрный светофор с Raspberry Pi: много светодиодов


8

Фон:

Я инженер-строитель, специализирующийся на устройствах управления движением, и у меня есть небольшой хобби проект по созданию системы светофора в масштабе модели. Я могу управлять и контролировать программирование шаблонов светофора самостоятельно, используя Raspberry Pi (плюс это дает мне возможность реализовать динамическое и запрограммированное управление, и интерфейс с серьезной схемой управления трафиком и, возможно, реальными данными трафика). Мне просто нужна помощь с подключением многих светодиодов со стороны оборудования :)

Я следовал этому руководству http://www.raspberrypi-spy.co.uk/2012/06/control-led-using-gpio-output-pin/ просто отлично (включая использование внешнего источника питания вместо контакта 2), но Скорее всего, я столкнусь с проблемой слишком малого числа подключений GPIO для всех светофоров.

Затем я попытался мультиплексировать со светодиодной матрицей http://www.appelsiini.net/2011/how-does-led-matrix-work . Мультиплексирование работает, однако, огни обычно тусклее, я сомневаюсь, что это будет хорошо масштабироваться, и это увеличивает сложность управления.

Основной вопрос:

Если не считать платы расширения на Raspberry Pi, есть ли другие приемы, которые я мог бы использовать для управления несколькими светодиодами с меньшим количеством сигналов 0/1?

Одна вещь о светофорах состоит в том, что они обычно входят в три блока, только один из которых когда-либо активен за один раз. Есть ли какая-то относительно простая схема, которая позволила бы мне переключать блок светодиодов с помощью одного сигнала 0/1?


1
b = потолок (ln (N) / ln (2)) где N - количество светодиодов для управления, а b - количество битов, необходимых для реализации управления. Таким образом, блок светофора, в котором одновременно активен только 1 из 3 светодиодов, потребует 2 бита ввода / вывода для управления. Используя 8-битный ввод / вывод, вы можете управлять 32 блоками светофора: 2 бита для данных (которые 1 в 3 загораются, чтобы включить), 5 битов для адреса (который 1 в 32 или 2 ^ 5 единицах вы имеете в виду), и 1 бит для фиксации. Я надеюсь, что кто-то может расширить это до полного ответа.
shimofuri

Ответ ниже является хорошим, и я собирался предложить, но как-то просто не смог найти хорошую схему отсчета. Вы также можете использовать небольшой 8-контактный микроконтроллер стоимостью $ 1 и использовать свою собственную последовательную шину для практически неограниченного количества устройств, хотя это немного для самого проекта, если вы не использовали их раньше.
PeterJ

Поиск "[мультиплексирование] [светодиод]" найдет вопросы с обоими этими тегами. Вы можете найти там полезную информацию.
Фил Фрост

OP может наслаждаться этим светофором от Velleman
Chetan Bhargava

Ответы:


11

Вы знакомы с регистрами сдвига, как 74HC595? Требуется 3 контакта от вашего RPI, и вы можете контролировать 8 выходных линий. Вы можете легко каскадировать их, эффективно управляя n × 8 выходными линиями.

Данные последовательно синхронизируются в регистре сдвига, и как только все 8 выходных битов передаются, вы фиксируете биты на выходах.

Я собирался добавить таблицу здесь, но https://www.sparkfun.com/products/733 показывает хорошее видео и имеет ссылку на таблицу.


4

Сдвиг регистров, как Джиппи предлагает работать хорошо. Но мультиплексирование также может работать на большее количество светодиодов, чем вы могли ожидать. Решение проблемы пониженной яркости заключается в увеличении пикового тока, чтобы средний ток оставался неизменным. Вы можете сделать это, увеличив напряжение или уменьшив токоограничивающий резистор.

Причиной чрезмерного тока, повреждающего светодиод, является перегрев соединения. Если дать время остыть между импульсами, импульсы могут быть сильнее. Таблица данных для вашего светодиода должна указывать как максимальный средний ток, так и максимальный пиковый ток, который не должен превышаться. Если вас не слишком беспокоит высокая надежность (проект для хобби, а не космический корабль), и вы не против курить несколько светодиодов или немного нарушать правила, вы всегда можете проверить пределы самостоятельно.

Кроме того, обратите внимание на charlieplexing для способа мультиплексирования большего количества светодиодов с меньшего количества контактов. Верхним пределом количества светодиодов, которые можно подключить с помощью этого метода, обычно является достижимая яркость с током, доступным от выводов GPIO, а не количество выводов.

Дальнейшее чтение: дает ли импульсный светодиод при более высоком токе большую видимую яркость?


1
Я склонен избегать слишком больших пиковых токов в отсутствие цепи, которая может помешать слишком долгому оставлению ряда. Любой программный рядный привод почти гарантированно иногда выходит из строя, и хорошо спроектированная схема должна быть защищена от повреждений в результате такого происшествия.
суперкат

-1

Используйте USB или Ethernet для управления огнями через плату реле с защелкой, такую ​​как эта

http://www.robot-electronics.co.uk/acatalog/Relay_Modules.html

Я использовал эти платы для других приложений, и они отлично


2
Мы ожидаем, что ответы здесь в основном стоят сами по себе. Ссылки гниют со временем, и не следует полагаться на основную информацию. Укажите свой ответ в одном или двух абзацах и используйте ссылки для ссылки на дополнительную справочную информацию.
Олин Латроп

Справедливо! Рассматриваемая плата, на которую я ссылался от Robot Electronics, является драйвером реле, управляемым через USB или Ethernet. Он поставляется с простой командой, установленной для включения или выключения каждого из 8 или 16 реле на плате. Эти реле можно легко использовать для переключения стека светодиодов на светофоре и управления через порт USB или Ethernet Raspberry PI
Gareth

@ Гарет Так что поместите эту информацию в ответ, а не здесь.
Буцке
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.