Светодиодные часы своими руками на ардуино arduino ws2312

Добавил пользователь Alex
Обновлено: 01.09.2024

С детства любил ковырять различные радиосхемы, а тут появилась такая классная штука как среда Ардуино! Решил попробовать себя в ней! Все проекты были взяты в свободном доступе из Интернета. Коды практически не переписывались, я на них учился. Первый проект был "Бесполезна коробка" (https://youtu.be/LI3wJXQ3-wU). Второй - "6 позиционный переключатель" (https://youtu.be/OEt854Zx7As). Тут насмотрелся на прикольные часы https://youtu.be/sFggpp8It-s и решил собрать себе. С большим трудом нашел скетч. Немного переделал его по себя. Дело в том, что я выбрал себе шрифт "Digital-7", нарезал пенопласт. А когда стал подставлять светодиодную ленту под отверстия, понял что некоторые из сегментов длиннее остальных. И пришлось делать цифру из трех и четырех светодиодных отрезков. Сам скетч.

И вот теперь, друзья, вопросы.

Что и где добавить в скетче, чтобы с периодичностью 5-7 минут показывалась дата. Год, число и месяц. Сначала год "2016", потом дата "26.06"?

И еще. У меня есть температурный датчик DHT-11. Хотелось бы привязать его к часам. Чтобы они с периодичностью две-три минуты показывали температуру.

Буду очень признателен за советы и подсказки!

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

angersos аватар

Бесполезная коробка, мне нравится) если что скиньте программу)

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

Шустрости не хватает. Тоже хочу сделать.

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

вот и все технологии

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

не совсем так просто! там штук 10-15 разных открываний!

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

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

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

DetSimen аватар

библиотеки не знаю. Не исключено, что и дуня не знает. А вот DS3231.h - знаю. И гуголь знает

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

да, не исключено что имеено в названии библиотеки, но у меня работает и так..

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

Когда слышу про часики DS3231, на душе становится очень тепло. Это такая классная микросхемка RTC, которая ходит с очень большой точностью. Сделал себе небольшие астенные часики с этой микросхемкой, установил время и запустил на тестирование. Когда пошло более полутора лет, уход составил чуть более 15 екунд. И это все при том, что раз пять отключали в доме электроэнергию. DS323 - шедевр вражеской электроники!

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

А имеется у кого-то готовый скетч для часов на WS2812B с отображением температуры с микросхемы DS3231?

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

в связи частого брака в последние годы на 2812 не рекомендовал бы делать, лучше тогда делайте на более новой 2813

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

в связи частого брака в последние годы на 2812 не рекомендовал бы делать, лучше тогда делайте на более новой 2813

А в чем заключается брак? В процессе работы вылетают или не работают сразу?

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

в связи частого брака в последние годы на 2812 не рекомендовал бы делать, лучше тогда делайте на более новой 2813

А в чем заключается брак? В процессе работы вылетают или не работают сразу?

Восновном вылетают в процессе работы, при чем не заметил какой либо определённой последовательности, может вылететь на третий день после того как закончил поделку =) с их использованием, а могут и через год. но восновном довольно таки быстро после начала использования. по тому киты начали клепать 2813, видимо из за большого колличества жалоб от покупателей. я часы делал на 2811, первая лнта - первые часы уже года два может больше, работают ни каких косяков (причем режим работы переливаются радугой каждую минуту и горят новую минуту новым рандомным цветом). вторые часы - первая вторая цыфры часов из остатков первой ленты, втретья четвертая из новой, мало того что градация цветов немного отличается, на третьец цифре один сегмент (вылетел месяца через три) светит только красным цветом, при том что часы одноцветные зеленые. третьи часы из третьей ленты =) после изготовления и обкатки у меня дома около недели, были подарены другу, через неделю он позвонил и сказал что часы показывают но почти все сегменты горят разными цветами. вывод напрашивается сам собой деградация качества лент на протяжении где то 3х лет. и это только часы и только 2811. А 2812 покупал тоже очень много для разных целей, там история еще печальнее.



Что я использовал для настенных электронных часов с большими цифрами.

  • Arduino nano V3.0 (к сожалению, поскольку я не могу позволить себе оригинальный ардуино, я использовал китайский клон) — 150 рублей.
  • Цифровой модуль измерения интенсивности света Фоторезистор для Arduino — 60 рублей.
  • DS3231 AT24C32 IIC-модуль памяти для точного времени для Arduino — 60 рублей.
  • DC-DC преобразователь LM2596, Выходная мощность 1.23В-30В — 50 рублей.
  • 4 метра WS2811 светодиодной ленты 30 диодов / м — 700 рублей. (один WS2811 контролирует 3 светодиодных чипа)

Общая стоимость электроники: 900 рублей.

А также различные инструменты.

Шаг 2: Подготовка — шаблоны цифр



  1. Скачайте и установите шрифт для часов
  2. Откройте Word или другую программу, и создайте шаблон, как на первом фото.
  • Размер шрифта ~ 800,
  • Шрифт белого цвета с черным контуром,
  • Серые полосы там, где будут светодиодные ленты

Напечатайте шаблон и вырежьте полосы канцелярским ножом (как на втором фото)

Шаг 3: Подготовка — режем картон и светодиодную ленту


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

Если ваши светодиодные полосы поставляются с разъемами на каждом конце (как у меня), отсоедините разъем и разрежьте их по 3 штуки.

Шаг 4: Крепим светодиодную ленту



Используя шаблон, наклейте светодиодную ленту на картон.

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

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

Шаг 5: Паяем светодиодную ленту



Теперь начинается долгий процесс пайки.

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

Цвета, которые я выбрал:

  • Синий для земли
  • Зеленый для data
  • Красный для +12В

Шаг 6: Установка Ардуино на печатной плате



Я попытался сделать эскиз в Fritzing, но не смог найти все детали ?

Итак, на первом фото схема подключения проводов, а на втором то, как это выглядит у меня.

Шаг 7: Проверка LED



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

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

Шаг 8: Запрограммируйте часы

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

Код хорошо прокомментирован, поэтому с ним не должно возникнуть никаких проблем.

Чтобы изменить используемый цвет, вы должны изменить переменную в строке 22 (int ledColor = 0x0000FF; // Используемый цвет (в шестнадцатеричном формате)). Вы можете найти список цветов в нижней части этой страницы

Если ссылка не работает, вот зеркало.

Шаг 9: Делаем формы для цифр из полистирола





  1. Вырежьте все сегменты по шаблонам, сделанным вначале.
  2. Сформируйте каждую цифру в полистироле, используя скальпель (очень жесткий) или горячий резак.
  3. На фото можно увидеть, как это сделал я.
  4. Если у вас нет гитарной струны, подойдет практически любой тонкий стальной провод.
  5. Для питания горячего резака я использовал 12-вольтовый блок питания.
  6. Также есть фото с готовым вырезом (извините, что забыл снимать в процессе).

Шаг 8: Приклейте цифры и установите рассеиватель



Когда все 4 цифры и точки будут готовы, приклейте их на картон со светодиодной лентой (я использовал двусторонний скотч)

Чтобы рассеять свет светодиодов, я наложил 2 листа бумаги поверх полистирола. Для удобства и красоты я взял один лист формата А2 и сложил его пополам.

В самом конце я вставил светящиеся электронные настенные часы в большую картинную рамку.

Рассказываю как сделать какую-либо вещь с пошаговыми фото и видео инструкциями.

Часы с LED-индикаторами на Arduino

После создания множества прототипов Arduino на макетной плате, я решил сделать что-то полезное, то, что можно использовать дома. А что может быть полезнее, чем светящиеся часы, которые почему-то с 2010 года перестали выпускаться? Начал я сборку цифровых часов с поиска необходимых деталей. Одним из критериев, который помог быстрее насобирать необходимые компоненты, стала доступность деталей в местных магазинах и от производителей из Китая, Малайзии.

Часы с LED-индикаторами на Arduino

Arduino часы реального времени (RTC) на 7-сегментных индикаторах

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

Вторым вариантом была идея подключения 7-сегментных LED-индикаторов к GPS модулю. Поскольку GPS сигнал дает очень точное время, этот вариант должен был решить проблему, и не пришлось бы настраивать часы каждый раз при их включении. Я взял свой карманный навигатор Garmin GPS 60 C, подключил его в последовательный разъем к Arduino и загрузил несколько библиотек GPS, получив таким образом сигнал очень точного времени.

Проблема GPS метода оказалась в том, что, поскольку я живу центре города, то каменные джунгли непроглядными высотками окружают мой дом, и понадобилось бы поставить внешнюю GPS антенну снаружи окна, чтобы получить GPS сигнал с чистого неба. Без спутникового покрытия, никакое устройство GPS не в состоянии получить сигнал с синхронизацией по времени. Или часы должны быть на окне, либо надо было вынести GPS-антенну и проложить 7-метровый кабель до них.

Третий способ настройки часов оказался наилучшим. Заключается он в работе Arduino совместно с DS1307 часами реального времени (RTC). Питание на них идет от таблеточной 3-вольтовой батарейки, которая сохраняет настройки, когда устройство выключено и во время отсоединения микроконтроллера.

Необходимыми деталями являются:

  1. плата Arduino для макетирования и загрузки скетча в микроконтроллер;
  2. микроконтроллер ATmega328P для работы часов;
  3. четыре красных 7-сегментных LED-индикатора (или другие, более холодного цвета, которые найдете на местном рынке);
  4. часы реального времени DS1307;
  5. кварцевый резонатор на 32,768 кГц;
  6. держатель для батарейки таблеточного размера CR2025 или CR2032;
  7. четыре микросхемы 74HC595 сдвигающего регистра для управления 7-сегментными LED-индикаторами;
  8. резисторы 220 Ом по 0.25 Вт;
  9. однорядные штыревые разъёмы;
  10. гнезда для интегральных микросхем (IC);
  11. соединительные провода.

Если нет навыков в изготовлении печатных плат, то рекомендую использовать паечную макетную плату (текстолитовая пластинка с множеством отверстий для закрепления на ней пайкой компонентов, которую ошибочно называют монтажной платой) и припаять на неё все IC гнезда микросхем и штыревые разъёмы. Благодаря таким быстроразъемным контактам все 7-сегментные LED-индикаторы и интегральные микросхемы могут быть легко заменены при необходимости.

Поскольку размер макетной платы весьма ограничен, то удалось разместить на ней только 35-миллиметровые LED-индикаторы, ведь должно было ещё остаться место для держателя таблеточной батарейки. Хотелось бы поставить гораздо большие 7-сегментные индикаторы, но более крупным из них надо повышенное напряжение, свыше 5 В, и уже потребовалось таки усложнить схему двойными цепями питания. Иметь дело со стабилизатором на два выходных напряжения не хочется, лучше сосредоточиться на более простой версии цифровых часов.

Схема

Разделительные керамические конденсаторы 100 нФ на ножке питания Vcc каждого регистра 74HC595 добавлены, чтобы предотвратить любые проблемы с низкочастотными помехами.

Собираемые цифровые часы используют только 5 пинов Arduino:

  • 3 цифровых выхода для сдвигающих регистров 74HC595;
  • 2 аналоговых выхода для часов реального времени, подключенных с использованием соединения I2C.

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

Вот некоторые идеи доработки часов:

  1. Чередование отображения на индикаторах часов/минут и минут/секунд;
  2. Проигрывание мелодии каждый час;
  3. Установка датчика LM35, и использование часов в качестве термометра;
  4. Функция утреннего будильника;
  5. Даже управление другими электрическими приборами с помощью электромеханического реле, включающегося в соответствии с определёнными по времени событиями или показаниями подключенных датчиков.

Так как четыре индикатора довольно большие и яркие, их можно использовать также для отображения буквенной информации.

Загрузка скетча на цифровые часы

Загрузка скетча на цифровые часы

После того, как я припаял первую цифру 7 сегментного LED-индикатора с общим катодом к сдвигающему регистру 74HC595, открылась первая проблема. Я использовал только один резистор 220 Ом, соединенный с общим катодом LED-индикатора, чтобы сберечь резисторы, и обнаружил, что когда включается число 8, то все сегменты загораются очень тускло. Это нормально для прототипа, но не годится для действующих цифровых часов. Было бы очень неприятно иметь часы с по-разному светящимися цифрами. Так что пришлось разорвать отдельные провода и раздобыть побольше резисторов на 220 Ом, чтобы подключить их к каждому из семи сегментов LED-индикатора.

Подключение 7-сегментных индикаторов к регистрам 74HC595

Подключение 7-сегментных индикаторов к регистрам 74HC595

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

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

  • Есть кодыдля работы 7-сегментных индикаторов на сдвигающих регистрах 74595.
  • Окончательный скетчдля Arduino часов реального времени с 7-сегментными индикаторами на сдвигающих регистрах 74595

Вот несколько фотографий собранного, работающего устройства. Теперь мне всего лишь нужно что-то вроде акрила, чтобы закрепить макетную плату и скрыть часы Arduino в общем корпусе.

Arduino часы со светодиодным индикатором секунд голубого цвета

Arduino часы со светодиодным индикатором секунд голубого цвета

Arduino часы со снятыми 7-сегментными LED-индикаторами

Arduino часы со снятыми 7-сегментными LED-индикаторами

Вид сзади часов с выносной платой Arduino

Вид сзади часов с выносной платой Arduino

Эти часы запитаны от выносной платы Arduino в версии с FTDI кабелем и гнездом DC постоянного тока.

Arduino часы с датчиком DHT11

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

Понадобилось как-то сделать большие настенные часы с автоматической яркостью.

Такие часы отлично подойдут для больших помещений, например холл офиса или большая квартира.

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

Для оценки размера часов можно принять тот факт, что один сегмент часов будет размером с бумагу формата А4, что позволит легко использовать рамки для фотографий соответствующего размера.

Шаг 1. Составные части больших настенных часов.

Провода, припой, паяльник, лента светодиодная Arduino Nano DC-DC преобразователь LM2596
4 метра светодиодной ленты WS2811 датчик света часы реального времени DS3231
микропереключатели

Что я использовал для этого проекта :

Итого стоимость электроники : 17.78 доллара.

Шаг 2. Подготовка — шаблон цифр.

печатаем шаблон вырезаем сегменты

Шаг 3. Режем картон и светодиодные ленты.

обрезка лент

Истпользуя наш шаблон для цифр вырезаем картон по размерам (не забудьте оставить место для точек между часами и минутами).

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

Шаг 4. Прикрепляем ленты.

Переведенные контуры прикрепленные ленты

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

Шаг 5. Паяем светодиодные ленты.

Порядок пайки одной цифры общий вид запаянных лент

Теперь начнем долгую процедуру пайки.

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

Я использовал следующие цвета для проводов

  • Синий для земли
  • Зеленый для данных
  • Красный для Vcc (12v)

Шаг 6. Соединяем ардуино и модули на макетной плате.

Таблица соединений Общий вид на макетке

На таблице схема соединений проводов и модулей, на следующем фото общий вид на беспаечной макетной плате.

Шаг 7. Тестируем светодиодную ленту.

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

Если все настроено как надо светодиоды начнут циклически менять свой цвет. Если что то пошло не так проверьте правильность соединений.

Сам скетч можно скачать тут.

Шаг 8. Программируем часы.

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

Если у вас возникли проблемы при загрузке, используйте зеркало ://bit.ly/1Qjtgg0

Мой итоговый скетч можно скачать тут.

Шаг 9. Делаем цифры используя полистирол.

Основание резака Рабочий орган резака Общий вид резака
Результат работы резака

Разрежьте каждый сегмент в шаблоне, напечатаетанного в начале.
Полистирол можно разрезать острым ножом, что довольно трудно, либо нехитрым приспособлением из нихромовой проволоки или гитарной струны и нескольких отрезков ОСБ-плиты.

Вы можете видеть, как это сделал я в изображениях выше.

Для того, чтобы запитать резак я использовал 12v блок питания.

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

Шаг 10. Приклеиваем цифры и закрываем всё рассеивателем. Итоговые большие настенные часы.

Свечение днем Свечение ночью

После вырезания всех четырех цифр и точек настенных часов приклеиваем их всех на картон вместе со светодиодными лентами (для упрощения процесса я использовал двустороннюю клейкую ленту)

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

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

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

About Author:

OlegR

Дружище а можно по подробнее что куда подключать, я в электрике шарю но с Arduino не знаком вот только начинаю просвещаться. По модулям вроде понятно подключение по табличке, а вот куда ленту цеплять и от чего запитывать не понятно. Ответь плиз уж больно хочется такие часики замастырить. И почему именно такая лента? только из за ее интелектуальности? Почему не использовать обычную одноцветную раз RGB все равно не используется? Или можно ли прописать что бы часы не одним цветом горели, а например плавно меняли цвета?

Ленту цеплять на порт D6 ардуины, запитывать ее от 12 вольт, на ней три крнтакта — два на питание один на данные.
Лента такая именно из-за ее интелектуальности, верно. Обычную использовать — слишком все усложнится в плане подключения, так как придется кучу мелких отрезков ленты подключать к ардуино используя сдвиговые регистры. Прописать смену цветов плавную можно в принципе, препятствий не вижу. На шаге 7 говорится об этой возможности библиотеки FastLed

плавно меняли цвета? — : добавь в код :
после кода int ledColor = 0x0000FF; // Color used (in hex)
//Случайные цвета

Я сам собрал на WS2812B, все работает, плавно меняются цвет

Спасибо за оперативный ответ ещё жду все комплектующие =). Если будут еще вопросы надеюсь поможешь разобраться ))

Привет! Есть вопрос, как ты достиг такого ровного свечения? Полистирол перед лентой стоит что ли? Или бумаги достаточно?

Привет! Плотной бумаги (как ватман) было достаточно.

День добрый!
Хорошая реализация, давно хотел такие сделать.
Есть пара вопросов:
Можно подробнее описать схему подключения,, хотя бы рисунком от руки.
И не совсем понял, как наклеивали полистирол на основание и как крепился сверху рассеиватель, на фото, где девайс включен не видно никаких швов, хотя если клеили полистирол так как мне представляется, то они должны быть, можете подробнее описать процесс сборки? Буду признателен за ответы, уже начал закупать запчасти на Али))

Привет! Спасибо, мне самому понравилась. Схема подключения есть в табличке. Рассеиватель — это большой кусок бумаги чертежной, поэтому не видно швов (кусок бумаги один). Рассеиватель крепился просто под рамку.

Еще на понятно какой цели служит DC-DC преобразователь LM2596 , он понижает или повышает напряжение? входное напряжение какое у вас? я так понял, что от блока питания ноутбучного питается девайс?

А на точках тоже кусок из трех светодиодов? я так понимаю просто центральный заклеен изолентой или нет?

На сколько ампер блок питания 12в, как я понял WS2811 30 светодиодов на метр 7,2-9 ватт, исходя из этого полагаю хватит 3-4 амперного блока.

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

exit status 1
no matching function for call to ‘CFastLED::addLeds(CRGB [29], int)’

Блин давай все на пальцах, а то уже башка ща лопнет от ваших ардуин. Делись софтом, библиотекаим и всем остальным,а то ни хера не понятно. Ну реально на шьется ни хера уже миллион библиатек перекачал, толку ноль. Обидно ппц,столько времени убил на это табло, а ща че все бросать?

То-ли библиотеки ныньче имеют другие названия, то-ли из-за того что ардуина на CH340, то-ли софт с новой версией не катит. Ни че не понятно. Надо было архив выложить с софтом, библиотеками и скетчем (Для таких далеких как я), а не один скетч =)

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

Наконец ты дружище появился =) Вроде более менее раскурил тему, удалось скомпилить и зашить все в Arduino. Я так понимаю в программировании ты мне поможешь (ибо сам курил буржуйские форумы =)) Часы я завел, но есть вот такие проблемы: не хочет работать датчик освещенности (Если крутнуть на нем потинцометр то светят или ярко или тускло как для ночного режима, но автоматом не реагирует) датчик мне пришел такой же но вот фотодиод не такой как у тебя на фото, а как обычный диод. Плюс если отключить питание, а потом вновь подать, минуты продолжают идти как и положено, а вот часы на час сдвигаются. И самое интересное для чего третья кнопка? Одна часы, вторая минуты, а что такое третье (DST)?

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

Мучился я с кодом, а как оказалось проблема в железе. У тебя как чувствительность датчика света, норм работает? (например в пасмурную погоду адекватно распознает день-ночь). Как я уже писал датчик мне пришел такой же, но вот сам фотодиод не такой как на фото, а как обычный диод. И чувствительность у него никакая (даже если выкрутить её на максимум). Тестил на работе: в пасмурную погоду при лампах дневного света для датчика ночь =) и лишь при наведении фотодиода на окно наступает день (чуть влево от окна, чуть вправо, опять ночь). Что за спектр у него такой, что люминистентки для него не источник света =) Почитал оба наших датчика одинаковые на LM393, но на твоем фото датчик фоторезистор, а мне пришел с фотодиодом. Вот такое печенье. Допилю скетч до финала выложу ссылку может кому пригодиться =)

Да, Dj-Toxa, если ты еше выложишь нормальную читабельную схему подключения модулей, цены тебе не будет.

А в чем проблема? По табличке автора вроде все понятно.

Да, вроде разобрался уже.
А можете кто-нибудь ссылку дать на нормальную ленту светодиодную. А то у Китайцев фиг поймешь написано ws2811, а выглядит как 2812….

А почему на ws2812 не сделать, просто чутка скетч придется переделать. Да и найти ws2811 не проблема. Дал бы тебе ссылку на своего продована, но он за пересылку начал брать бабосы, не выгодно. Заказал кстати себе ws2812 может позже на ней буду еще одни часы делать, мои уже купить хотят =)

Вот такой вопрос еще вкрался в сознание. Допустим я собираю на WS2812b, допустим я хочу чтобы в разные интервалы времени разные сегменты каждой из 4х цифр подсвечивались разными цветами(проще говоря хочу по отдельной кнопке на часах менять эффекты) — подойдет ли для таких хитрых целей Arduino Uno, или нужно брать на другом чипе, где памяти побольше? Где-то на просторах рунета наткнулся, что память у Ародуины не бесконечная(как-то я раньше даже не задумывался))))
Хватит ли UNO чтобы загрузить скетч автора и пару библиотек с эффектами(либо вручную понаписать своих эффектов)?

Также я полагаю что можно к данному проекту прикрутить RF модуль и управлять часиками с ПДУ, что тоже видимо скажется на выборе другого Ардуины….

ну не знаю. мой финальный скетч, немного больше чем скетч автора и при этом занимает лишь 38% памяти arduino nano. поэтому думаю что прикрутить еще несколько режимов или функций (будь то свечение другим цветом, показ температуры, влажности да чего угодно) к обычной nano можно вполне не парясь.

допустим я хочу чтобы в разные интервалы времени разные сегменты каждой из 4х цифр подсвечивались разными цветами(проще говоря хочу по отдельной кнопке на часах менять эффекты) Хихи не проще ли тебе просто гирлянду сделать на ленте и управлять ей ардуинкой? =) У тебя задумки от часов уже в сторону светомузыки уходят =))) Автор проекта не предусматривал дискотечный вариант часов, все по формуле 3? (строго, сдержанно, стильно) =)

В таком случае вопрос — бывают ли одноцветные ws2812?

ws нет, она по определению RGB, а если нужна одноцветная бери любую на 5050 диодах, у меня две таких по 5 метров на кухне висят, лупарят (вырви глаз, да еще и отражаются от пластика на потолке) ярче основного света из шести сафитов =)

хотя учитывая что ws ты в любом случае будешь чем то управлять , что тебе мешает использовать один цвет, а не все RGB =) тут по моему разница лишь в бюджете, лента одноцветных 5050 всяко встанет дешевле любой ws

Ура поздравьте меня, проект завершен =) Позже постараюсь выложить результат о проделанной работе =)

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

И вот теперь, друзья, вопросы.

И еще. У меня есть температурный датчик DHT-11. Хотелось бы привязать его к часам. Чтобы они с периодичностью две-три минуты показывали температуру.

Буду очень признателен за советы и подсказки!

Тоже хочу собрать данные часы все заказал на алиекспресе теперь жду со скетчем пришлось повозится но скомпилировался ,Dj-Toxa не мог бы выложить свой скетч и еще бы как бы прикрутить датчик температуры вообще бы супер было.

Привет давно не заглядывал, скетчем поделюсь без проблем. вот обзорчик на одноклассниках по моим часикам, а вот скетч на яндекс диске //yadi.sk/d/vCMd8sGDtwd2o

делал еще пару светодиодных часов, правда уже на ws2812 одни на эти похожие, но в миниатюре. другие круглые типо стрелочных =) тоже есть на одноклассниках

Приветствую, а для часов на ws2812b скетчем не поделитесь?

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

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

все собрал,но что-то не работает. светодиоды все сразу мерцают. Может кто подскажет,что может быть не так?

чем сможем тем поможем обращайтесь.

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

скетч для ленты ws2811 не подойдет для ws2812 (т.к. 1LED у 11й это три отдельных диода управляемые одной микросхемой-то есть как раз один сегмент часов, а у 12й это один rgb диод с микросхемой в одном корпусе). под нее нужно компилить скетч по новой, что весьма геморно исходя из того что самих диодов у вас в разы больше. на моих часах их 29, а у вас ну к примеру если по три диода на сегмент то 87. есть англоязычная версия этой же статьи, на ней ниже в обсуждениях буржуи выкладывали свои версии скетчей и фото часов в том числе и на ws2812. попробуйте поискать и уже скетч для ws2812 переделывайте под себя. вот вам несколько примеров на под вашу ленту //yadi.sk/d/BpuBm1XY33T8Uj большое значение имеет сколько у вас диодов в одном сегменте. в примерах два варианта по три диода на сегмент и два варианта по 5 диодов на сегмент.

хоть 2812 вроде и повеселее чем 11е но мне не внушает доверия их надежность и долговечность. уже делал несколько проектов на 12й ленте и общение с этой лентой меня скажем так напрягло. довольно часто вылетают одиночные диоды, из за чего вся цепочка начинает хаотично мигать разными цветами. может конкретно мне попалась такая глючная партия лент. незнаю. и она очень не любит статику (hu)

Собрал,все работает,но, почему-то на первой цифре светится поперечина постоянно синим цветом, пробовал оба скетча, ничего не меняется

Проверяйте соединения ленты

Dj-Toxa
Вы можете выложить свои библиотеки, а то у меня ошибка при компиляции:
‘tmElements_t’ was not declared in this scope
Подозреваю что проблема в библиотеке.
Спасибо.

а где схема подключения не могу найти…

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

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

А не ргб лента подойдет?)

Спасибо за урок!
Но вопрос не по этому изобретению, но по часам. В скетче для установки времени через меню кнопкам использовалась функция time.blinktime. Ни как не могу заставить работать time.blinktime(2);. Ну не мигает устанавливаемый параметр. Может подскажите?
Ниже приведён урезанный скетч (для мигания минутами). Но не мигают они.

void setup() time.begin(); // инициируем RTC модуль
lcd.init(); // инициируем LCD дисплей
lcd.backlight(); // включаем подсветку LCD дисплея
time.blinktime(2); // Заставляем функцию gettime мигать минутами с частотой по умолчанию

delay(1); // приостанавливаем на 1 мс, чтоб не выводить время несколько раз за 1мс
>

Уваж. Dj-Toxa! Неправильно указан адресс. Комп ругается не хорошими словами.

привет, всем! подскажите кто знает.
собрал всё правильно, залил скетч, но светодиоды мерцают в хаотическом прядке.
пробовал несколько плат ардуино, отдельно проверил часы, всё рабочее.
зы. в программировании я полный ноль, если кто-то может мне разжевать, буду признателен! ?

Читайте также: