Точечные часы, XP


Точечные часы

описание

Вроде от одного обсуждение от Oriolo20, участник форума, Я разработал этот проект, если мы хотим это так назвать. На самом деле это не полноценный проект, а всего лишь доказательство эксперимента, который хочет продемонстрировать написанную программу..
Я назвал это XP, что означает экспериментальный проект…. На самом деле, отмечается, что это не окончательное редактирование, но только чтобы доказать функционирование всех программ и других используемых материалов. В частности, я мог заметить оптимальную частоту, чтобы белые светодиоды оставались включенными, не замечая мерцания.

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

Частично для недосмотра и частично потому что я нашел это дешевле, Я установил декодер 1 на 10, как CD4028. На самом деле мой контроль я установил общие катоды, вместо анодов, которые должны управлять никси.

Надо сказать, что эскиз не переносим на другие модели Arduino, которые не монтируют ATmega328p. На самом деле, этот эскиз непосредственно касается регистров микроконтроллера.

Собранный блок может работать при питании от USB-соединения, показывая последовательный монитор, но исключает другие соединения на контактах D0 и D1, или с распределителем питания, который я установил.
Особое внимание было уделено тому, что линии электропередач были очень безопасными и даже, поскольку провода-перемычки не очень эффективны, а также контакты разъема могут создавать сопротивления или ложные контакты.
Примечание по решению проблемы пропавших соединений. я нашел это “джемпер” они не очень надежны и луженая медная жила. легко останавливается.

 

схема

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

Еще я сделал еще одну разработку программы на модуле ESP-01 который связывается через шину I2C и отправляет время, взятое с мodulo DS3231 и синхронизируется через WiFi с сервером NTP.
Мне не удалось связаться через UART, но я думаю, что лучше в I2C.

Как видите, он также подключен к последовательной линии Arduino. Так что вы можете отправить дополнительные источники времени через этот источник. Пакет, который я подготовил, включает в себя пример эскиза, который ожидает данные из сериала в заданном формате. Чтобы иметь возможность получать информацию с GPS или другого устройства, это вложение должно быть расширено для преобразования полученных данных в формат, который я объясню ниже.

Il формат должен состоять из 6 байт, но буфер делает 8. Эти шесть байтов описывают время и дату

HH:М.М.:SS на час и GG:РС:А.А. на дату. Другие 2 байты могут быть использованы для будущих разработок, которые могут содержать миллисекунды разницы, что данные перемещаются. Однако это в настоящее время не включено.

программа

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

В первой части, как обычно, собрано несколько определений (определять) которые определяют, как эскиз может быть скомпилирован при необходимости.

  • К линии 32, адрес Arduino определен на шине I2C как ведомый, который в случае может быть изменен.
  • К линии 33, есть период обновления матрицы в миллисекундах. Я думаю, что это не возможно, чтобы увеличить дальше, если вы не измените параметр prescaler таймера 1. Или переключитесь на использование библиотеки TimerOne.
  • К линии 38, Вы можете выбрать несколько уровней отладки, начиная от 0 а 4. В этом методе вы можете использовать серийную информацию и жидкокристаллический дисплей. Жидкокристаллическое устройство имеет параллельный последовательный интерфейс со встроенным 74HC595. По этой причине вы можете выбирать между использованием метода Arduino SPI или метода ShiftOut..
    Я должен сказать, что у меня не было много времени, чтобы полностью проверить этот этап. Я изменил библиотеки для модели интерфейса, которую я использовал, как видно на диаграмме. Для этого я объединил их, чтобы использовать тот же тип последовательного адаптера.
  • К линии 39, ожидается, что последовательная информация адресована терминалу, который принимает управляющие символы ANSI, или если это простой последовательный интерфейс.
  • К линии 41, есть значение безопасности, что время, которое вы хотите изменить, не вовремя.

По поводу выбора подключений жидкокристаллического дисплея, это также подразумевает изменение того, где вы хотите подключить декодер 1 на 10. Очевидно, если вы хотите LCD на выходах D8 ~ D11 (используя SPI), с этого порта не удастся подключить декодер, поэтому в программе выбираются выходы A0 ~ A3.

И наоборот, если вы хотите декодер на выходах D8 ~ D11, тогда дисплей будет подключен к выходам A0 ~ A2, но с возможностью выбора других бесплатных выходов.

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

Опорные части

Il остальная часть проекта планирует предоставить источники точного времени. Для этого я реализовал управление через микропифон (член парламента, ниже) установлен на ESP-01.

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

Возможно также из-за того, что модуль был ненадежно установлен на макете. Вместо этого следует позаботиться о том, чтобы контакты были безопасными и допускали пики тока, которые требуются ESP на этапе подключения к маршрутизатору.. Для этого я установил плату millefori с необходимыми принадлежностями для перепрограммирования модуля..

Я также собрал адаптер уровня для шины I2C. Может быть, это не было строго необходимо, но среди множества тестов, Я не мог понять, почему Arduino не получил посланные ему сигналы.

Но эта схема имеет пугающую простоту, и я сделал это за несколько минут. Учитывая, что со стороны 5 вольт я не ставил подтягивающие резисторы, потому что они уже присутствуют на модуле RTC.

другие тесты, которые я поставил на место, должны были подключить мой SBC (Tinker Board) отправить данные расписания. Все работает очень элегантно. Если вы заинтересованы, вы можете найти скрипт Python для загрузки, чтобы запустить. Я пробовал с установкой Armbian, почему попытка с Archlinuxarm не могу найти автобус правильно.
Об этих СБК, нетрудно проверить соединение и отправить данные. В пакете также есть скрипт Python, который можно использовать с Raspberry или компьютером, который может быть подключен к шине I2C..
Команда должна быть отправлена ​​с правами администратора, так как он должен получить доступ к оборудованию шины I2C, это будет такая команда:

sudo ./sendtime02.py 60 europe.pool.ntp.org

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

Пакет доступно на моем диске.
Если есть какая-либо другая информация вам нужна или заметки, Я буду счастлив, чтобы иметь возможность высказать свое мнение

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

0 ответы

Ответить

Хотите принять участие в обсуждении?
Вы можете внести свой вклад!

оставьте ответ