PDA

Просмотр полной версии : Arduino для часов



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 секунд в день), а ночью, сверяясь, просто пропускать нужное количество секунд, для установки "точного времени". Тогда "чумачеччие" часы, судорожно крутящие стрелками можно будет наблюдать только при первом включении в сеть.

sansa
19.03.2016, 00:04
Ошибся.
Провернуть циферблат при 125 Гц займет не 30 с (так как на циферблате только 12 часов из 24-х), а только 15.

sansa
19.03.2016, 21:42
Оказывается, тяжело изобретать велосипед. Изучение вопроса в нете принесло результат.
Много интересного по теме нашлось тут (https://geektimes.ru/post/256964/). Оказывается, 125 Гц - это все-таки много... 4 Гц - максимум...

sansa
20.03.2016, 20:20
Не знаю, читали ли вы коментарии из ссылки в предыдущем сообщении, но один из комментов напомнил мне теоретические основы механики, в частности эвольвентные узлы. Поискал в ютьюбе...
Одно из интересных:

http://www.youtube.com/watch?v=WYcqJ5HdxA4

ЗЫ. Эвольвента для велосипедистов ))

http://www.youtube.com/watch?v=PPKY1pFyqu8

Maximus71
21.03.2016, 20:46
Сначала решил сделать 2 прикроватных будильника, с электронным табло. Заодно, будильники будут "микро погодной станцией", так как датчики влажности достались "по случаю". Заказал 8 матриц 8х8 (16х32 пикселя, думаю, хватит для цифр, будет много - сделаю 2 по 8х32).Я недавно узнал про такую железку: ESP8266 (http://ru.aliexpress.com/item/Free-Shipping-2pcs-lot-ESP8266-remote-serial-Port-WIFI-wireless-module-through-walls-Wang-ESP-12/32256161821.html). По-моему очень классная вещь. Это, считай, та же ардуино, только уже с WiFi на борту. За те же < 2$ имеем микроконтроллер, флэш-память, порты (RS232, SPI, I2C, GPIO)... Вот умелец сделал на ней и на таких же матрицах 8х8 часы, синхронизирующиеся с интернетом + метеостанцию + прогноз погоды...

https://www.youtube.com/watch?v=puqLSH036E0

sansa
22.03.2016, 20:54
Купил недавно (уже приехали, недели 2-3 как) 2 таких штучки. в 12-ом (http://ru.aliexpress.com/item/Free-Shipping-5pcs-lot-ESP8266-serial-WIFI-model-ESP-12-ESP12-Authenticity-Guaranteed/32311036044.html) и 13-ом (http://ru.aliexpress.com/item/2015-New-version-ESP8266-serial-WIFI-model-ESP-13-Authenticity-Guaranteed-WIFI-wireless-module-ESP13/32406145213.html) исполнении.
Вещь очень хорошая, но на часы не хочу их пользовать.
1 - WiFi - сейчас уже зло. Слабую точку дома телефон видит на уровне "вижу-не вижу" уже в пределах комнаты. Зато есть еще 15 других (комната угловая, угол дома).
2 - WiFi - подразумевает интерактив (какую-нить web страничку, modbus, RPC... etc ) А в часах - очень мало возможностей для этого.
3 - NRF - работает на ура, видимо за счет узкой полосы.
4 - NRF меньше потребляет энергии, чем 266. Гораздо. Для часов можно будет вот такую приспособить (http://ru.aliexpress.com/item/2PCS-NRF24LE1-NRF24L01-MCU-Wireless-Transceiver-Wireless-Communication-Module-H/1859093318.html) (едет, тот же "ардуино"). Только, если по феншую, то для нее нужны не светодиоды, а ЖК экран. Что бы от батарейки достаточно долго работали.