1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Интерактивная светодиодная матрица с функцией часов и эффектом песка, тетриса и т.д.

Интерактивная светодиодная матрица с функцией часов и эффектом песка, тетриса и т.д.

Простые часы на светодиодных матрицах.

Автор: O-LED
Опубликовано 19.09.2011
Создано при помощи КотоРед.

Многие радиолюбители, начинающие и не только любят «изобретать велосипед» — строить СВОИ электронные часы. Не обошла эта участь и меня. Конструкций часов в инете сегодня конечно предостаточно, но вот часов на светодиодных матрицах почему-то среди них единицы. В русскоговорящем интернете я нашел только одну полностью законченную конструкцию. В тоже время, светодиодные матрицы сейчас очень сильно подешевели, и их стоимость не выше, а то и ниже, чем у семисегментных индикаторов такого же размера. Например примененные мной GNM23881AD при размере 60х60мм были куплены за 1,5уе (3 индикатора обошлись в 4,5уе) за эти деньги вы вряд ли купите четыре семисегментника таких-же размеров). А вот информации, разместить на матричном индикаторе, можно намного больше. Кроме цифр на них можно отображать буквы, знаки, а с помощью бегущей строки еще и текст. Исходя из этого, появилось желание построить часы на светодиодных матрицах, но чтоб схема при этом получилась не сложнее чем на семисегментниках. Также хотелось чтоб она была достаточно функциональна и не похожа на другие. Так родилась следующая схема.

Функционал у часов такой:

  • Отсчет времени, календарь, день недели. (високосный год учитывается, переход на летнее/зимнее время не осуществляется).
  • Сохранение хода часов при пропадании внешнего питания (потребление составляет 15мка).
  • Коррекция хода + — 59,9сексутки, с шагом 0,1сек.
  • 9 будильников. 3 из которых «одноразовые», и 6 «постоянных», индивидуально настраиваемых по дням недели.
  • Индивидуально настраиваемая длительность звукового сигнала каждого будильника (1-15мин).
  • Звуковое подтверждение нажатия кнопок (возможно отключить).
  • Ежечасный звуковой сигнал (возможно отключить). С 00-00 до 08-00 сигнал не подаётся.
  • 1 или 2 датчика температуры (Улица и дом).
  • Настраиваемая бегущая строка, посредством которой выводится вся информация (кроме времени)
  • Значение коррекции хода, и настройки «бегущей строки» — сохраняются даже при пропадании резервного питания.

«Сердцем» часов выбрана AtMega16A, из-за её доступности, дешевизны и «ногастости». Схему хотелось максимально упростить, поэтому все что можно, было возложено на контроллер. В результате удалось обойтись всего двумя микросхемами, контроллером и регистром с мощными выходами TPIC6B595. Если кому то недоступен TPIC6B595, то можно его заменить на 74НС595 + ULN2803. Оба варианта были опробованы. Так же можно попробовать применить TPIC6С595, она немного слабовата, и слегка грелась, но в целом работала стабильно. Отсчет времени производится с помощью асинхронного тайме – Т2. Ход часов продолжается и при пропадании питания. В это время бОльшая часть схемы обесточена, и только контроллер получает питание от батарейки, аккумулятора , или от ионистора. Мне было интересно «по играться» с ионистором, поэтому применил его. Ток потребления часами в дежурном режиме составляет 15мка. При питании от ионистора на 1Ф, часы «продержались» четверо суток. Этого вполне достаточно для поддержания хода во время перебоев питания. Если применить батарейку СR2032, то теоретически, по расчетам заряда должно хватить на 1,5года. Наличие сетевого напряжения контроллер «слушает» через вывод РВ.3. Напряжение питания, через делитель R2-R3 подается на вывод РВ.3, и в нормальном состоянии равно примерно 1,5в. Если внешнее напряжение упадет ниже 4,1 вольта, то напряжение на выводе РВ.3 станет меньше 1,23вольта, при этом сгенерируется прерывание от компаратора, и в обработчике этого прерывания выключаются все «лишние» узлы контроллера и сам контроллер усыпляется. В этом режиме продолжает работать только отсчитывающий время таймер Т2. При появлении внешнего питания, напряжение на РВ.3 сново подымится выше 1,23в, контроллер «увидев» это, переведет все узлы в рабочее состояние. Если вместо ионистора, будет использоваться батарейка СR2032, то её нужно подключить через диод(предпочтительно диод шоттки). Анод диода подключается к + батарейки, а катод к катоду VD1.

Читать еще:  Светильник из коробки для дисков и светодиодной ленты

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

9 будильников разделены на 3 одноразовых и 6 многоразовых. При включении будильников 1-3, они срабатывают только один раз. Для того чтоб они сработали еще раз, их нужно повторно включать вручную. А будильники 4-9 многоразовые, т.е. они будут срабатывать ежедневно, в установленное время. Кроме того эти будильники можно настроить на сработку только в определенные дни недели. Это удобно, например если не хотите чтоб будильник разбудил Вас в выходные. Или например Вам нужно просыпаться в будние дни в 7-00, а в четверг в 8-00, а на выходных будильник не нужен. Тогда настраиваем один многоразовый на 7-00 в понедельник-среду и пятницу, а второй на 8-00 в четверг….. Кроме того все будильники имеют настройку длительности сигнала, и если Вам, для того чтоб проснуться, мало сигнала в течении 1 минуты, то можно увеличить его на время от 1 до 15мин.

Коррекция хода производится один раз в сутки, в 00-00. Если часы спешат к примеру на 5 сек в сутки, то в 00-00-00 время установится в 23-59-55, если же часы отстают на 5 сек, то в 00-00-00 время установится в 00-00-05. Шаг коррекции – 0,1 сек. Максимальная коррекция – 59,9 сек/сутки. С исправным кварцем больше вряд ли понадобиться. Коррекция осуществляется и в дежурном режиме при питании от батареи.

Светодиодные матрицы можно использовать любые 8*8 светодиодов с общим катодом. Как уже было указано, я применил GNM23881AD. В принципе можно «набрать» матрицу и из отдельных светодиодов. Микроконтроллер AtMega16a можно заменить на «старый» AtMega16 с буквой L. При этом, теоретически должен немного увеличится ток потребления от батарейки. Наверное будет работать и просто AtMega16, но могут возникнуть проблемы при работе от 3х вольтовой батарейки. Диод D1 — желательно любой диод шоттки. С обычным выпрямительным тоже работает, но чтоб обезопасить себя от различных глюков, связанных с тем что часть схемы питается напряжением «до диода», а часть «после диода» лучше поискать шоттки. Транзистор VT1 – любой n-p-n.

Управление часами осуществляется двумя кнопками. Их количество можно было довести до 8шт, не добавляя больше вообще ни одного компонента, кроме самих кнопок, но захотелось попробовать «выкрутится» всего двумя. Кнопки условно названы «ОК» и «ШАГ». Кнопкой «ШАГ» как правило происходит переход к следующему пункту меню, а кнопкой «ОК» изменение параметров текущего меню. Сигнал сработавшего будильника также выключается кнопками «ОК» или «ШАГ». Нажатие любой кнопки во время сигнала будильника отключает его. Схема управления получилась такой:

Конструктивно часы выполнены на одной ПП. Размер ПП соответствует размеру индикаторов. Минимальная ширина дорог ПП – 0,4мм, расстояние между – 0,4мм. Так что любители «ЛУТа» смогут без труда изготовить плату самостоятельно.

Все элементы — в SMD исполнении, и расположены с одной стороны платы. А индикаторы с другой. Получается миниатюрный монолитный блок, который легко встроить в какой ни будь небольшой плоский корпус.

Корпус спаян из стеклотекстолита, прошпаклеван и покрашен в цвет «спелая вишня». Стекло передней панели – обычное тонированное стекло.

Интерактивная светодиодная матрица с функцией часов и эффектом песка, тетриса и т.д.


Шаг второй: сборка
Эта светодиодная матрица P2.5 RGB 64×64 имеет размер 16 х 16 см. Все компоненты монтируются на двухсторонней медной макетной плате 9×15см.

Читать еще:  Фитосветильник для растений на светодиодных матрицах

Макетная плата будет крепится на светодиодной матрице. Сначала мастер на плате вырезает отверстие для доступа к разъему питания.






Шаг третий: программирование
Мастер использует следующие библиотеки:
Библиотека PxMatrix
Библиотека MPU6050
Библиотека Adafruit GFX
Библиотека NTPClient
Код можно скачать здесь.
MPU6050 подключается к ESP32 NODEMCU-32S с помощью следующих контактов:
*** SDA (MPU6050) — GPIO27 (NODEMCU-32S)
*** SCL (MPU6050) — GPIO26 (NODEMCU-32S)
mpu.begin (MPU6050_SCALE_2000DPS, MPU6050_RANGE_4G, MPU6050_ADDRESS, 27, 26))
// SDA — GPIO27 и SCL — GPIO26

Некоторые панели имеют медленный мультиплексор, и отображается только частичное изображение. Чтобы исправить это, можно добавить некоторую задержку к функции мультиплексирования.

setMuxDelay (uint8_t mux_delay_A, uint8_t mux_delay_B, uint8_t mux_delay_C, uint8_t mux_delay_D, uint8_t mux_delay_E);

Можно настроить временной сдвиг в соответствии с вашим часовым поясом

#define NTP_OFFSET 25200 //

Можно изменить шрифт для чисел и строк:

#include
#include
#include
#include

«CLOCK» в середине матрицы определяются как препятствие:

imgWrapper.setCursor (0, 26);
imgWrapper.setFont (& FreeSansBold9pt7b);
imgWrapper.setTextColor (myWHITE);
imgWrapper.print («CLOCK»);

И это препятствие «CLOCK» отображается на светодиодной матрице в виде следующих кодов ниже. Можно изменить его, заменив строку «CLOCK» на другие знаки.

display.setCursor (0, 32);
display.setFont (& FreeSansBold9pt7b);
display.setTextColor (myWHITE);
display.print ( «CLOCK»);

После программирования нужно откалибровать устройство и при необходимости скорректировать код.
Мастер попробовал на своем устройстве несколько графических эффектов.


АДРЕСНЫЕ СВЕТОДИОДНЫЕ МАТРИЦЫ

Проект “Bluetooth матрица”

Проект “Гирлянда-дисплей”

Проект “Тетрис”

В этом гайде речь пойдёт о матрицах из адресных светодиодных лент. Если вы не в курсе про адресные ленты, то рекомендую изучить вот эту статейку. Фишка адресной ленты в том, что мы можем управлять любым из подключенных светодиодов. Если уложить ленту так, чтобы светодиоды образовывали ровную сетку, то мы получим матрицу, у которой можно зажечь любой “пиксель”, а зажечь можно одним из 16,7 миллионов цветов и оттенков! (светодиоды RGB, яркость каждого цвета имеет 256 градаций (8 бит), соответственно для трёх цветов у нас 256*256*256=16,7 лямов, что есть привычные 24 бита цветовой глубины). То есть по сути получаем полноценный 24 битный дисплей сверхнизкого разрешения! Зачем такое разрешение в 2к18 году? Спроси у своего папы, во что он играл в детстве =)

Начнём с компонентов. Матрицу можно склеить самому, для этого понадобится адресная светодиодная лента, например самая популярная на чипах WS2812b. Да, сейчас есть уже более новая WS2813, но для наших целей она преимуществ не имеет. Целесообразно брать ленту с плотностью пикселей 60 светодиодов на метр для маленьких матриц (ячейка 1.7×1.7 см) и 30 светодиодов на метр для больших матриц (ячейка 3.3×3.3 см). Также есть светодиодные модули по типу “гирлянды”, их можно брать для ОЧЕНЬ БОЛЬШИХ матриц (ячейка 12×12 см). Рассмотрим матрицу 20×10 светодиодов: из ленты 60 LED на метр размер матрицы будет 34×17 см, из 30 LED на метр – 66×33 см, и из модулей – 240×120 см.

Также хитрые китайцы уже продают готовые матрицы нескольких размеров, причём очень выгодно: матрица 16×16 стоит 1500р, она состоит из 256 диодов с плотностью 100 штук на метр. Лента такой же плотности стоит 1000р за метр (за 100 светодиодов). Для склейки матрицы размером 16×16 понадобится 2.5 метра ленты, то есть 2500р. А готовая матрица стоит на 1000р дешевле. Абсолютно то же самое касается матрицы 32×8 пикселей. Есть ещё готовая матрица 8×8, она стоит 300р. И вот она выходит уже не так выгодно =) Для питания матрицы нужен блок питания на 5V, по току расскажу дальше. Ссылок оставляю несколько, ищите выгодные предложения и скидки (P.S. Я закупаюсь в BTF-Lighting)

ВАЖНО! Чем больше матрица, тем больше места занимает прошивка в памяти. Для прошивки GyverMatrixOS:

Читать еще:  Светодиодный светильник для книг

В Arduino Nano/UNO/Pro Mini при использовании всех эффектов и режимов очень впритык вмещается матрица 16х16 (256 диодов), возможны зависания и перебои в работе;

В Arduino Leonardo/Micro/Pro Micro вмещается около 400 светодиодов (матрица 20×20);

В Arduino Mega вмещается около 1700 светодиодов (матрица 40×42)

В ESP8266/NodeMCU/Wemos вмещается ГОРАЗДО больше светодиодов, но нужно понимать, что скорость обновления ленты зависит от количества светодиодов, и при 500 диодах будет 60 кадров в секунду (fps), при 1000 будет 30 fps, при 2000 будет 15 fps, т.е. ощутимые глюки в быстрых эффектах.

Что такое «Эффект Тетриса» и как эта игра влияет на мозг

Если вы проведете достаточное количество времени за игрой в Тетрис, то эта игра начнет формировать шаблоны в вашем мышлении, мысленных образах и даже снах. Это явление называется «Эффектом Тетриса» (или синдром тетриса).

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

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

Повышение эффективности работы мозга

Одно из самых ранних исследований Эффекта Тетриса было проведено известным психологом Ричардом Хайером и его коллегами из отдела психиатрии и поведения человека в Калифорнийском университете в 1991 году с целью демистификации загадки эффекта Тетриса.

Проводя исследование Хайер хотел найти ответ на вопрос «Увеличивается ли потребление мозгом энергии, когда по мере игры в тетрис процесс принятия решений становится сложнее из-за увеличения скорости падения фигурок в стакан.

Результаты сканирования мозга испытуемых игроков оказались парадоксальными — Хайер обнаружил, при игре на высоком уровне сложности мозгу, на самом деле, требуется даже меньше энергии, чем на начальных этапах игры.

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

Улучшение пространственных навыков

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

Увеличение объема памяти

В 2009 году команда исследователей из BioMed Central провела исследование об эффекте тетриса. Для исследования они использовали МРТ сканирование головного мозга участников. Тогда были протестированы две группы людей: одна играла в тетрис по 30 минут в день, а другая — вообще не играла.

Глядя на изображения МРТ, исследователи обнаружили, что серое вещество участников, которые играли в тетрис, более плотное по сравнению с теми, кто в нее не играл. Исследователи пришли к выводу, что тетрис может привести к когнитивному развитию на физическом уровне, а также увеличить емкость памяти. Исследование BMC пришло к выводу, что игра в тетрис улучшает физическое состояние мозга и позволяет ему работать более эффективно.

Не только тетрис

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

Если вам понравилась статья, то поставьте лайк и подпишитесь на канал Научпоп. Наука для всех . Оставайтесь с нами, друзья! Впереди ждёт много интересного!

Ссылка на основную публикацию
Статьи c упоминанием слов:
Adblock
detector