nettips.ru

Добавление звука в Gyver лампе

На главную Cisco Systems VoIP маршрутизатор Беларусь Asterisk коммутатор Arduino Nateks Alcatel MTS Gigaset Velcom ZTE Grandstream Android Huawei админы шутят о сайте Zelax Allied Telesis D-Link Штрихкоды HP
Телефонные номера доступа sip операторов Телефонные коды городов и стран мира.

Рейтинг статьи: 4.250/5 Рейтинг 4.25 из 5Рейтинг 4.25 из 5Рейтинг 4.25 из 5Рейтинг 4.25 из 5Рейтинг 4.25 из 5 (4 голосов).

Используя модуль dfplayer добавил проигрывание мелодий и произношение текущего времени в проекте GyverLamp-master-gunner47

Спонсор этой страницы:

Последняя версия от 03/04/2020

GyverLamp_42_Shaitan.zip
Голосовые подсказки
Звуки природы для будильника, пламени, воды. Папки 01, 02, 03, 04 , 05 , 06

Исходник проекта

Началось все с того, что Alex Gyver создал лампу на матрице адресных светодиодов и arduino.
Основная страница проекта
Как и многие хорошие проекты, этот проект начал развиваться в сети и обрел множество поклонников.
Программа имеет множество эффектов, будильник, и управляется со смартфона через приложение (см. в google market).
Одна из доработок от Gunner47 оказалась очень удачной.
Доработанный проект gunner47
Количество эффектов было увеличено до 26. и написано свое приложение. На текущий момент участниками форума написано множество своих эффектов. В эту прошивку я и решил добавить модуль MP3.

Краткое описание

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

Инструкция


в файле shaitan_var.h обязательные настройки

#define MP3_TX_PIN (14U) // artuinio TX mp3 player RX (D5) в случае отсутствия заремить
#define MP3_RX_PIN (12U) // artuinio RX mp3 player TX (D6)
#define count_mp3_folders (6U) // Количество папок 01 02 03


Для желающих дополнить озвучить, например, эффекты пламени звуком огня, в файле effectTicker.ino можно указать папку для проигрывания файлов на конкретном эффекте.

case EFF_FIRE: fireRoutine(true); mp3_folder=3; break; //Огонь
case EFF_FIRE2012: fire2012WithPalette(); mp3_folder=4; break; //Водопад
case EFF_CLOCK: ClockRoutine(WIDTH,HEIGHT,true); mp3_folder=0; break; //Часы без звука

Номер папки для звучания зависит от яркости эффекта "Громкость" через остаток от деления на количество папок.

Дополнения по количеству эффектов

Взяв исходник приложения, и используя среду разработки ai2.appinventor.mit.edu было добавлено несколько эффектов в приложение.

Схема подключения MP3 модуля

(Очень рекомендую убрать управление ленты с D4)
я перевел на D3

#define LED_PIN (0U) // пин ленты (0U - D3) (2U - D4)

Модули и инструкции

Для начала понадобятся MЗ3 файлы голосовых подсказок и мелодии
Голосовые подсказки
Звуки природы для будильника

7/03/2020


Создан эффект часы effects--clock.ino.

вызов : ClockRoutine(WIDTH,HEIGHT,true);
цвет меток циферблата - радужный, цвет метки возле минутной стрелки стремится к цвету минутной стрелки.
фон черный.
Ширина, высота, требуется ли очистить экран;

вызов : ClockRoutine(WIDTH,HEIGHT,false);
цвет всех елементов - белый
фон предыдущий.

Примеры вызова
с наложением
case EFF_COLOR: colorRoutine(); ClockRoutine(WIDTH,HEIGHT,false); break;
без наложения
case EFF_новое: ClockRoutine(WIDTH,HEIGHT,true); break;
для цилиндрических ламп наверно лучще будет
case EFF_новое: ClockRoutine(10,16,true); break;

11/03/2020


Исправлены ошибки при работе с eeprom, влияющие на связь лампы с приложением, оптимизирован опрос DFPlayer.

