Skip to content

Commit 3f9b8dd

Browse files
committed
new driver for dfPlayer
1 parent 6b561eb commit 3f9b8dd

File tree

17 files changed

+359
-206
lines changed

17 files changed

+359
-206
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@
55
.vscode/ipch
66
data/*.json
77
data/log*
8+
lib

.vscode/settings.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,25 @@
55
"AHTX",
66
"CHSV",
77
"CRGB",
8+
"devkit",
9+
"devkitm",
10+
"dfmp",
811
"DSTSHIFT",
912
"eeprom",
1013
"EMCU_PI",
14+
"espressif",
1115
"Gyver",
1216
"Holded",
1317
"Lebedenko",
1418
"leds",
19+
"littlefs",
1520
"Lquadrant",
1621
"MDNS",
1722
"Milliamps",
1823
"millis",
1924
"Minim",
2025
"NODEMCU",
26+
"nodemcuv",
2127
"oled",
2228
"pinout",
2329
"PROGMEM",
@@ -26,6 +32,7 @@
2632
"SENSOR",
2733
"Serhii",
2834
"SSID",
35+
"UART",
2936
"Wemos",
3037
"wifi"
3138
],

README.md

Lines changed: 20 additions & 12 deletions
Large diffs are not rendered by default.

clock_diagram.odg

235 KB
Binary file not shown.

clock_diagram.pdf

353 KB
Binary file not shown.

data/settings.html

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -94,12 +94,13 @@
9494
<option value="0">Обычный</option>
9595
<option value="1">Высокий</option>
9696
<option value="2">Толстый</option>
97-
<option value="3">Широкий</option>
98-
<option value="4">Узкий</option>
99-
<option value="5">Узкий2</option>
100-
<option value="6">Цифровой</option>
101-
<option value="7">Цифровой2</option>
102-
<option value="8">Крошечный</option>
97+
<option value="3">Толстый2</option>
98+
<option value="4">Широкий</option>
99+
<option value="5">Узкий</option>
100+
<option value="6">Узкий2</option>
101+
<option value="7">Цифровой</option>
102+
<option value="8">Цифровой2</option>
103+
<option value="9">Крошечный</option>
103104
</select>
104105
</div>
105106
</div>
@@ -128,7 +129,14 @@
128129
</div>
129130
<div class="row">
130131
<div>Сокращенный формат даты</div>
131-
<div><input name="date_short" type="checkbox" value="1"></div>
132+
<div>
133+
<select name="date_short">
134+
<option value="0">Нет</option>
135+
<option value="1">Да</option>
136+
<option value="2">Нет/3</option>
137+
<option value="3">Да/3</option>
138+
</select>
139+
</div>
132140
</div>
133141
<div class="row">
134142
<div>Отображать дату крошечными цифрами</div>

include/define_vars.h

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,18 @@ extern bool fl_tiny_clock;
237237
extern bool screenIsFree;
238238
extern uint8_t hue_shift;
239239

240+
// номера шрифтов для циферблата
241+
#define FONT_NORMAL 0
242+
#define FONT_HIGHT 1
243+
#define FONT_BOLD 2
244+
#define FONT_BOLD2 3
245+
#define FONT_WIDE 4
246+
#define FONT_NARROW 5
247+
#define FONT_NARROW2 6
248+
#define FONT_DIGIT 7
249+
#define FONT_DIGIT2 8
250+
#define FONT_TINY 9
251+
240252
#ifdef ESP32
241253
#define SPIFFS LittleFS
242254
#define FORMAT_LITTLEFS_IF_FAILED true

include/defines.h

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,27 +14,27 @@
1414
#define PIN_LED 6 // LED матрица
1515
#define PIN_PHOTO_SENSOR A0 // фоторезистор
1616
#define PIN_BUTTON 1 // кнопка управления
17-
#define PIN_MOTION 10 // детектор движения
17+
#define PIN_MOTION 10 // детектор движения. Закомментировать, если не подключен
1818
// #define PIN_5V 3 // детектор наличия питания (5 Вольт). Закомментировать, если не подключен
1919
#define PIN_RELAY 7 // реле выключатель питания матрицы
20-
#define LED_MOTION 5 // светодиод индикатор движения. Закомментировать для вывода на матрицу.
21-
#define SRX 20 // hardware serial RX DFPlayer. Закомментировать, если не подключен
22-
#define STX 21 // hardware serial TX DFPlayer
20+
// #define LED_MOTION 5 // светодиод индикатор движения. Закомментировать для вывода на матрицу.
21+
#define SRX 20 // hardware serial RX -> TX on DFPlayer. Закомментировать, если не подключен
22+
#define STX 21 // hardware serial TX -> RX on DFPlayer
2323
// -> SDA 8 // I2C SDA Для справки, определены в Arduino
2424
// -> SCL 9 // I2C SCL
25-
#define BAT_LEVEL 4 // напряжение аккумулятора
25+
// #define BAT_LEVEL 4 // напряжение аккумулятора
2626
#elif ESP32 == 1 // ESP32
2727
#define PIN_PHOTO_SENSOR 36 // "VP" - фоторезистор
2828
#define PIN_BUTTON 19 // кнопка управления
29-
#define PIN_MOTION 18 // детектор движения
29+
#define PIN_MOTION 18 // детектор движения. Закомментировать, если не подключен
3030
#define PIN_RELAY 26 // реле выключатель питания матрицы
3131
#if USE_I2C == 0
3232
// ------8<------ old, compatible with ESP8266 Wemos D1 mini
3333
#define PIN_LED 22 // LED матрица
3434
#define LED_MOTION 17 // светодиод индикатор движения. Закомментировать для вывода на матрицу.
3535
#define PIN_5V 21 // детектор наличия питания (5 Вольт). Закомментировать, если не подключен
36-
#define SRX 23 // software serial RX DFPlayer. Закомментировать, если не подключен
37-
#define STX 5 // software serial TX DFPlayer
36+
#define SRX 23 // hardware serial RX DFPlayer. Закомментировать, если не подключен
37+
#define STX 5 // hardware serial TX DFPlayer
3838
// ------8<------
3939
#else
4040
// ------8<------ new, for esp32
@@ -51,7 +51,7 @@
5151
#else // ESP8266
5252
#define PIN_PHOTO_SENSOR A0 // фоторезистор
5353
#define PIN_BUTTON 12 // кнопка управления
54-
#define PIN_MOTION 14 // детектор движения
54+
#define PIN_MOTION 14 // детектор движения. Закомментировать, если не подключен
5555
#define SRX 13 // software serial RX DFPlayer. Закомментировать, если не подключен
5656
#define STX 15 // software serial TX DFPlayer
5757
#if USE_I2C == 0
@@ -83,6 +83,16 @@
8383
#define USE_RTC 1 // использовать аппаратный чип RTC (часы). 0 - только интернет, 1 - использовать
8484
#define USE_BMP 1 // использовать датчик давления/температуры (BMP180). 0 - не использовать, 1 - использовать
8585

86+
/*** тип плейера dfPlayer mp3 ***/
87+
88+
// надо выбрать один тип, остальные закомментировать!
89+
#define Mp3ChipType Mp3ChipOriginal // большинство чипов
90+
// #define Mp3ChipType Mp3ChipMH2024K16SS // чип MH2024K16SS
91+
// #define Mp3ChipType Mp3ChipIncongruousNoAck // редкие чипы без поддержки Ack
92+
93+
// время ожидания ответа от модуля при обычной работе. Нужно только в редких случаях, для медленных чипов.
94+
#define Mp3ChipTimeout 900
95+
8696
/*** ограничение потребления матрицей ***/
8797

8898
#define BRIGHTNESS 50 // стандартная максимальная яркость (0-255)
@@ -109,7 +119,7 @@
109119

110120
/*** зарезервированное количество объектов в настройках. Занимают много места. ***/
111121

112-
#define MAX_ALARMS 9 // количество возможных будильников
122+
#define MAX_ALARMS 9 // количество возможных будильников (больше 9 может вызвать проблемы с памятью)
113123
#define MAX_RUNNING 9 // количество возможных бегущих строк (больше 9 может вызвать проблемы с памятью)
114124
#define MAX_SENSORS 10 // количество слотов для регистрации удалённых сенсоров
115125

include/dfplayer.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@
22
#define dfplayer_h
33

44
// возвращает, играет ли сейчас плейер
5-
boolean mp3_isPlay();
5+
bool mp3_isPlay();
66
// устанавливает громкость (t= от 1 до 30). p - запоминать ли уровень (p=false - не запоминать)
77
void mp3_volume(uint8_t t, boolean p=true);
8+
// инициализация Serial для dfPlayer.
9+
void dfSerialInit();
810
// инициализация плейера
911
void mp3_init();
1012
// Проверка данных от плейера

include/digitsOnly.h

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,4 @@
44
int16_t printMedium(const char* txt, uint8_t font, int16_t pos, uint8_t limit=5, uint8_t start_char=0, int8_t offset=0);
55
const char* changeDots(char* txt);
66

7-
#define FONT_NORMAL 0
8-
#define FONT_HIGHT 1
9-
#define FONT_BOLD 2
10-
#define FONT_WIDE 3
11-
#define FONT_NARROW 4
12-
#define FONT_NARROW2 5
13-
#define FONT_DIGIT 6
14-
#define FONT_DIGIT2 7
15-
#define FONT_TINY 8
16-
177
#endif

0 commit comments

Comments
 (0)