Простой pov дисплей на базе arduino

Простой POV дисплей на базе Arduino

POV дисплей (Эффект инерции зрительного восприятия) – это забавный и интересный способ отображения текста, который парит в воздухе.

Шаг 1: Компоненты, необходимые для выполнения проекта

Для изготовления POV дисплея понадобится:
— Микроконтроллер Arduino UNO + среда разработки Arduino IDE
— Программа Processing (при использовании компьютера для последовательной передачи данных)
— Android устройство (при использовании Android приложения для последовательной передачи данных)
— Bluetooth модуль
— 8 x светодиодов любого цвета
— 8 x 220 Ом резисторов
— 9В DC двигатель
— 9В батарея.

Шаг 2: Электрическая схема

Шаг 3: Загрузка Arduino скетча

Скетч позволяет записывать текст по вашему выбору с предварительно запрограммированными буквами. Вам просто необходимо вызвать функцию printLetter(), записать букву или цифру по вашему выбору между скобками. Количество вводимых букв и цифр не ограничено.

Вы также можете использовать приложение Processing или Android приложения, просто кликнув на блоках, которые появляются в обоих приложениях для отрисовки вашей собственной формы, которая будет мгновенно отображаться на вашем POV дисплее благодаря Bluetooth для беспроводной последовательной передачи данных. Вместо записи букв и цифр между скобками функции printLetter (), вы можете записать printLetter(shape);

Шаг 4: Приложение Processing (Последовательное соединение с ПК)

Для тех, кто не знает, что такое Processing:

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

Я зачастую использую Processing для создания приложений, которые позволяют связываться с Arduino через последовательно соединение Serial Communication.

Приложение Processing позволяет начертить любую форму по вашему выбору, нажав на белый блок. При этом вы увидите результат на вашем POV дисплее, даже если он вращается с большой скоростью.

Для использования приложения Processing вам необходимо настроить bluetooth на вашем компьютере. Если bluetooth уже настроен, то пропустите данный шаг. Однако вам необходимо изменить COM порт в вашем скетче Processing на соответствующий порт вашего bluetooth адаптера. В качестве адаптера можно использовать встроенный Bluetooth модуль или внешнюю bluetooth заглушку (проверьте, что она совместима с вашей операционной системой).

Далее необходимо подключить bluetooth модуль к Arduino, т.е. перейти в менеджер Bluetooth Manager на вашем компьютере и кликнуть на «Add a connection» (Добавить соединение) или нечто подобное, и далее выбрать соответствующее устройство.

После состыковки модулей вам необходимо получить номер COM порта, который используется Bluetooth модулем Arduino при подключении к вашему компьютеру, далее открыть «POV_processing» и под функцией «Void setup()» заменить «COM40» на номер соответствующего COM порта, который вы получили.

Шаг 5: Android приложение (Последовательное соединение с Android устройством)

Для управления POV дисплеем я запрограммировал Android приложение, используя комплект разработки Android Studio Development Kit. Несмотря на то, что данное приложение может работать на почти всех Android устройствах (смартфонах, планшетах и т.д.), примите к сведению, что корректность работы гарантируется на устройствах, с версией android не ниже JellyBean 4.2.

Persistence of Vision (PoV) Display Using Arduino © CC BY

This project will show you how to make your own LED POV Display.

  • art
  • lights
  • 18,397 views
  • 3 comments
  • 19 respects

Time for a fun-filled, easy-peasy Japan-easy to make a project! Today, we’re going to show you how to make an LED POV Display. POV, an acronym for the persistence of vision, is a kind of optical illusion in which a visual image seems to persist even when the light from it ceases to enter our eyes and this makes it super cool! You can display any text or image that you want to in the display.

Sounds awesome, right? So, why are you still here?! Let’s begin right away!

Step 1: List of Components Needed

  • evive
  • Arduino Nano
  • IR Sensor
  • General Purpose Board
  • LEDs
  • Resistors
  • DC Motor
  • Battery
  • Wires
  • Glue Gun
  • Soldering Iron
  • White Paper
  • Some 3D Printed Parts

Step 2: Understanding Some Basic Concepts

What is Persistence of Vision?

Persistence of Vision, or POV, occurs when a visual image seems to persist continuously when a stream of light is repeatedly interrupted for very brief instances and does not enter our eyes during those durations.

How does the Persistence of Vision works?

