Создать настольные часы, которые показывают точное время и работали от аккамулятора и от внешнего блока питания. Для точного времени нужен интернет для работы с NTP, выбор пал на ESP8266 потому что волялся под рукой. Поскольку есть желание работать от аккамулятора и учитывая что Wi-Fi кушает много энергии, нужен RTC SD1302 с целью не ходить в интернет каждую секунду, а только для периодической синхронизации времени. Выводить время каждую секунду на LCD 16x2 I2C с RTC SD1302 и сделать отдельную кнопку для отключения подсветки экрана в целях экономии.
Для подключения LCD 16x2 I2C задействуем всем известную схему:
| ESP8266 | LCD 16x2 I2C |
|---|---|
| GND | GND |
| VIN | VCC |
| D2 | SDA |
| D1 | SCL |
Для подключения RTC SD1302 следуем следующей схеме:
| ESP8266 | SD1302 |
|---|---|
| 3V | VCC |
| GND | GND |
| D5 | CLK |
| D4 | DAT |
| D0 | RST |
- RtcDS1302.h - Для модуля RTC DS1302.
- LiquidCrystal_I2C.h - Для экрана 16x2 I2C.
Что бы ESP8266 мог подключится к Wi-Fi и синхронизироваться с NTP сервером, задайте значения для SSID и PASSWORD.
const char *SSID = "R2-D2";
const char *PASSWORD = "1234567890QWERTY";Можно указать любой, для этого измените значение у NTP_SERVER:
const char* NTP_SERVER = "pool.ntp.org";| Страна | Сервер |
|---|---|
| 🇷🇺 Россия | ru.pool.ntp.org или ntp1.vniiftri.ru |
| 🇩🇪 Германия | de.pool.ntp.org или ntp.web.de |
| 🇺🇸 США | us.pool.ntp.org |
Ещё больший список можно найти тут: mutin-sa/Top_Public_Time_Servers.md

