sansa
18.03.2016, 22:01
Аквасы доделаны, возникла новая мысля.
Преамбле...
По дому висят/стоят много часов. Давно раздражает то, что каждые из них, доказывая теорию относительности Энштейна, показывают совершенно разное время.
Амбле...
Решил сделать часы, синхронизируемые от домашнего сервера (который в свою очередь синхронизируется либо с инета, либо напрямую от GPS модуля).
Тем более, осталось 2 контроллера (http://ru.aliexpress.com/item/1pcs-Pro-Mini-328-Mini-ATMEGA328-5V-16MHz-Free-Shipping/1432585134.html?spm=2114.14010208.99999999.261.Tmx7ni), 3 зарядки от нокии (5В), и 4 2.4Мгц приемо-передатчика NRF24 (http://ru.aliexpress.com/item/PCB-Antenna-nRF24L01-2-4GHz-Wireless-communication-Transceiver-Module-for-Arduino/32519726003.html?spm=2114.03010208.3.26.6IG6uq&ws_ab_test=searchweb201556_6,searchweb201602_3_2010014_301_10034_507_10020_10001_10002_10017_10010_10005_10011_10006_10003_10021_10004_10022_10009_401_10007_10008_10018_10019,searchweb201603_6&btsid=414fb028-5546-4f8c-8883-d8a96bfe90b6).
Сначала решил сделать 2 прикроватных будильника, с электронным табло. Заодно, будильники будут "микро погодной станцией", так как датчики влажности (http://ru.aliexpress.com/item/1pcs-DHT11-Digital-Temperature-and-Humidity-Sensor-IN-STOCK/917193337.html?spm=2114.03010208.3.1.UX4b3O&ws_ab_test=searchweb201556_6,searchweb201602_3_301_10034_507_10020_10001_10002_10017_10010_10005_10011_10006_10021_10003_10004_10022_10009_401_10007_10008_10018_10019,searchweb201603_6&btsid=d4c79e33-8a3f-4bbf-9eb4-06ddad13d006) достались "по случаю". Заказал 8 матриц 8х8 (http://ru.aliexpress.com/item/J34-Free-Shipping-1pcs-Red-MAX7219-LED-Dot-Matrix-for-Arduino-Microcontroller-Display-Module-Control/32400801615.html) (16х32 пикселя, думаю, хватит для цифр (https://www.adafruit.com/product/420), будет много - сделаю 2 по 8х32).
Тут проблем, нет, реализуется быстро.
Но задумался и стрелочные часы перевести на ту же схему. С приводом стрелок - нет проблем. Раз в секунду двигаем соленоидом - двигается секундная стрелка. Через шестеренки, соотношением 1:60 - двигается минутная и так далее...
Вопрос встал, как контроллеру поправить время. Первая мысль - двигать секундную стрелку не раз в 1 с, а, например с частотой 125 Гц. Тогда коррекция времени при отставании часов вперед займет в районе 30 сек. При опережении часов - гораздо меньше. Коррекцию можно делать ночью, тогда никто не заметит "сумасшедших часов".
Но. Возникает вопрос: Как узнать положение каждой из трех стрелок в каждый момент времени. Слишком много датчиков. Подумал, и решил, что мне достаточно будет знать только один момент - все 3 стрелки на 12 часов (на самом деле не важны конкретно 12 часов, можно любое положение, но одно и тоже). Поймав этот момент, контроллер сможет быстро перевести все стрелки в нужно положение. За, максимум, 30 сек (на самом деле, можно и быстрее, 125 Гц - совсем не большая частота).
Но, Опять, же, возникает вопрос. Как на обычных дешевых настенных часах узнать что все 3 стрелки в положении 12 часов? Пока в раздумиях.
ЗЫ. Мож и другой способ синхронизации есть.
- - - Добавлено - - -
Подумалось еще, что лучше всего нужно давать часам слегка спешить (на 2-10 секунд в день), а ночью, сверяясь, просто пропускать нужное количество секунд, для установки "точного времени". Тогда "чумачеччие" часы, судорожно крутящие стрелками можно будет наблюдать только при первом включении в сеть.
Преамбле...
По дому висят/стоят много часов. Давно раздражает то, что каждые из них, доказывая теорию относительности Энштейна, показывают совершенно разное время.
Амбле...
Решил сделать часы, синхронизируемые от домашнего сервера (который в свою очередь синхронизируется либо с инета, либо напрямую от GPS модуля).
Тем более, осталось 2 контроллера (http://ru.aliexpress.com/item/1pcs-Pro-Mini-328-Mini-ATMEGA328-5V-16MHz-Free-Shipping/1432585134.html?spm=2114.14010208.99999999.261.Tmx7ni), 3 зарядки от нокии (5В), и 4 2.4Мгц приемо-передатчика NRF24 (http://ru.aliexpress.com/item/PCB-Antenna-nRF24L01-2-4GHz-Wireless-communication-Transceiver-Module-for-Arduino/32519726003.html?spm=2114.03010208.3.26.6IG6uq&ws_ab_test=searchweb201556_6,searchweb201602_3_2010014_301_10034_507_10020_10001_10002_10017_10010_10005_10011_10006_10003_10021_10004_10022_10009_401_10007_10008_10018_10019,searchweb201603_6&btsid=414fb028-5546-4f8c-8883-d8a96bfe90b6).
Сначала решил сделать 2 прикроватных будильника, с электронным табло. Заодно, будильники будут "микро погодной станцией", так как датчики влажности (http://ru.aliexpress.com/item/1pcs-DHT11-Digital-Temperature-and-Humidity-Sensor-IN-STOCK/917193337.html?spm=2114.03010208.3.1.UX4b3O&ws_ab_test=searchweb201556_6,searchweb201602_3_301_10034_507_10020_10001_10002_10017_10010_10005_10011_10006_10021_10003_10004_10022_10009_401_10007_10008_10018_10019,searchweb201603_6&btsid=d4c79e33-8a3f-4bbf-9eb4-06ddad13d006) достались "по случаю". Заказал 8 матриц 8х8 (http://ru.aliexpress.com/item/J34-Free-Shipping-1pcs-Red-MAX7219-LED-Dot-Matrix-for-Arduino-Microcontroller-Display-Module-Control/32400801615.html) (16х32 пикселя, думаю, хватит для цифр (https://www.adafruit.com/product/420), будет много - сделаю 2 по 8х32).
Тут проблем, нет, реализуется быстро.
Но задумался и стрелочные часы перевести на ту же схему. С приводом стрелок - нет проблем. Раз в секунду двигаем соленоидом - двигается секундная стрелка. Через шестеренки, соотношением 1:60 - двигается минутная и так далее...
Вопрос встал, как контроллеру поправить время. Первая мысль - двигать секундную стрелку не раз в 1 с, а, например с частотой 125 Гц. Тогда коррекция времени при отставании часов вперед займет в районе 30 сек. При опережении часов - гораздо меньше. Коррекцию можно делать ночью, тогда никто не заметит "сумасшедших часов".
Но. Возникает вопрос: Как узнать положение каждой из трех стрелок в каждый момент времени. Слишком много датчиков. Подумал, и решил, что мне достаточно будет знать только один момент - все 3 стрелки на 12 часов (на самом деле не важны конкретно 12 часов, можно любое положение, но одно и тоже). Поймав этот момент, контроллер сможет быстро перевести все стрелки в нужно положение. За, максимум, 30 сек (на самом деле, можно и быстрее, 125 Гц - совсем не большая частота).
Но, Опять, же, возникает вопрос. Как на обычных дешевых настенных часах узнать что все 3 стрелки в положении 12 часов? Пока в раздумиях.
ЗЫ. Мож и другой способ синхронизации есть.
- - - Добавлено - - -
Подумалось еще, что лучше всего нужно давать часам слегка спешить (на 2-10 секунд в день), а ночью, сверяясь, просто пропускать нужное количество секунд, для установки "точного времени". Тогда "чумачеччие" часы, судорожно крутящие стрелками можно будет наблюдать только при первом включении в сеть.