Страница 1 из 1
WIFI часы на ESP8266 и MAX7219 зеркальное изображение
Добавлено: Чт мар 15, 2018 20:43:08
mitre
Привет из Болгарии.
Пожалуйста помогите мне решить эту проблему зеркальное изображение
https://www.youtube.com/watch?v=--MSv4j ... e=youtu.be
Скетч здесь
https://cloud.mail.ru/public/3FV8/npCXv7hyE
Re: WIFI часы на ESP8266 и MAX7219 зеркальное изображение
Добавлено: Чт мар 15, 2018 21:23:22
Silvermonk
Привет! А сами сегменты правильно установлены?
Re: WIFI часы на ESP8266 и MAX7219 зеркальное изображение
Добавлено: Чт мар 15, 2018 21:26:31
mitre
так в скетч
#define MAX_DEVICES 4
#define CLK_PIN D5 // or SCK
#define DATA_PIN D7 // or MOSI
#define CS_PIN D6 // or SS
Re: WIFI часы на ESP8266 и MAX7219 зеркальное изображение
Добавлено: Чт мар 15, 2018 22:16:56
АлександрЛ

Просто кто- то считает сегменты слева- направо, а кто- то справа- налево.. Вы в каком направлении считали?
Re: WIFI часы на ESP8266 и MAX7219 зеркальное изображение
Добавлено: Чт мар 15, 2018 22:34:33
mitre
[uquote="АлександрЛ",url="/forum/viewtopic.php?p=3331811#p3331811"]

Просто кто- то считает сегменты слева- направо, а кто- то справа- налево.. Вы в каком направлении считали?[/uquote]
Не имеет значения, как сделано
Re: WIFI часы на ESP8266 и MAX7219 зеркальное изображение
Добавлено: Чт мар 15, 2018 22:48:03
АлександрЛ
Как это "не имеет значения"?
Если вы сначала выводите на индикацию первый разяд, и в это время у индикатора "подключён" последний- то оно так и будет "задом наперёд" выводиться..
я так один раз при разводке платы ошибся- и у меня первый разряд оказался последним..

Re: WIFI часы на ESP8266 и MAX7219 зеркальное изображение
Добавлено: Чт мар 15, 2018 22:56:52
mitre
Я не понимаю программирования и не знаю, как это должно быть
Re: WIFI часы на ESP8266 и MAX7219 зеркальное изображение
Добавлено: Пт мар 16, 2018 08:59:56
Dimon456
А скетч у вас нормально собирается?
Если да то попробуйте следующее:
В файле max7219.h есть функция такого рода
Код: Выделить всё
shiftOut(DIN_PIN, CLK_PIN, MSBFIRST, i == addr ? cmd : 0);
Таких функций shiftOut(..........) в этом файле max7219.h 10 штук.
Там сгруппировано, к примеру
Код: Выделить всё
void sendCmdAll(byte cmd, byte data) {
digitalWrite(CS_PIN, LOW);
for(int i = NUM_MAX - 1; i >= 0; i--){
shiftOut(DIN_PIN, CLK_PIN, MSBFIRST, cmd);
shiftOut(DIN_PIN, CLK_PIN, MSBFIRST, data);
}
digitalWrite(CS_PIN, HIGH);
}
смотрите внимательно, сначала передается адрес shiftOut(DIN_PIN, CLK_PIN, MSBFIRST, cmd); потом дата(информация) shiftOut(DIN_PIN, CLK_PIN, MSBFIRST, data);.
Последовательность вывода бит MSBFIRST — слева или LSBFIRST — справа.
Поиграйтесь с комбинацией.
К примеру:
Спойлер
Код: Выделить всё
void sendCmdAll(byte cmd, byte data) {
digitalWrite(CS_PIN, LOW);
for(int i = NUM_MAX - 1; i >= 0; i--){
shiftOut(DIN_PIN, CLK_PIN, MSBFIRST, cmd);
shiftOut(DIN_PIN, CLK_PIN, MSBFIRST, data);
}
digitalWrite(CS_PIN, HIGH);
}
void sendCmdAll(byte cmd, byte data) {
digitalWrite(CS_PIN, LOW);
for(int i = NUM_MAX - 1; i >= 0; i--){
shiftOut(DIN_PIN, CLK_PIN, MSBFIRST, cmd);
shiftOut(DIN_PIN, CLK_PIN, LSBFIRST, data);
}
digitalWrite(CS_PIN, HIGH);
}
void sendCmdAll(byte cmd, byte data) {
digitalWrite(CS_PIN, LOW);
for(int i = NUM_MAX - 1; i >= 0; i--){
shiftOut(DIN_PIN, CLK_PIN, LSBFIRST, cmd);
shiftOut(DIN_PIN, CLK_PIN, MSBFIRST, data);
}
digitalWrite(CS_PIN, HIGH);
}
void sendCmdAll(byte cmd, byte data) {
digitalWrite(CS_PIN, LOW);
for(int i = NUM_MAX - 1; i >= 0; i--){
shiftOut(DIN_PIN, CLK_PIN, LSBFIRST, cmd);
shiftOut(DIN_PIN, CLK_PIN, LSBFIRST, data);
}
digitalWrite(CS_PIN, HIGH);
}
В файле max7219.h таких групп всего 5 штук, менять надо сразу во всех группах.
Re: WIFI часы на ESP8266 и MAX7219 зеркальное изображение
Добавлено: Пт мар 16, 2018 20:13:40
mitre
Я сделал все правильно, и он отлично работает.
Большое спасибо
Dimon456 за вашу помощь