The human eye cannot process more than 10-12 images per second. When a series of images more is presented in quick succession, it gives us the illusion that the images are in motion.

This is the basic principle behind the making of the animated movies.

Step 3: Printing the 3D Printed Part

Here we are going to 3D Print the holder to which we will be fixing our complete assembly. Download the.STL given below.

The Holder consists of two parts.

  • The Rotating Part
  • The Stable Part

Step 4: Assembling the LEDs

Once you have the 3D Printed parts with you, its time to start the making.

Take the General Purpose Board and cut it in the size that fits the Rotating part.

Once done, its time to add the LEDs.

In this project, I have used 8 red LEDs, you can use as many and of any color you want.

Once done, short (common) the cathode terminal of all the LEDs by soldering them on the GPB.

Add resistors to protect the LEDs from blowing up due to high voltage supply (5V). I have used the 220ohm resistors. Solder one end of each resistor to the anode terminal or positive leg of each LED.

Solder jumper cables to the second leg of each resistor.

Step 5: Connection With Arduino Nano

Connect all the LEDs to Arduino Nano as given below:

  • LED0: D2 of nano
  • LED1: D3 of nano
  • LED2: D4 of nano
  • LED3: D5 of nano
  • LED4: D6 of nano
  • LED5: D7 of nano
  • LED6: D8 of nano
  • LED7: D9 of nano
  • Common cathode: Ground of nano

Step 6: Attaching the DC Motor

Attach the DC Motor to the given space in the holder.

Power the DC Motor using evive.

Step 7: Adding IR Sensor

It’s time to add the IR Sensor.

As we need to indicate the beginning from where the text should be written. Attach a small piece of white paper to the steady assembly, which will be detected by the IR Sensor.

Читайте также  Простой регулятор скорости вращения вентилятора

Varying the place of the paper leads to a change in the position of the text displayed.

Connect it to Nano:

  • GND: GND of nano
  • Vin: 5v of nano
  • Out: D10 of nano

Простой pov дисплей на базе arduino

POV вращающийся дисплей своими руками

  • Описание проекта
  • Папки проекта
  • Схемы подключения
  • Материалы и компоненты
  • Как скачать и прошить
  • FAQ
  • Полезная информация

Вращающийся дисплей Особенности:

  • Собран из доступных компонентов, на адресной ленте WS2812
  • Разрешение 10 градусов
  • Плавный разгон и торможение (уменьшение нагрузки на редуктор и муфту)
  • Воспроизведение 9-кадровой анимации (Arduino NANO/UNO/MINI)
  • На Arduino MEGA влезет около 80 кадров анимации
  • Подробности в видео: https://youtu.be/RL3j-3fyWM8

ВНИМАНИЕ! Если это твой первый опыт работы с Arduino, читай инструкцию

  • libraries — библиотеки проекта. Заменить имеющиеся версии
  • POV_display — прошивка
  • images — исходники картинок
  • schemes — схемы подключения

Материалы и компоненты

Ссылки оставлены на магазины, с которых я закупаюсь уже не один год

Почти все компоненты можно взять в магазине WAVGAT по первым ссылкам

  • Arduino NANO 328p – искать
  • https://ali.ski/tI7blh
  • https://ali.ski/O4yTxb
  • https://ali.ski/6_rFIS
  • https://ali.ski/gb92E-
  • Адресная лента (под нарезку)
  • https://ali.ski/crrqi1
  • https://ali.ski/2I3be
  • Купить в РФ, 60 свет/метр, 30 свет/метр
  • Black PCB / White PCB – цвет подложки ленты, чёрная / белая. В видео была чёрная
  • 1m/5m – длина ленты в метрах (чтобы заказать 2 метра, берите два заказа 1m, очевидно)
  • 30/60/74/96/100/144 – количество светодиодов на 1 метр ленты. В видео использовалась лента 60 диодов на метр
  • IP30 лента без влагозащиты (как на видео)
  • IP65 лента покрыта силиконом
  • IP67 лента полностью в силиконовом коробе
  • Постфикс ECO – лента чуть более низкого качества, меньше меди, на длинной ленте будет сильно проседать яркость
  • Лента как на видео: White PCB 144. Берите IP30
  • Датчик Холла https://ali.ski/R0w7s или такой https://ali.ski/zBqc8
  • Мотор https://ali.ski/6Ynot3
  • Повышайка https://ali.ski/PL0ghf
  • Мосфет модуль (вместо голого фета) https://ali.ski/D2_DMh
  • Штекер https://www.chipdip.ru/product/sp20-6.35s-n
  • Гнездо https://www.chipdip.ru/product/st-008s-04
  • Блок питания 5V – любой зарядник для смартфона
  • Транзисторы, конденсаторы, кнопки и резисторы – в ЛЮБОМ магазине радиодеталей

