- Необходимые компоненты:
- Конструкция дисплея пропеллера:
- Схема и рабочее объяснение:
- Объяснение программирования:
Вы видели пропеллеры в самолетах или морских кораблях, если не в реальности, то наверняка в фильмах. На этом занятии мы собираемся разработать дисплей Propeller Display с Arduino, светодиодами и двигателем постоянного тока. На этом дисплее пропеллера текст будет казаться вращающимся, как пропеллер, в форме круга.
Дисплей пропеллера в некотором роде похож на светодиодную матрицу. Он содержит 8 светодиодов (Light Emitting Diodes), которые расположены в виде матрицы 8 * 1 (8 строк и 1 столбец). Они расположены в виде лестницы одна над другой. Эти 8 светодиодов могут быть созданы для отображения любого контента, такого как текст, числа, символы и т. Д. Это достигается за счет восприятия зрения (POV), при котором множество неподвижных изображений быстро перемещаются одно за другим в последовательности, что дает ощущение анимации. или движущееся изображение. Как это делается, объясняется в приведенном ниже руководстве.
Необходимые компоненты:
- Ардуино Уно
- Двигатель постоянного тока
- + 3,6 В LI-ION аккумулятор
- LED (8 шт.)
- Резистор 1КОм (8 шт.)
Конструкция дисплея пропеллера:
Сначала возьмите стабильную базу; Я использовал старый DVD-привод для ПК, который валялся. Вы можете приобрести деревянную доску или картонную коробку. Затем проделайте отверстие в середине DVD-привода (основание) и вставьте в него ось двигателя постоянного тока. Убедитесь, что отверстие достаточно тугое, чтобы удерживать двигатель, и двигатель может свободно вращаться. Я использовал Feviquick, чтобы поставить ось на место.
Поддерживайте верхнюю часть мотора, чтобы выровнять неровности. Я использовал точечную доску и снова использовал быстрый клей, чтобы приклеить его к двигателю постоянного тока.
Сверху прикрепите литий-ионный аккумулятор. Если у вас нет литий-ионного аккумулятора такого же размера, просто оставьте его. После этого возьмите каждый светодиод и проверьте его с помощью кнопочной ячейки или любого другого источника. Затем возьмите несколько резисторов и припаяйте их со светодиодами, как показано на рисунке и схеме ниже.
Взаимодействие с другими людьми
Подключите припаянные светодиоды и резисторы к Arduino UNO, как показано на рисунке и принципиальной схеме ниже.
Взаимодействие с другими людьми
Установите UNO на верхнюю часть ДВИГАТЕЛЯ постоянного тока и закрепите его с помощью виолончельной ленты, чтобы завершить настройку. Итак, окончательная настройка Propeller будет выглядеть так:
Схема и рабочее объяснение:
Схема POV-дисплея, управляемого Arduino, очень проста, мы просто соединили 8 светодиодов с Arduino Uno в соответствии со схемой ниже.
PORTD, PIN0 ------------------ ПОЛОЖИТЕЛЬНЫЙ ТЕРМИНАЛ LED8
PORTD, PIN1 ------------------ ПОЛОЖИТЕЛЬНЫЙ ТЕРМИНАЛ LED7
PORTD, PIN2 ------------------ ПОЛОЖИТЕЛЬНЫЙ ТЕРМИНАЛ LED6
PORTD, PIN3 ------------------ ПОЛОЖИТЕЛЬНЫЙ КЛЕММ LED5
PORTD, PIN4 ------------------ ПОЛОЖИТЕЛЬНЫЙ КЛЕММ LED4
PORTD, PIN5 ------------------ LED3 ПОЛОЖИТЕЛЬНЫЙ ТЕРМИНАЛ
PORTD, PIN6 ------------------ ПОЛОЖИТЕЛЬНЫЙ КЛЕММ LED2
PORTD, PIN7 ------------------ LED1 ПОЛОЖИТЕЛЬНЫЙ ТЕРМИНАЛ
Подобно тому, как мы добавляем больше столбцов в светодиодную матрицу 8x8 для расширения дисплея, таким же образом вместо добавления дополнительных столбцов светодиодов мы перемещаем первую СВЕТОДИОДНУЮ КОЛОНКУ на второе место СВЕТОДИОДНОЙ КОЛОНКИ, используя движение ДВИГАТЕЛЯ ПОСТОЯННОГО ТОКА.
Чтобы понять всю ситуацию, скажем, мы хотим, чтобы на дисплее пропеллера отображалась буква «А». Считайте, что светодиодная «игла» сначала находится в ПОЛОЖЕНИИ 1, как показано на рисунке ниже. Светодиодная игла - это столбик из 8 светодиодов.
Теперь включим двигатель, и он заработает.
При t = 0 мс: игла будет в ПОЛОЖЕНИИ 1. В этом положении включены все восемь светодиодов, от TOP LED (MSB) до BOTTOM LED (LSB).
При t = 1 мс: игла будет в ПОЛОЖЕНИИ 2. Как и в положении 1, в этом положении включены все восемь светодиодов, от TOP LED (MSB) до BOTTOM LED (LSB).
При t = 2 мс: игла будет в ПОЛОЖЕНИИ 3. В этом положении будут гореть только LED7, LED6 и LED3, а остальные светодиоды выключены.
При t = 3 мс: игла будет в ПОЛОЖЕНИИ 4. То же, что и в позиции 3, в этом положении только LED7, LED6 и LED3 остаются включенными, а остальные светодиоды выключены.
При t = 4 мс: игла будет в ПОЛОЖЕНИИ 5. То же, что и в позициях 3 и 4, в этом положении остаются включенными только LED7, LED6 и LED3. Остальные светодиоды выключены.
В момент времени t = 5 мс: стрелка будет в ПОЛОЖЕНИИ 6. В этом положении снова включаются все восемь светодиодов, загораются светодиоды TOP (MSB) и BOTTOM (LSB).
При t = 6 мс: игла будет в ПОЛОЖЕНИИ 7. То же, что и в позиции 6, в этом положении все восемь светодиодов остаются включенными.
Как объяснялось выше, мы включим соответствующие светодиоды в соответствующих положениях иглы, чтобы отобразить необходимый символ. Если скорость движения иглы низкая, мы можем видеть каждую колонку светодиода отдельно. Но когда скорость двигателя высока, а игла движется слишком быстро, на дисплее будет постоянно отображаться символ «A».
Объяснение программирования:
Мы запрограммировали Arduino на включение соответствующего светодиода в нужное время при вращении, чтобы столбец светодиодов отображал текст «ЦЕПНОЙ ДАЙДЖЕСТ» в круглом положении.
Программирование дисплея Propeller легко понять. Char Array размером 26x8 был взят как volatile char ALPHA. Этот массив состоит из 8 позиций иглы для отображения каждого из 26 алфавитов, что составляет массив 26x8. 26 строк в массиве представляют 26 алфавитов, а 8 столбцов в каждой строке представляют собой восемь позиций иглы для отображения символа при вращении. Теперь каждая ячейка состоит из двоичного числа, которое представляет состояние включения / выключения 8 светодиодов в определенном положении иглы. Помните, что стрелка здесь относится к линии из 8 светодиодов, подключенных к Arduino, как описано выше.
Теперь вам просто нужно повернуть двигатель постоянного тока и использовать цикл for с восемью итерациями для отображения символа. Например, если вы хотите отобразить 10 символов, вам нужно запустить 10 циклов for с восемью итерациями в каждой. Итак, мы использовали 13 циклов for для отображения текста CIRCUIT DIGEST. Ознакомьтесь с полным программным кодом ниже с демонстрационным видео.
Вот как вы можете создать красивую иллюзию Persistence of Vision (POV) с помощью Arduino, как будто текст вращается, как пропеллер.