Оглавление:

Окружающие часы реального времени: 4 шага
Окружающие часы реального времени: 4 шага

Видео: Окружающие часы реального времени: 4 шага

Видео: Окружающие часы реального времени: 4 шага
Видео: Фильм Четыре ключа к твоим победам. Для тех кто хочет побеждать 2024, Июль
Anonim
Окружающие часы реального времени
Окружающие часы реального времени

Цель

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

Шаг 1. Видео на YouTube

Image
Image

Посмотрите это видео на YouTube, чтобы получить полные инструкции

Шаг 2: Процедура

Сначала я взял фанерную доску размером 24 x 15 дюймов.

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

и наклеил все это за доску. Я также заказал индивидуальную печатную плату для той же самой на https://jlcpcb.com, они предоставляют лучшие прототипы печатных плат по самой низкой цене из Китая и доставляют их по всему миру быстро и безопасно. После пайки всех компонентов на мою плату я снял макетную плату и закрепил все за платой и покрыл переднюю часть тонкой полупрозрачной бумагой для трассировки. Часы выглядят потрясающе и увеличивают красоту стены. индивидуальные цвета делают его идеальным для любой стены.

Если вам нравится этот проект, пожалуйста, подпишитесь на YouTube или посетите наш сайт https://robocircuits.com Спасибо за чтение!

Шаг 3: Код

/ * Код разработан RoboCircuits

* Посетите наш веб-сайт https://robocircuits.com для получения помощи по этому коду * Этот код использует библиотеку DS3231.h, загрузите ее с https://robocircuits.com * Полное руководство Посмотрите видео на нашем канале YouTube https:// youtube. com / robocircuits * /

#include #include

int i = 0, j = 0, k = 150;

// Инициируйте DS3231 с помощью аппаратного интерфейса DS3231 rtc (SDA, SCL);

#ifdef _AVR_ #include #endif

// Какой вывод на Arduino подключен к NeoPixels? // На Брелке или Джемме мы предлагаем изменить это значение на 1 #define PIN 6

// Сколько NeoPixels подключено к Arduino? #define NUMPIXELS 45

// Когда мы настраиваем библиотеку NeoPixel, мы сообщаем ей, сколько пикселей и какой вывод использовать для отправки сигналов. // Обратите внимание, что для более старых полос NeoPixel вам может потребоваться изменить третий параметр - см. Пример // strandtest для получения дополнительной информации о возможных значениях. Adafruit_NeoPixel пикселей = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

int delayval = 500; // задержка на полсекунды

void setup () {// Это для Trinket 5V 16MHz, вы можете удалить эти три строки, если вы не используете Trinket #if defined (_AVR_ATtiny85_) if (F_CPU == 16000000) clock_prescale_set (clock_div_1); #endif // Конец специального кода брелка

pixel.begin (); // Это инициализирует библиотеку NeoPixel. // Настраиваем последовательное соединение Serial.begin (115200); // Инициализируем объект rtc rtc.begin (); // Следующие строки можно раскомментировать, чтобы установить дату и время //rtc.setDOW(WEDNESDAY); // Установить день недели на ВОСКРЕСЕНЬЕ //rtc.setTime(12, 0, 0); // Устанавливаем время на 12:00:00 (24-часовой формат) //rtc.setDate(1, 1, 2014); // Устанавливаем дату на 1 января 2014 г.}

void loop () {если (digitalRead (2) == HIGH) {int a = analogRead (A0); int b = analogRead (A1); int c = analogRead (A2); i = карта (a, 0, 1025, 0, 150); // Зеленый цвет j = map (b, 0, 1025, 0, 150); // Синий цвет k = map (c, 0, 1025, 0, 150); // Красный цвет} else {i = 0; j = 0; k = 150; }

// Код для подсветки для (int x = 29; x <= 45; x ++) {pixels.setPixelColor (x, pixels. Color (i, j, k)); pixel.show (); }

// Получение реального времени из rtc String x = rtc.getTimeStr (); // Отправляем время Serial.println (rtc.getTimeStr ()); int час1 = x.charAt (0); int час2 = x.charAt (1); интервал min1 = x.charAt (3); интервал min2 = x.charAt (4); час1 = час1-48; час2 = час2-48; мин1 = мин1-48; мин2 = мин2-48;

// Отображение времени на переключателе часов (hour1) {// case 0: zero (0); //перерыв; случай 1: один (0); перерыв; случай 2: два (0); перерыв; по умолчанию: nulll (0); перерыв; } переключатель (час2) {случай 0: ноль (7); перерыв; случай 1: один (7); перерыв; корпус 2: два (7); перерыв; дело 3: три (7); перерыв; дело 4: четыре (7); перерыв; дело 5: пять (7); перерыв; дело 6: шесть (7); перерыв; дело 7: семь (7); перерыв; дело 8: восемь (7); перерыв; дело 9: девять (7); перерыв; по умолчанию: nulll (7); перерыв; } переключатель (мин1) {случай 0: ноль (15); перерыв; случай 1: один (15); перерыв; корпус 2: два (15); перерыв; дело 3: три (15); перерыв; дело 4: четыре (15); перерыв; дело 5: пять (15); перерыв; по умолчанию: nulll (15); перерыв; } переключатель (мин2) {случай 0: ноль (22); перерыв; случай 1: один (22); перерыв; корпус 2: два (22); перерыв; дело 3: три (22); перерыв; дело 4: четыре (22); перерыв; дело 5: пять (22); перерыв; дело 6: шесть (22); перерыв; дело 7: семь (22); перерыв; дело 8: восемь (22); перерыв; дело 9: девять (22); перерыв; по умолчанию: nulll (22); перерыв; } pixel.setPixelColor (14, pixels. Color (i, j, k)); pixel.show (); задержка (250); pixel.setPixelColor (14, пикселей. Color (0, 0, 0)); pixel.show (); задержка (250); }

пустой ноль (int a) {пикселей.setPixelColor (+ 0, пикселей. Color (я, j, k)); pixel.show (); пикселей.setPixelColor (a + 1, пикселей. Color (i, j, k)); pixel.show (); пикселей.setPixelColor (a + 2, пикселей. Color (i, j, k)); pixel.show (); пикселей.setPixelColor (a + 3, пикселей. Color (0, 0, 0)); pixel.show (); пикселей.setPixelColor (a + 4, пикселей. Color (i, j, k)); pixel.show (); пикселей.setPixelColor (a + 5, пикселей. Color (i, j, k)); pixel.show (); пикселей.setPixelColor (a + 6, пикселей. Color (i, j, k)); pixel.show (); } пусто один (int a) {пикселей.setPixelColor (+ 0, пикселей. Color (0, 0, 0)); pixel.show (); пикселей.setPixelColor (a + 1, пикселей. Color (0, 0, 0)); pixel.show (); пикселей.setPixelColor (a + 2, пикселей. Color (i, j, k)); pixel.show (); пикселей.setPixelColor (a + 3, пикселей. Color (0, 0, 0)); pixel.show (); пикселей.setPixelColor (a + 4, пикселей. Color (0, 0, 0)); pixel.show (); пикселей.setPixelColor (a + 5, пикселей. Color (0, 0, 0)); pixel.show (); пикселей.setPixelColor (a + 6, пикселей. Color (i, j, k)); pixel.show (); } недействительным два (int a) {пикселей.setPixelColor (+ 0, пикселей. Color (0, 0, 0)); pixel.show (); пикселей.setPixelColor (a + 1, пикселей. Color (i, j, k)); pixel.show (); пикселей.setPixelColor (a + 2, пикселей. Color (i, j, k)); pixel.show (); пикселей.setPixelColor (a + 3, пикселей. Color (i, j, k)); pixel.show (); пикселей.setPixelColor (a + 4, пикселей. Color (i, j, k)); pixel.show (); пикселей.setPixelColor (a + 5, пикселей. Color (i, j, k)); pixel.show (); пикселей.setPixelColor (a + 6, пикселей. Color (0, 0, 0)); pixel.show (); } void three (int a) {пикселей.setPixelColor (+ 0, пикселей. Color (0, 0, 0)); pixel.show (); пикселей.setPixelColor (a + 1, пикселей. Color (i, j, k)); pixel.show (); пикселей.setPixelColor (a + 2, пикселей. Color (i, j, k)); pixel.show (); пикселей.setPixelColor (a + 3, пикселей. Color (i, j, k)); pixel.show (); пикселей.setPixelColor (a + 4, пикселей. Color (0, 0, 0)); pixel.show (); пикселей.setPixelColor (a + 5, пикселей. Color (i, j, k)); pixel.show (); пикселей.setPixelColor (a + 6, пикселей. Color (i, j, k)); pixel.show (); } void four (int a) {pixels.setPixelColor (a + 0, pixels. Color (i, j, k)); pixel.show (); пикселей.setPixelColor (a + 1, пикселей. Color (0, 0, 0)); pixel.show (); пикселей.setPixelColor (a + 2, пикселей. Color (i, j, k)); pixel.show (); пикселей.setPixelColor (a + 3, пикселей. Color (i, j, k)); pixel.show (); пикселей.setPixelColor (a + 4, пикселей. Color (0, 0, 0)); pixel.show (); пикселей.setPixelColor (a + 5, пикселей. Color (0, 0, 0)); pixel.show (); пикселей.setPixelColor (a + 6, пикселей. Color (i, j, k)); pixel.show (); } void five (int a) {pixels.setPixelColor (a + 0, pixels. Color (i, j, k)); pixel.show (); пикселей.setPixelColor (a + 1, пикселей. Color (i, j, k)); pixel.show (); пикселей.setPixelColor (a + 2, пикселей. Color (0, 0, 0)); pixel.show (); пикселей.setPixelColor (a + 3, пикселей. Color (i, j, k)); pixel.show (); пикселей.setPixelColor (a + 4, пикселей. Color (0, 0, 0)); pixel.show (); пикселей.setPixelColor (a + 5, пикселей. Color (i, j, k)); pixel.show (); пикселей.setPixelColor (a + 6, пикселей. Color (i, j, k)); pixel.show (); } void six (int a) {pixels.setPixelColor (a + 0, pixels. Color (i, j, k)); pixel.show (); пикселей.setPixelColor (a + 1, пикселей. Color (i, j, k)); pixel.show (); пикселей.setPixelColor (a + 2, пикселей. Color (0, 0, 0)); pixel.show (); пикселей.setPixelColor (a + 3, пикселей. Color (i, j, k)); pixel.show (); пикселей.setPixelColor (a + 4, пикселей. Color (i, j, k)); pixel.show (); пикселей.setPixelColor (a + 5, пикселей. Color (i, j, k)); pixel.show (); пикселей.setPixelColor (a + 6, пикселей. Color (i, j, k)); pixel.show (); } void seven (int a) {пикселей.setPixelColor (+ 0, пикселей. Color (0, 0, 0)); pixel.show (); пикселей.setPixelColor (a + 1, пикселей. Color (i, j, k)); pixel.show (); пикселей.setPixelColor (a + 2, пикселей. Color (i, j, k)); pixel.show (); пикселей.setPixelColor (a + 3, пикселей. Color (0, 0, 0)); pixel.show (); пикселей.setPixelColor (a + 4, пикселей. Color (0, 0, 0)); pixel.show (); пикселей.setPixelColor (a + 5, пикселей. Color (0, 0, 0)); pixel.show (); пикселей.setPixelColor (a + 6, пикселей. Color (i, j, k)); pixel.show (); } пусто восемь (int a) {пикселей.setPixelColor (+ 0, пикселей. Color (i, j, k)); pixel.show (); пикселей.setPixelColor (a + 1, пикселей. Color (i, j, k)); pixel.show (); пикселей.setPixelColor (a + 2, пикселей. Color (i, j, k)); pixel.show (); пикселей.setPixelColor (a + 3, пикселей. Color (i, j, k)); pixel.show (); пикселей.setPixelColor (a + 4, пикселей. Color (i, j, k)); pixel.show (); пикселей.setPixelColor (a + 5, пикселей. Color (i, j, k)); pixel.show (); пикселей.setPixelColor (a + 6, пикселей. Color (i, j, k)); pixel.show (); } пустота девять (int a) {пикселей.setPixelColor (+ 0, пикселей. Color (i, j, k)); pixel.show (); пикселей.setPixelColor (a + 1, пикселей. Color (i, j, k)); pixel.show (); пикселей.setPixelColor (a + 2, пикселей. Color (i, j, k)); pixel.show (); пикселей.setPixelColor (a + 3, пикселей. Color (i, j, k)); pixel.show (); пикселей.setPixelColor (a + 4, пикселей. Color (0, 0, 0)); pixel.show (); пикселей.setPixelColor (a + 5, пикселей. Color (i, j, k)); pixel.show (); пикселей.setPixelColor (a + 6, пикселей. Color (i, j, k)); pixel.show (); } void nulll (int a) {пикселей.setPixelColor (+ 0, пикселей. Color (0, 0, 0)); pixel.show (); пикселей.setPixelColor (a + 1, пикселей. Color (0, 0, 0)); pixel.show (); пикселей.setPixelColor (a + 2, пикселей. Color (0, 0, 0)); pixel.show (); пикселей.setPixelColor (a + 3, пикселей. Color (0, 0, 0)); pixel.show (); пикселей.setPixelColor (a + 4, пикселей. Color (0, 0, 0)); pixel.show (); пикселей.setPixelColor (a + 5, пикселей. Color (0, 0, 0)); pixel.show (); пикселей.setPixelColor (a + 6, пикселей. Color (0, 0, 0)); pixel.show (); }

Шаг 4: Спасибо

посетите

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