Вам скорее всего пригодится

  • Всё для пайки (паяльники и примочки)
  • Недорогие инструменты
  • Все существующие модули и сенсоры Arduino
  • Электронные компоненты
  • Аккумуляторы и зарядные модули

Как скачать и прошить

  • Первые шаги с Arduino — ультра подробная статья по началу работы с Ардуино, ознакомиться первым делом!
  • Скачать архив с проектом

На главной странице проекта (где ты читаешь этот текст) вверху справа зелёная кнопка Clone or download, вот её жми, там будет Download ZIP

  • Установить библиотеки в
    C:Program Files (x86)Arduinolibraries (Windows x64)
    C:Program FilesArduinolibraries (Windows x86)
  • Подключить Ардуино к компьютеру
  • Запустить файл прошивки (который имеет расширение .ino)
  • Настроить IDE (COM порт, модель Arduino, как в статье выше)
  • Настроить что нужно по проекту
  • Нажать загрузить
  • Пользоваться

Настройки в коде

В: Как скачать с этого грёбаного сайта?
О: На главной странице проекта (где ты читаешь этот текст) вверху справа зелёная кнопка Clone or download, вот её жми, там будет Download ZIP

В: Скачался какой то файл .zip, куда его теперь?
О: Это архив. Можно открыть стандартными средствами Windows, но думаю у всех на компьютере установлен WinRAR, архив нужно правой кнопкой и извлечь.

В: Я совсем новичок! Что мне делать с Ардуиной, где взять все программы?
О: Читай и смотри видос http://alexgyver.ru/arduino-first/

В: Вылетает ошибка загрузки / компиляции! О: Читай тут: https://alexgyver.ru/arduino-first/#step-5

В: Сколько стоит?
О: Ничего не продаю.

Вопросы по этому проекту

В: Подойдёт ли обычная RGB лента?
О: Нет.

Цветной POV дисплей 8х85 пикселов. Часть 2. Описание схемы

Продолжение
Начало читайте
здесь:

Принципиальная схема POV дисплея

The Leds are NOT seperate Red, Green and Blue LEDs They are just 8 RGB LEDs

Resistors R1 to R24 are all 100 ohm

V1 holds the RED LED data V2 holds the GREEN LED data V3 holds the BLUE LED data

V4 and V5 are used to access the full 16-bit address bus

PORTA, 0 is RED LATCH ENABLE
PORTA, 1 is GREEN LATCH ENABLE
PORTA, 2 is BLUE LATCH ENABLE
PORTA, 3 is LOW ADDRESS ENABLE
PORTA, 4 is HIGH ADDRESS ENABLE
PORTA, 5 is SENSOR INPUT
PORTA, 6 is NOT USED
PORTA, 7 is RGB DATA OUTPUT ENABLE

You need to experiment to get the correct value for R28
I.E you need a value that will drive T1 into saturation when the LED is shining into the photo-diode
This means that the resistor needs to drop around 0.6V

Процесс рисования на самом деле довольно прост. PIC контроллер выставляет на адресную шину E 2 PROM код 00000000_00000000, выбирая самый первый адрес. Записанный по этому адресу байт данных выводится на шину данных, к которой подключены регистры 74373 КРАСНОГО, ЗЕЛЕНОГО и СИНЕГО цветов. Первый байт предназначается для включения красного цвета, поэтому контроллер разрешает запись в КРАСНЫЙ 74373. После того, как сигнал разрешения будет снят, в КРАСНОМ 74373 останется первый байт. Затем адрес инкрементируется (увеличивается на 1), и считанный байт данных записывается в ЗЕЛЕНЫЙ 74373, а после третьего инкремента в СИНИЙ.

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

Самое важное тут не нарушать последовательности формирования цветов: КРАСНЫЙ, потом ЗЕЛЕНЫЙ, потом СИНИЙ.

Давайте подсчитаем. На одну колонку дисплея требуется один байт для красного цвета, один байт для зеленого и один для синего, или 24 бита на колонку. На кадр из 85 колонок нужно 3×85 = 255 байт или 2040 бит. Если использовать E 2 PROM типа 27E512, емкостью 64 кбит, в него можно будет записать 64К / 255 = примерно 255 кадров. Этого хватит даже для анимации !

Чтобы сообщать контроллеру, когда начинать отображение очередного кадра, я добавил к конструкции датчик положения. (Без него изображение на дисплее вращалось, как бы я ни подстраивал скорость вращения мотора). Датчик сделан из ИК светодиода, и расположенного напротив фотодиода. Пока поток излучения, идущего из светодиода, не прерван, через освещенный фотодиод идет большой ток, падение напряжения на резисторе R28 максимально, и n-p-n транзистор T1 открыт и находится в насыщении. На микроконтроллер от датчика поступает «лог. 0». На время, когда световой поток прерывается, ток через фотодиод исчезает, и транзистор открывается, посылая контроллеру «лог. 1». Таким образом контроллер узнает, когда начинать отображение следующего кадра. В качестве прерывателя я использовал обычный гвоздь.

Многие спрашивали меня, каким образом прикреплена плата к мотору. Объясняю.

За несколько долларов я купил упаковку электротехнических клеммников. Вот как выглядит один из них:

Читайте также  Abcom - компьютер на atmega1284p

Здесь контакты вынуты из оболочки:

С помощью надфиля я немного ободрал один торец контакта клеммника и припаял его к нижней стороне печатной платы. Осталось вставить в отверстие клеммника вал мотора и затянуть два винта. И все ! Так я соединил свою плату с мотором.

К сожалению, переустанавливая систему на своем ноутбуке, я потерял файлы с топологией печатной платы. Но Dai Omie любезно поделился своим вариантом разводки. Все, что нужно, вы найдете здесь:

Ниже несколько фотографий его проекта. Очень профессионально !

А отсюда можно загрузить схему в формате Eagle:

Исходный код на ассемблере находится здесь:

Продолжение читайте здесь

Перевод: AlexAAN по заказу РадиоЛоцман

Gwsi geps

Table of Contents:

  • Расходные материалы:
  • Шаг 1: что вам нужно
  • Шаг 2: принципиальная схема
  • Шаг 3: Загрузить эскиз Arduino
  • Шаг 4: Обработка приложения (последовательная связь с компьютером)
  • Шаг 5: Android-приложение (последовательная связь устройства Android)
  • Шаг 6: Спасибо за подписку!
  • 3 человека сделали этот проект!
  • AndreiU4 сделал это!
  • TunMaker сделал это!
  • _djura_ сделал это!
  • рекомендации
  • Образцы кода Mash Up Arduino
  • Открытый прототип Ornithopter. Arduino с питанием и дистанционным управлением.
  • Интернет вещей
  • Конкурс классной науки
  • IoT Challenge
  • Фэндом Конкурс
  • 39 обсуждений

POV Display — забавный и интересный способ отображения текста в пространстве. Это мое первое учебное пособие по Instructables, поэтому, если у вас есть какие-либо вопросы, не стесняйтесь писать их в разделе комментариев ниже.

Расходные материалы:

Шаг 1: что вам нужно

Для создания POV Display я использовал:

— Arduino UNO + Arduino IDE (которую можно скачать здесь).

— Программа обработки: которую вы можете скачать здесь (если вы используете компьютер для последовательной связи).

— Android-устройство (при использовании приложения Android для последовательной связи).

— Модуль Bluetooth (почти любой подойдет, просто проверь проводку, у меня есть «BTBEE PRO HC-05 «).

— 8 светодиодов с цветом на ваш выбор.

— резисторы 8 х 220 Ом.

— двигатель 9 В постоянного тока.

Шаг 2: принципиальная схема

Шаг 3: Загрузить эскиз Arduino

Arduino Sketch позволяет вам контролировать все с вашего устройства Android. Просто загрузите скетч в Arduino и управляйте всем с помощью приложения для Android.

Шаг 4: Обработка приложения (последовательная связь с компьютером)

Для всех, кто не знает, что такое обработка:

Обработка является языком программирования, средой разработки и онлайн-сообществом. С 2001 года Обработка продвигает программную грамотность в области визуальных искусств и визуальную грамотность в рамках технологий. Первоначально созданная для того, чтобы служить в качестве скетчбука программного обеспечения и для обучения основам компьютерного программирования в визуальном контексте, обработка превратилась в инструмент разработки для профессионалов. Сегодня десятки тысяч студентов, художников, дизайнеров, исследователей и любителей, которые используют обработку для обучения, создания прототипов и производства.

Я часто использую обработку для создания приложений, которые позволяют мне взаимодействовать с Arduino через последовательную связь.

Приложение для обработки позволяет вам рисовать любую фигуру по вашему выбору, нажимая на белые футляры, и вы сразу же увидите ее на дисплее POV. Даже когда он вращается на высокой скорости.

Чтобы использовать приложение для обработки, вам нужно настроить Bluetooth на вашем компьютере. Если ваш Bluetooth уже настроен, вы можете пропустить этот шаг. Но вам нужно изменить COM-порт в вашем эскизе обработки на соответствующий порт вашего адаптера Bluetooth.

В противном случае, если ваш компьютер не имеет встроенного Bluetooth, вам придется купить модуль Bluetooth или ключ Bluetooth (убедитесь, что он совместим с вашей операционной системой).

Затем вам нужно будет выполнить сопряжение с модулем Bluetooth, подключенным к Arduino, зайдя в диспетчер Bluetooth на своем компьютере и нажав «Добавить подключение» или что-то в этом роде, затем щелкнув соответствующее устройство.

После выполнения шага сопряжения вы должны будете получить COM-порт, который используется модулем Arduino Bluetooth при подключении к компьютеру, после чего вы открываете «POV_processing«и под»Void setup ()«функция, которую вы заменяете»COM40«с соответствующим COM-портом, который вы уже получили.

Шаг 5: Android-приложение (последовательная связь устройства Android)

Для управления дисплеем POV я запрограммировал приложение для Android с помощью Android Studio Development Kit. Хотя это приложение может работать практически на всех устройствах Android (смартфоны, планшеты), но не может работать правильно на устройствах под Android 4.0 установлен.

Это приложение разделяет основы с приложением обработки, но оно более развито и имеет гораздо больше возможностей.

Приложение позволяет вам контролировать все с вашего устройства.

Буду очень признателен, если вы оцените приложение и напишите свой отзыв.

Ссылка для скачивания: http://play.google.com/store/apps/details?id=ola.user.finalo

Шаг 6: Спасибо за подписку!

Спасибо вам, ребята, за то, что подписались на мой проект, и я желаю, чтобы вы нажимали кнопку Follow для других проектов arduino. Также дайте мне знать в разделе комментариев ниже, если у вас есть какие-либо проблемы или вопросы, которые вы хотели бы, чтобы я ответил на них.

Поделитесь фотографией своего POV Display и дайте нам знать, если у вас есть идеи по улучшению этого проекта! ! !

Вращающийся светодиодный дисплей на Arduino

В этой статье мы рассмотрим создание на основы платы Arduino, светодиодов и электродвигателя постоянного тока вращающегося по кругу светодиодного дисплея (более наглядно этот процесс вы можете посмотреть в видео, приведенном в конце статьи).

Принцип работы данного дисплея будет основан на принципах работы светодиодной матрицы, которая содержит 8 светодиодов, упорядоченных в форме матрицы 8х1 (8 строк и 1 столбец). Светодиоды упорядочены в форме лестницы, один поверх другого. С помощью этих светодиодов можно будет показывать любую информацию: текст, числа, символы и т.д. Принцип действия нашего проекта будет основан на эффекте восприятия зрения (POV — Perception of Vision), с помощью которого визуально видимое неподвижное изображение можно получить за счет быстро движущихся изображений.

Необходимые компоненты

  1. Плата Arduino Uno (купить на AliExpress).
  2. Электродвигатель постоянного тока.
  3. +3.6V LI-ION battery (литий-ионная батарея).
  4. Светодиоды (8 шт.) (купить на AliExpress).
  5. Резисторы 1 кОм (8 шт.) (купить на AliExpress).

Конструкция вращающегося дисплея

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

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

Прикрепите сверху литий-ионную батарею подходящего размера (если она у вас есть). После этого проверьте все светодиоды на исправность с помощью маленькой батарейки (кнопочной) или любым другим способом. Затем к светодиодам припаяйте резисторы как показано на следующем рисунке.

Читайте также  Электронный кодовый замок на atmega8

Соедините спаянные светодиоды и резисторы с платой Arduino Uno как показано на следующем рисунке.

Поместите полученную конструкция сверху на электродвигатель постоянного тока и закрепите ее с помощью скотча. Финальный вид получившейся конструкции представлен на следующем рисунке.

Работа схемы

Схема устройства представлена на следующем рисунке.

Как видите, схема крайне проста, нам всего лишь нужно соединить 8 светодиодов с платой Arduino Uno:
PORTD, PIN0 —————— LED8 POSITIVE TERMINAL
PORTD, PIN1 —————— LED7 POSITIVE TERMINAL
PORTD, PIN2 —————— LED6 POSITIVE TERMINAL
PORTD, PIN3 —————— LED5 POSITIVE TERMINAL
PORTD, PIN4 —————— LED4 POSITIVE TERMINAL
PORTD, PIN5 —————— LED3POSITIVE TERMINAL
PORTD, PIN6 —————— LED2 POSITIVE TERMINAL
PORTD, PIN7 —————— LED1POSITIVE TERMINAL

Подобно тому как мы добавляли дополнительные столбцы в светодиодной матрице 8х8 чтобы расширить дисплей, в этом проекте вместо добавления светодиодных столбцов мы будем передвигать первый светодиодный столбец на место второго светодиодного столбца с помощью вращения электродвигателя.

Предположим, что мы хотим отобразить букву ‘A’ на нашем вращающемся дисплее. Пусть светодиодная линия (столбец из 8 светодиодов) находится в положении 1 как показано на следующем рисунке.

После этого мы подадим питание на электродвигатель и он начнет вращение своей оси.

В момент времени t=0ms линия будет в позиции 1. На этой позиции на все восемь светодиодов подается питание – от самого верхнего до самого нижнего.

В момент времени t=1ms линия будет в позиции 2. Также, как и на позиции 1, на все восемь светодиодов подается питание – от самого верхнего до самого нижнего.

В момент времени t=2ms линия будет в позиции 3. В этой позиции будут гореть только светодиоды 7,6 и 3, а остальные светодиоды линии будут в выключенном состоянии.

В момент времени t=3ms линия будет в позиции 4. Также, как и в позиции 3, в этот момент времени будут гореть светодиоды 7,6 и 3, а остальные светодиоды линии будут в выключенном состоянии.

В момент времени t=4ms линия будет в позиции 5. Также, как и в позициях 3 и 4, в этот момент времени будут гореть светодиоды 7,6 и 3, а остальные светодиоды линии будут в выключенном состоянии.

В момент времени t=5ms линия будет в позиции 6. В этой позиции на все восемь светодиодов снова подается питание – от самого верхнего до самого нижнего.

В момент времени t=6ms линия будет в позиции 7. В этой позиции все восемь светодиодов продолжат оставаться зажженными.

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

Исходный код программы

Мы запрограммируем плату Arduino таким образом, чтобы при помощи зажигания светодиодов в соответствующие моменты времени на вращающемся дисплее отображался текст “CIRCUIT DIGEST” (в переводе – набор схем).

Запрограммировать работу такого вращающего дисплея несложно. Для начала инициализируем символьный массив 26×8 с помощью инструкции volatile char ALPHA[26][8]. Этот массив будет содержать 8 позиций линии для отображения всего алфавита из 26 символов. То есть 26 строк массива будут представлять 26 символов, а 8 столбцов в каждой строке будут представлять 8 позиций светодиодной линии для отображения этого символа во время вращения. То есть каждый элемент этого массива будет содержать двоичное число, которое будет соответствовать состоянию включен/выключен 8 светодиодов в определенной позиции светодиодной линии. Напоминаем, что линия здесь – это 8 светодиодов, подключенных к плате Arduino в соответствии с приведенной выше схемой.

После этого все, что вам останется сделать, это использовать цикл ‘for’ с 8 итерациями для отображения символа. Если вы хотите отобразить 10 символов, то вам необходимо будет запустить 10 раз цикл ‘for’ с 8 итерациями в каждом. Таким образом, нам для отображения текста CIRCUIT DIGEST потребуется 13 раз запускать цикл ‘for’.

Надеюсь, созданный вами подобным образом вращающийся дисплей будет смотреться красиво. Далее приведен полный текст программы.