Оглавление:

ВЕСНА ВПЕРЕД НЕТ БОЛЬШЕ: 5 шагов
ВЕСНА ВПЕРЕД НЕТ БОЛЬШЕ: 5 шагов

Видео: ВЕСНА ВПЕРЕД НЕТ БОЛЬШЕ: 5 шагов

Видео: ВЕСНА ВПЕРЕД НЕТ БОЛЬШЕ: 5 шагов
Видео: Перфе - 100 шагов назад (хит Тик-Ток 2020) 2024, Ноябрь
Anonim
ВЕСНА ВПЕРЕД НЕТ БОЛЬШЕ
ВЕСНА ВПЕРЕД НЕТ БОЛЬШЕ
ВЕСНА ВПЕРЕД НЕТ БОЛЬШЕ
ВЕСНА ВПЕРЕД НЕТ БОЛЬШЕ

Альтернативное название: IP Time Clock, часть 3

Если вам это нравится, я участвую в конкурсе "Часы".

Вы устали от Spring Forward?

Вы устали отступать?

Ну я. У меня есть старый будильник, который исправил это (на некоторое время) (см. Рисунок). Он автоматически настраивался на летнее время и (я думаю) у него есть резервная батарея на случай, если вы потеряете питание. К сожалению, несколько лет назад США решили изменить дни для изменения времени. Так что теперь эти часы нужно менять вручную четыре раза в год! Я использую это только как резервную копию.

Итак, этот ленивый старый компьютерщик (LOG) хотел получить идеальные часы. Все люди разные, времена меняются (Ха! Ха!), Меняются идеалы. Вот мои идеальные часы для спальни.

Всегда видно ночью. CAVEAT: Ночью секунды не мигают, это слишком отвлекает.

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

Отображает день недели. Поскольку я СТАРЫЙ и не могу вспомнить.

Так что мне нравятся секунды в первой половине дня. В рекламе написано полоскать горло в течение 30 секунд, поэтому мне нравятся часы, отображающие секунды.

Нет синего света. Все мы знаем, что синий свет вреден для вас. Не всегда верно, см. Это:

www.instructables.com/id/Blue-Light-Proje…

Хорошо, это довольно просто. Многие часы видны ночью, а многие не синие. Некоторые из них являются «атомными» часами, которые настраиваются на летнее время. На самом деле с некоторыми из моих «атомных» часов мне приходится возиться с переключением на летнее время.

Теперь ситуация с секундами более конкретна. На самом деле я разработал свой собственный, чтобы сделать это в этом руководстве (хотя я заметил, что не очень хорошо объяснил это):

www.instructables.com/id/IP-Time-Clock-Par…

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

Шаг 1. Исправление, первый шаг

Ремонт, первый шаг
Ремонт, первый шаг
Ремонт, первый шаг
Ремонт, первый шаг
Ремонт, первый шаг
Ремонт, первый шаг

Синий экран смерти, IP Clock (на самом деле он черный).

Техно-болтовня:

Краткое описание IP Clock. Он использует микроконтроллер ESP-03, который подключается к Интернету через Wi-Fi. Я припаял две 2-миллиметровые штыревые полоски на ESP-03, чтобы он мог подключаться к разъему на печатной плате.

Он использует два семисегментных 3-значных дисплея, например:

Я не помню, был ли это обычный катод или анод.

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

Для получения дополнительной информации, пожалуйста, посмотрите мои инструкции по IP Clock, часть 2.

Ну, первое, что я попробовал, это перепрограммировать ESP-03 (микроконтроллер), поэтому я посмотрел на свой Instructable и попробовал, но он не позволил мне его запрограммировать.

НЕСООТВЕТСТВУЮЩАЯ ИСТОРИЯ: Хорошо, я СТАРИК, поэтому мои мысли блуждают. Одна из причин, по которой я попал на Instructables.com, заключалась в том, что там были отличные инструкции для Arduino. Это была одна из основных причин, по которой я заинтересовался Arduinos и научился их использовать. Писатели, способные к обучению, имеют разные уровни и навыки, но я часто могу найти таких, которые находятся на уровне, который я могу понять. Так что спасибо Instructables за то, что помогали мне на протяжении многих лет.

В ответ я пишу Instructables, которые, надеюсь, помогут другим.

Вторая причина, по которой я пишу Instructables, - помочь мне вспомнить, как я работал над проектами. При написании Instructables я стараюсь предоставить все детали того, что я сделал. Мне кажется, я не всегда хорошо работаю.

Хорошо, я отложил IP Clock на задний план.

Моя теория состоит в том, что большее количество синего света дало мне больше энергии (см. Выше руководство blueproject) и сосредоточилось на том, чтобы вернуться к этой проблеме. В конце концов я понял, что метод, который я использовал для программирования ESP-03, больше не работал. Я написал это в другом руководстве:

www.instructables.com/id/2020-ESP8266/

Проблема 1 решена, теперь я могу программировать ESP-03 с помощью эскизов Arduino.

Шаг 2: устранение следующей проблемы

Исправление следующей проблемы
Исправление следующей проблемы
Исправление следующей проблемы
Исправление следующей проблемы
Исправление следующей проблемы
Исправление следующей проблемы

Ну, я запрограммировал ESP-03 с помощью моего старого эскиза Arduino, вставил его в свои IP Clock, но все еще не работал. Так как я написал скетч, ничего не отображалось до тех пор, пока не было установлено успешное подключение к Интернету и NTP-сервер (обеспечивает точное время в Интернете), поэтому у меня был пустой экран.

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

ПРИМЕЧАНИЕ: ESP-03 использует микроконтроллер ESP8266. Одна из приятных особенностей ESP8266 - то, что он имеет встроенный Wi-Fi. С технической точки зрения он может подключаться к точке доступа Wi-Fi или маршрутизатору Wi-Fi, который есть во многих домах, в том числе и в моем.

Если говорить довольно технически, новые маршрутизаторы Wi-Fi имеют две полосы пропускания: 2,4 ГГц и 5,0 ГГц. (См. Изображение моего роутера). Мне нравится думать о них как о разнице между AM и FM-радио. (Помните те?)

Ограничением ESP8266 является то, что они используют только полосу пропускания 2,4 ГГц.

Более технический аспект: когда вы подключаетесь к Wi-Fi, вам нужен идентификатор, называемый SSID. Это похоже на отдельную радиостанцию K Earth 101. И из соображений безопасности вам также понадобится пароль.

Что ж, многие двухдиапазонные маршрутизаторы WiFi (2,4 ГГц и 5 ГГц) используют один и тот же SSID для обоих диапазонов.

В любом случае по какой-то причине мне не удалось подключить ESP-03 к моему роутеру. Кажется, я припоминаю, что у других людей были подобные проблемы.

Итог: я установил другой маршрутизатор, у которого были отдельные SSID для диапазона 2,4 и 5 ГГц, например, «mtslink24» и «mtslink50», и он мог общаться в Интернете. (См. Рисунок)

ВНИМАНИЕ! Если у вас есть двухдиапазонный маршрутизатор с одинаковыми SSID на обоих диапазонах, он может не работать с ESP8266.

Шаг 3. Устранение последней проблемы

Устранение последней проблемы
Устранение последней проблемы

Я видел, что все еще не могу подключиться к серверу NTP. Я нашел еще один Sketch, чтобы проверить, могу ли я использовать Интернет, и это сработало, поэтому следующая проблема, похоже, была связана с подключением к серверу NTP.

В моем первоначальном эскизе я использовал IP-адрес для подключения к серверу NTP:

tf.nist.gov/tf-cgi/servers.cgi

Итак, я попробовал несколько IP-адресов от Boulder и FT. Collins, которые довольно близки к тому месту, где я нахожусь. Ни один из них не работал. Немного поигрался, и на самом деле получил глобальный скетч для работы, но он блокировался только один раз из пяти. Провел еще несколько исследований и нашел что-то под названием pool.ntp.org. По-видимому, при этом происходит ротация нескольких IP-адресов, поэтому ни один адрес не перегружается, и все они должны быть активными.

Что ж, я не очень хорошо разбираюсь в программировании Wi-Fi, но мне удалось найти пример, который я мог бы адаптировать к моему эскизу, и заставил его работать. Ура!

Шаг 4: эскиз Arduino

Эскиз Arduino
Эскиз Arduino

Прилагаю мой рабочий эскиз Special.ino

Вот несколько комментариев по этому поводу:

Здесь вы помещаете свой собственный SSID и пароль. (Это должно быть 2,4 ГГц.)

char ssid = "YourSSID"; // сетевой SSID (имя)

char pass = "Ваш пароль SSID"; // сетевой пароль

Использование списка серверов pool.ntp.org.

IPAddress timeServerIP; // time.nist.gov адрес NTP-сервера

const char * ntpServerName = "pool.ntp.org";

// получаем случайный сервер из пула WiFi.hostByName (ntpServerName, timeServerIP);

Две функции DST:

void findChangeDates (); // Находим даты изменения весны / осени

bool IsDST (); // Проверяем, летнее ли сейчас

findChangeDates (); берет текущий год и определяет, какие дни в марте и ноябре являются датами перехода

bool IsDST (); определяет, является ли текущий день летним временем или нет

void digitalClockDisplay ()

Что ж, к сожалению, мой старый мозг больше не может этого понять. Я думаю, что он отключает отображение секунд после 21:00. и снова включает их около 5 утра. Мне очень неприятно смотреть на часы, когда я лежу в постели, и вижу, как отсчитывают секунды. Но когда я встаю утром, мне нравится смотреть на секунды, чтобы отследить время полоскания горла.

Шаг 5: Программирование ESP-03 и выводы

Программирование ESP-03 и выводы
Программирование ESP-03 и выводы

В настоящее время я использую Arduino версии 1.8.12.

Самый простой способ установить ESP8266 - использовать Board Manager следующим образом:

github.com/esp8266/Arduino#installing-with…

После установки при выборе Board я выбираю «Generic ESP8266 module».

ВНИМАНИЕ: на моем ПК есть две версии «Универсального модуля ESP8266». Плата из категории «платы ESP8266» работает, а другая из категории Sparkfun - нет.

Ну я ленивый. На самом деле я взял ESP-03 и запрограммировал его в своем модифицированном адаптере ESP из:

www.instructables.com/id/2020-ESP8266/

Что я мог сделать, так это изменить мою печатную плату IP Clock 2 в соответствии с этой схемой, просто добавив пару перемычек.

Кроме того, я модифицировал USB-адаптер CP2102, чтобы RTS был подключен к контакту рядом с GND.

С этими модификациями это похоже на загрузку обычного скетча Arduino без нажатия каких-либо кнопок.

ВЫВОДЫ: Что ж, мне нравятся мои IP Clock. Он соответствует всем моим критериям. Несмотря на то, что показано на рисунке, светодиоды красные, а не белые, поэтому не синие.

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