Часы вставлены отдельным эффектом.

Начата работа с эквалайзером. Будет продолжена после приезда микрофона из Китая. Пока показывает шум на аналоговом пору A0.
Для компиляции необходимо добавить библиотеку анализатора спектра звука fix_fft (есть в управлении библиотеками).

Приложение написано на 42 эффета. (29-39) свободны для ваших экспериментов. (внутри архива).

11/03/2020

1)
В связи с тем, что многие используют прошивку без mp3 модуля, и жалуются на зависания, необходимо закоментироть строку в файле shaitan_var.h
//#define MP3_TX_PIN (14U) // artuinio TX mp3 player RX (D5) в случае отсутствия заремить
При наличии mp3 модуля, раскоментировать.

2)
Добавил строчки для приложения Koteyka
Приложение добавил в архив.

22/03/2020

Вернулся к базовой прошивке от Gunner47.
Добавил mp3.
Добавил множество эффектов от участников форума.

24/03/2020

Добавлены эффекты Меташарики, Синусоид 3, Спираль, Прыгающие мячики, Новый огонь

25/03/2020


Исправлены ошибки со скоростью.

изменены эффекты "Цвет" и "Смена цвета". Масштаб меняет насыщенность.

к звукам природы добавлены звук костра и шум дождя.

Обновлено приложение LedLamp_42.apk

26/03/2020

исправлена ошибка с запуском звука будильника в начале рассвета.

от начала до окончания рассвета сейчас используется папка 01 см. time.ino

mp3_folder=1; //Будильник из 1 папки

там же описано поведение лампы по окончанию рассвета.


//Запустить таймер на 30 мин
TimerManager::TimerRunning = true;
TimerManager::TimerHasFired = false;
TimerManager::TimeToFire = millis() + 30 * 60 * 1000;
// Включить определенный режим, Например облака
currentMode=EFF_CLOUDS;
// Включить режим избраннное
FavoritesManager::FavoritesRunning = true;

30/03/2020

Для проверки работоспособности идеи на D1 добавил инфракрасный приемник для управления лампой с пульта.
Добавилась библиотека IRremoteESP8266-master
Отдельно модуль управления по ИК
в Constants.h вставить
// ----ИК Управление
#define IR_PIN (5U) // D1 Пин, куда подключет IR
в setup() вставить
#ifdef IR_PIN
ir_setup();
#endif
в loop() вставить
#ifdef IR_PIN
ir_loop();
#endif

При использовании своих пультов, коды клавиш впишите свои, посмотрев в мониторе порта.

01/04/2020

При смене эффекта моментально переключает папку воспроизведения, а не дожидаясь окончания воспроизведения файла
Отключать звук в еффекте можно указав папку 0

mp3_folder=0;

Адаптация к приложению Koteyka с возможностью рисования и зачитывания списка эффектов из лампы.
При отсутствии интернета плеер игнорирует время.

02/04/2020

Корректировка скорости на 3D эффектах.
Уменьшение времени доступа к DFPleer.
Нарисованная картинка в приложении хранится в памяти лампы до перезагрузки и используется в эффекте "Блуждающий кубик", который адаптирован под цилиндр.

02/04/2020

Убрал эффект матрица, заменив его эффектом радужный дождь.
Добавил на 36-е место дождь с возможностью изменения цвета и звука. В красных тонах звук огня, в синих-дождя.

Arduino Led Программирование

Пожалуйста, оцените и ВЫ эту статью:

Комментарии к статье:

  • 2020-03-06 06:01:34, Гость :

    Здравствуйте. Извините, я не особо программист, от слова совсем. Скажите, можно Вашу прошивку где нибудь целиком скачать?

  • 2020-03-08 10:55:21, Гость :

    Не знаю, ни одно из приложений не видит лампу с Вашей прошивкой. Прошиваешь другой прошивкой, все приложения включая Ваше видят.Причем в СОМ порте видно, что лампа переключается в точку доступа, вводишь IP и порт, и тишина. Второй день мучаюсь, менял платы, пробовал прошивать пустую плату, баз "обвеса" не помогает. Очищал память, бесполезно.

  • 2020-03-08 15:03:11, Гость :

    Не знаю, ни одно из приложений не видит лампу с Вашей прошивкой. Прошиваешь другой прошивкой, все приложения включая Ваше видят.Причем в СОМ порте видно, что лампа переключается в точку доступа, вводишь IP и порт, и тишина. Второй день мучаюсь, менял платы, пробовал прошивать пустую плату, баз "обвеса" не помогает. Очищал память, бесполезно.

    • 2020-03-11 21:36:23, 123 :

      Исправлено

      • 2020-03-15 06:24:23, Гость :

        не собирается, ошибка: CaptivePortalManager.h: No such file or directory. Заливка прошивки от t_igr https://yadi.sk/d/5IhOtFFConjYPg - все работает.

      • 2020-03-15 06:28:25, Гость :

        не собирается, ошибка: CaptivePortalManager.h: No such file or directory. Заливка прошивки от t_igr https://yadi.sk/d/5IhOtFFConjYPg - все работает. Какие Вы библиотеки используете? Может дело в них?

        • 2020-03-16 12:48:24, 123 :

          Один из форумчан писал об этой проблеме. Он просто переименовал CaptivePortalManager.h и изменил в include ...

          Вечером выложу список библиотек и версий.

          • 2020-03-17 14:58:31, Гость :

            Да tolyan23 переименовывал, но прошивка так и не пошла. "Сначала прошивка не собиралась потому что
            CaptivePortalManager.h: No such file or directory
            Потом я закоментировал подключение этой библиотеки и о чудо прошивка собралась (добавлять в прошивку неиспользуемые библиотеки очень интересная идея), залил по wifi и получил трупик. Выругался, разобрал лампу. для перепрошивки. Переименовал библиотеку CaptivePortalManager.h в Captive1.h и ее подключение соответственно, опять свершилось чудо прошивка собралась, прошиваю по usb и снова после прошивки получаю кирпич... Прошил последнюю рабочую прошивку с этого сайта от t_igr https://yadi.sk/d/5IhOtFFConjYPg и лампа снова работает..."

      • 2020-03-21 06:03:45, Гость :

        Долго мучался, приложения не видели лампу. Решилось все довольно просто. Прошиваешь с полной очисткой прошивкой, от Gunner47, затем прошиваешь только скетч прошивкой GyverLamp_42_kDn_Shaitan, и все прекрасно работает и подключается. Может данный способ кому то поможет.

  • 2020-03-29 23:02:44, Гость :

    Спасибо за прошивку со звуком, я собрал на ней камин. Есть пожелания по доработке, может кто поможет их выполнить:
    1. При смене эффекта отправлять плееру команду остановки воспроизведения. Сейчас при смене играет музыка первого эффекта, а новая не включается. Её можно включить только выключив и включив лампу.
    2. При смене яркости изменять громкость воспроизведения. За 100% громкости взять величину из настроек


    Ещё я заметил, что каждые 5-7 секунд случаются фризы. На малой скорости их незаметно, а на большой, особенно в эффект пламени, видно отчётливо. Это только у меня или у всех так?

    • 2020-03-29 23:04:25, Гость :

      Так же во время рассвета проигрывать звуки из папки (типа птички щебечут). Чем больше яркость, тем выше громкость

    • 2020-03-30 22:11:30, 123 :

      по громкости
      в файле shaitan_mp3.ino
      set_mp3_volume=map(modes[EFF_VOICE].Speed,1,255,0,30);
      поменять на
      set_mp3_volume=map(modes[currentMode].Brightness,1,255,0,30);

      при смене еффекта, например в button.ino в условиях двух/трех кратного нажатия добавь
      mp3_play_next=true;

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

      • 2020-03-30 22:47:13, Гость :

        У китайских плееров (как у меня) есть отдельный выход busy. Есть какие то причины, по которым нельзя использовать его вместо постоянного опроса?
        И ещё, почему ты написал свои инструкции по работе с плеером, а не использовал готовые библиотеки?

        • 2020-03-31 15:47:32, 123 :

          я вначале написал, а потом нашел готовую библиотеку. готовая делает то же самое, только занимает больше места.

      • 2020-03-30 22:48:26, Гость :

      • 2020-03-30 22:49:03, Гость :

        У меня нет кнопки в лампе. Как можно реализовать переключение трека по другому?

      • 2020-03-31 15:05:07, Гость :

        Прошу добавить пару строчек в прошивку.

        1. При смене эффекта моментально переключает папку воспроизведения, а не дожидаясь окончания воспроизведения файла

        в файле shaitan_var.h
        найти
        uint8_t mp3_play_time=0; // 1-Воспроизвести время (ч/м), 2-Воспроизвести минуты, 3-Воспроизвести часы
        uint8_t KotGBR=0;
        bool put_play=false;

        вставить после
        int mp3_folder_last=0;

        в файле shaitan_mp3.ino
        Найти
        void mp3_loop()
        {
        if ((millis() - mp3_timer >5000) && mp3_time_test_play_now) { // Раз в 5 секунд в промежуток между прорисовками послать запрос на состояние MP3
        mp3_play_now=(play_status(true)>0);
        mp3_timer=millis();
        mp3_time_test_play_now=false;
        }

        Вставить после
        if (mp3_folder_last != mp3_folder) {
        mp3_play_next=true;
        mp3_folder_last=mp3_folder;
        }

        Спасибо

  • 2020-03-30 00:32:48, Гость :

    Здравствуйте, надо ли добавлять библиотеку плеера. Если да, то какую? Все работает, но звуков нет. Плеер рабочий, все файлы по папкам как рекомендовано.

    • 2020-03-30 22:00:36, 123 :

      Дополнительно библиотеку добавлять не надо.
      На плеере при воспроизведении должен гореть огонек.
      и еще. в прошивке указано, что с 10 вечера до будильника плеер не включать.
      if ((thisTime < NIGHT_HOURS_START && thisTime > alarms[thisDay].Time) || dawnFlag) // В дневное время или при будильнике

      • 2020-03-31 00:04:38, Гость :

        Спасибо за ответ. А без подключения к роутеру и отсутствия соединения с интернет, плеер должен работать?

        • 2020-03-31 15:41:37, 123 :

          запуск плеера зависит от ONflag и от thisTime
          без интернета возможно сбиваются часы. подумаю над этим.

          • 2020-04-01 21:46:16, Гость :

            Спасибо за последнюю прошивку. Плеер заработал и без интернета. Указанные на схеме кнопки стоп и плэй - это на будущее?

            • 2020-04-02 16:04:15, 123 :

              Эти кнопки использовались у меня в лампе. Как оказалось, они достаточно бесполезны.
              включить их можно в файле shaitan_var.h
              //#define BTN_PIN_PLAY (13U) // пин кнопки (D7) Закоментировать, если кнопок нету

              убрав // перед #define

  • 2020-03-31 15:12:02, Гость :

    Привет. На матрице 14х19 (ШхВ) такое ощущение, что все эффекты обрезаны по правому краю. Это можно как то пофиксить?

    • 2020-03-31 15:50:24, 123 :

      Обрезан скорее всего огонь. Его можно подправить маской.

  • 2020-04-01 10:47:22, Гость :

    Привет. Плеер не понимает больше 8 папок на tf. Если прописать 9 и более, то после 8 проигрывает рандомную папку. Как это исправить?

    • 2020-04-01 10:50:29, Гость :

      Как отключить воспроизведение на конкретном эффект?

    • 2020-04-02 19:18:42, Гость :

      Я задал тупой вопрос, ответ на который лежит в шапке страницы. Переменная задаёт количество папок. Спасибо, извините

  • 2020-04-01 21:32:35, 123 :

    Пожелания вставил в прошивку


Ваши отзывы и предложения по работе сайта направляйте на форму обратной связи.

Яндекс.Метрика