Оглавление:

Использование светодиодной матрицы в качестве сканера: 8 шагов (с изображениями)
Использование светодиодной матрицы в качестве сканера: 8 шагов (с изображениями)

Видео: Использование светодиодной матрицы в качестве сканера: 8 шагов (с изображениями)

Видео: Использование светодиодной матрицы в качестве сканера: 8 шагов (с изображениями)
Видео: LED-матрицы для видео-экранов 2024, Июль
Anonim
Image
Image
Сделайте Boxy Stuff из устаревших визиток!
Сделайте Boxy Stuff из устаревших визиток!

Автор: marciotMarcioT's Home Page Следуйте еще от автора:

Сделайте Boxy Stuff из устаревших визиток!
Сделайте Boxy Stuff из устаревших визиток!
DIY 2.5x - 5x оперные / концертные очки
DIY 2.5x - 5x оперные / концертные очки
DIY 2.5x - 5x оперные / концертные очки
DIY 2.5x - 5x оперные / концертные очки
Беспроводной датчик утечки воды для всего дома и система аварийного отключения воды
Беспроводной датчик утечки воды для всего дома и система аварийного отключения воды
Беспроводной датчик утечки воды для всего дома и система аварийного отключения воды
Беспроводной датчик утечки воды для всего дома и система аварийного отключения воды

О себе: Я увлекаюсь программным обеспечением с открытым исходным кодом, 3D-печатью, наукой и электроникой. Посетите мой магазин или страницу Patreon, чтобы поддержать мою работу! Подробнее о марсио »

Обычные цифровые камеры работают за счет использования большого количества световых датчиков для захвата света, отраженного от объекта. В этом эксперименте я хотел посмотреть, смогу ли я построить камеру заднего вида: вместо набора световых датчиков у меня есть только один датчик; но я управляю каждым из 1 024 отдельных источников света в матрице светодиодов 32 x 32.

Принцип его работы заключается в том, что Arduino освещает один светодиод за раз, используя аналоговый вход для отслеживания изменений в датчике освещенности. Это позволяет Arduino проверять, может ли датчик «видеть» конкретный светодиод. Этот процесс быстро повторяется для каждого из 1024 отдельных светодиодов, чтобы создать карту видимых пикселей.

Если объект помещен между светодиодной матрицей и датчиком, Arduino может захватить силуэт этого объекта, который загорится как «тень» после завершения захвата.

БОНУС: С небольшими изменениями тот же код можно использовать для реализации «цифрового стилуса» для рисования на светодиодной матрице.

Шаг 1. Детали, используемые в этой сборке

Детали, используемые в этой сборке
Детали, используемые в этой сборке
Детали, используемые в этой сборке
Детали, используемые в этой сборке

Для этого проекта я использовал следующие компоненты:

  • Arduino Uno с макетной платой
  • Светодиодная матрица 32x32 RGB (от AdaFruit или Tindie)
  • Адаптер питания 5 В, 4 А (от AdaFruit)
  • Гнездо адаптера питания постоянного тока 2,1 мм для винтовой клеммной колодки (от AdaFruit)
  • Прозрачный 3-миллиметровый фототранзистор TIL78
  • Провода перемычки

AdaFruit также продает экран Arduino, который можно использовать вместо перемычек.

Поскольку у меня было несколько кредитов Tindie, я получил свою матрицу от Tindie, но матрица от AdaFruit, похоже, идентична, так что любой из них должен работать.

Фототранзистор пришел из моих коллекций запчастей, которым уже несколько десятилетий. Это была прозрачная 3-миллиметровая деталь с маркировкой TIL78. Насколько я могу судить, эта часть предназначена для ИК и поставляется либо в прозрачном корпусе, либо в темном корпусе, который блокирует видимый свет. Поскольку светодиодная матрица RGB излучает видимый свет, необходимо использовать прозрачную версию.

Этот TIL78, похоже, был снят с производства, но я полагаю, что этот проект можно было бы реализовать с использованием современных фототранзисторов. Если вы найдете что-то, что работает, дайте мне знать, и я обновлю это руководство!

Шаг 2: Подключение и проверка фототранзистора

Подключение и проверка фототранзистора
Подключение и проверка фототранзистора

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

Я использовал провода для подключения фототранзистора к контактам GND и A5 на Arduino. Затем я создал эскиз, который установил контакт A5 как INPUT_PULLUP. Обычно это делается для переключателей, но в этом случае он обеспечивает питание фототранзистора!

#define SENSOR A5

void setup () {Serial.begin (9600); pinMode (ДАТЧИК, INPUT_PULLUP); } void loop () {// Непрерывно считываем аналоговое значение и распечатываем его Serial.println (analogRead (SENSOR)); }

Этот скетч выводит значения на последовательный порт в соответствии с окружающей яркостью. Используя удобный «Последовательный плоттер» из меню «Инструменты» IDE Arduino, я могу получить движущийся график окружающего света! Когда я закрываю и открываю фототранзистор руками, сюжет движется вверх и вниз. Отлично!

Этот эскиз - хороший способ проверить, подключен ли фототранзистор с правильной полярностью: фототранзистор будет более чувствительным при подключении в одном направлении по сравнению с другим.

Шаг 3: Подключение ленточного кабеля матрицы к Arduino

Подключение ленточного кабеля матрицы к Arduino
Подключение ленточного кабеля матрицы к Arduino

Чтобы подключить матрицу к Arduino, я изучил это удобное руководство от Adafruit. Для удобства я вставил схему и распиновку в документ и распечатал страницу с кратким справочником, чтобы использовать ее при подключении всех компонентов.

Убедитесь, что выступ на разъеме совпадает с указанным на схеме.

В качестве альтернативы, для более чистой схемы вы можете использовать экран с матрицей RGB, который AdaFruit продает для этих панелей. Если вы используете экран, вам нужно будет припаять разъем или провода для фототранзистора.

Шаг 4: Подключение матрицы

Подключение матрицы
Подключение матрицы
Подключение матрицы
Подключение матрицы
Подключение матрицы
Подключение матрицы

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

Затем я подключил разъем питания и ленточный кабель, стараясь не повредить перемычки в процессе.

Шаг 5. Установите библиотеку AdaFruit Matrix и протестируйте матрицу

Установите библиотеку AdaFruit Matrix и протестируйте матрицу
Установите библиотеку AdaFruit Matrix и протестируйте матрицу

Вам нужно будет установить «RGB матричную панель» и AdaFruit «Adafruit GFX Library» в вашу Arduino IDE. Если вам в этом нужна помощь, лучше всего подойдет руководство.

Я предлагаю вам выполнить некоторые из примеров, чтобы убедиться, что ваша панель RGB работает, прежде чем продолжить. Я рекомендую пример "Plasma_32x32", он очень классный!

Важное примечание: я обнаружил, что если я включу Arduino до того, как я подключу источник питания 5 В к матрице, матрица будет тускло светиться. Похоже, что матрица пытается получить питание от Arduino, и это определенно не годится! Поэтому, чтобы избежать перегрузки Arduino, всегда включайте матрицу перед включением Arduino!

Шаг 6: Загрузите код сканирования матрицы

Второй приз конкурса Arduino Contest 2019

Рекомендуемые: