Arduino ring 60 rgb leds ws2812 clock

Светодиодные часы на Arduino и светодиодах WS2812b

Ка вы помните я уже делал часы на адресных светодиодах и Arduino. Если вы не в курсе смотрите мой проект: Классные самодельные настенные светодиодные часы на arduino.

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

Пример 1. Часы на Arduino, модуле реального времени RTC 1307 и светодиодной ленте WS2812b.

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


Вот такие симпатичные часы получаются и за небольшие деньги. Хоть вешай их себе в гостиную. Но для этого нужно подготовить стенку, чтобы часы гармонично вписывались. Интересно обои под покраску, цена данного удовольствия какая?
Код проекта.

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

Пример 2. Часы на Arduino, модуле реального времени RTC 1307 и кольце светодиодов WS2812b.

В данном примере автор купил готовое кольцо из 60 светодиодов WS2812b. Циферблат нарисовал самостоятельно, разместив его в центре кольца.


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

Что понравилось мне в данном пример, это то, что код всего лишь 70 строчек.

Этот пример можно пробовать реализовать в Digispark, в связи с тем что там очень мало памяти под программу.

Появились вопросы. Не стесняйся задавай из в комментарии.

Источник

jackw01/led-ring-clock

Use Git or checkout with SVN using the web URL.

Work fast with our official CLI. Learn more.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

An Arduino-based analog clock using an WS2812B addressable RGB LED ring as a display.

This sketch requires the FastLED library, the Wire library (built-in), the EEPROM library (built-in), and the Adafruit RTClib.

The LED ring is connected to digital pin 3. Momentary N/O button is connected to digital pin 4 with 10K pullup resistor. 10K potentiometer is connected across power and ground and the wiper is connected to Analog 0. DS1307 RTC breakout is connected to the board’s default I2C pins. This code has only been tested with an Adafruit 24 Neopixel Ring, but should (hopefully) work with any type or size of WS2812B ring, and with minimal changes it should work with rings using other types of RGB LEDs. The code should work on any ATmega328 based board.

Источник

Большие часы на адресных светодиодах WS2812B

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

Как-то раз на просторах зарубежного интернета я нашел вот такой проект часов на базе светодиодной ленты WS2812B: Big, Auto Dim, Room Clock, и мне захотелось его повторить. Часы устроены как семи сегментный циферблат и работают на RTC модуле DS3231 . Часы умеют показывать температуру, имеют кнопки для настройки и перевода на зимнее время и обратно, позже я добавил датчик влажности DHT11. Температура уже вместе с влажностью считывалась с этого датчика и выводилась раз в минуту. Хоть и в модуле часов есть температурный датчик, но похоже он показывал температуру не корректно из-за самонагрева (ИМХО).



Когда все было собрано, повозившись с библиотеками, все заработало. И тут возникло одно большое НО: положения яркости в только в двух позициях меня не устраивало. Тем более на границе значений происходило мерцание. Установка яркости на статичном значении меня тоже не очень устраивала ибо днем при установленном тусклом свете ничего не было видно, а ночью даже со значениями близким к минимуму можно было осветить всю Москву. Поинтересовавшись как в других проектах с этим справляется Alex было решено заменить такой код настройки яркости.

Тут стоит упомянуть что программистом я не являюсь и большинство проблем я пытаюсь решить методом тыка и перебора.

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

Что касается кода вот сылка на GitHub. Кое-что я перевел для лучшего понимания.

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

Комментарии

Somikv

Somikv

Somikv

Somikv

В программировании не то что «0» а скорее даже минус.
Может быть кто-то знающий поправит скетч на кнопки управления (убрать их вообще)

#include
#include
#include
#include
#include

#define NUM_LEDS 114 // 4*7*4 +2 Number of LED controlled
#define COLOR_ORDER GRB // Define color order for your strip
#define LED_PIN 6 // Data pin for led comunication
#define DST_PIN 5 // Define DST adjust button pin
#define MIN_PIN 4 // Define Minutes adjust button pin
#define HUR_PIN 3 // Define Hours adjust button pin

bool Dot = true; //Dot state
bool DST = false; //DST state
bool TempShow = true;
int last_digit = 0;

// int ledColor = 0x0000FF; // Color used (in hex)
long ledColor = CRGB: arkOrchid; // Color used (in hex)
//long ledColor = CRGB::MediumVioletRed;
//Random colors i picked up
long ColorTable[16] = <
CRGB::Amethyst,
CRGB::Aqua,
CRGB::Blue,
CRGB::Chartreuse,
CRGB: arkGreen,
CRGB: arkMagenta,
CRGB: arkOrange,
CRGB: eepPink,
CRGB::Fuchsia,
CRGB::Gold,
CRGB::GreenYellow,
CRGB::LightCoral,
CRGB::Tomato,
CRGB::Salmon,
CRGB::Red,
CRGB::Orchid
>;

void setup() <
Serial.begin(9600);
Wire.begin();
FastLED.addLeds (leds, NUM_LEDS);
LEDS.setBrightness(75); // Set initial brightness
pinMode(DST_PIN, INPUT_PULLUP); // Define DST adjust button pin
pinMode(MIN_PIN, INPUT_PULLUP); // Define Minutes adjust button pin
pinMode(HUR_PIN, INPUT_PULLUP); // Define Hours adjust button pin

// Get time in a single number, if hours will be a single digit then time will be displayed 155 instead of 0155
int GetTime() <
tmElements_t Now;
RTC.read(Now);
//time_t Now = RTC.Now();// Getting the current Time and storing it into a DateTime object
int hour=Now.Hour;
int minute=Now.Minute;
int second =Now.Second;
if (second % 2==0)
else ;
return (hour*100+minute);
>;

// Convert time to array needet for display
void TimeToArray() <
int Now = GetTime(); // Get time

Источник

NeoPixel: How to Control WS2812 RGB LED w/ Arduino © GPL3+

NeoPixel LEDs are widely used these days. In this tutorial, you’ll learn about NeoPixel LEDs and how to control them with Arduino.

NeoPixel LEDs are widely used these days in electronic projects, due to their attractive visual effects. These LEDs are available in various sizes and shapes and in the strip form. In this tutorial, you’ll learn about NeoPixel LEDs and how to control them with Arduino.

What You Will Learn

  • What NeoPixel is
  • Why NeoPixel
  • interfacing the NeoPixel with Arduino

What Is NeoPixel?

After 1962, when the first LED was made and tested, this valuable piece became an inseparable part of our lives. In most electronic projects, you can find at least one single LED. Using the LEDs in different colors was so attractive that it caused the production of multi–color LEDs or RGB LEDs.

The RGB LED creates all the colors based on the three colors of red, green, and blue. for example, a red and blue combination produces a magenta color. In this model, each color has a value between 0 and 255 for each red, green and blue colors. For instance, these values ​​are 255 0 255 (maximum red, maximum blue, and minimum green value) for Magenta. This numeric value is expressed by the Hex code (2550255 = # FF00FF). RGB LEDs make a variety of colors based on this model.

To control each RGB LED, you need three digital pins of a microcontroller (or the development boards like Arduino). For example, if you want to control an RGB LED string containing 60 LEDs, in order to control the color of each LED separately, you need 180 digital pins! So you have to forget controlling each LED individually or use LEDs that are addressable.

Addressable LEDs are a new generation of LEDs including a controller IC, in addition to RGB LEDs. This controller IC, usually WS2812, allows you to access multiple LEDs with a single digital pin by assigning an address to each LED and providing one wire communication. But unlike simple LEDs, these types of LEDs do not turn on only by applying voltage, they also require a microcontroller. NeoPixel is the Adafruit brand for addressable LEDs.

The ability to control each LED in an LED strip will create great visual effects in your projects. But it should be noted that in the very fast processes like POVs, the use of NeoPixels is not recommended. The other important advantage of the NeoPixels is their lower price compared to other addressable LEDs. NeoPixels are also available in the ring, strip, square and circular models and you can select the suitable model according to your project.

Neopoxes are also chainable, so you can control multiple NeoPixels with only one command line and one power line.

Increasing the number of NeoPixel LEDs will require more RAM, more power and more processing time, so choose the most optimal NeoPixel according to your microcontroller type.

Источник

Vitamin92/Arduino_clock_project

Use Git or checkout with SVN using the web URL.

Work fast with our official CLI. Learn more.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

Arduino clock on WS2812B led strip and DS3231 RTC Module

Things used for this project :

  • Arduino nano V3.0
  • DS3231 RTC module
  • DHT11 Sensor
  • WS2812B led strip 60 leds/m 2m
  • Pushbutton switches 3 PCS
  • 10k Ohm resistor
  • Power Supply 5V 2A
  • Light dependent resistor
  • Cable wires

About

Arduino clock on WS2812B led strip and DS3231 RTC Module

Resources

Stars

Watchers

Forks

Releases

Packages 0

Contributors 2

Languages

© 2022 GitHub, Inc.

You can’t perform that action at this time.

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.

Источник

Adblock
detector