WI-FI интернет радио.

10427 ответов [Последнее сообщение]
spazmalgon
Offline
Зарегистрирован: 22.08.2020

Загрузил программу LCD_ID_Reader Version 1.2 Брал https://misc.ws/2015/01/24/lcd-touch-screen-information/
В мониторе порта показало следующее

23:00:25.894 -> Initializing LCD...
23:00:26.405 -> Reading ID...0x0000
23:00:26.405 -> Loading LCD registers...
23:00:26.439 -> Filling the screen...
23:00:36.676 -> Done filling...
23:00:36.676 -> If your screen filled red, you may be able to use the library at http://misc.ws

В соответствии с ID...0x0000 привязанная ссылка https://cyaninfinite.com/2-4-touchscreen-lcd-shield/

загружаю скетч
// IMPORTANT: Adafruit_TFTLCD LIBRARY MUST BE SPECIFICALLY
// CONFIGURED FOR EITHER THE TFT SHIELD OR THE BREAKOUT BOARD.
// SEE RELEVANT COMMENTS IN Adafruit_TFTLCD.h FOR SETUP.

#include // Core graphics library
#include // Hardware-specific library

// The control pins for the LCD can be assigned to any digital or
// analog pins...but we'll use the analog pins as this allows us to
// double up the pins with the touch screen (see the TFT paint example).
#define LCD_CS A3 // Chip Select goes to Analog 3
#define LCD_CD A2 // Command/Data goes to Analog 2
#define LCD_WR A1 // LCD Write goes to Analog 1
#define LCD_RD A0 // LCD Read goes to Analog 0

#define LCD_RESET A4 // Can alternately just connect to Arduino's reset pin

// When using the BREAKOUT BOARD only, use these 8 data lines to the LCD:
// For the Arduino Uno, Duemilanove, Diecimila, etc.:
// D0 connects to digital pin 8 (Notice these are
// D1 connects to digital pin 9 NOT in order!)
// D2 connects to digital pin 2
// D3 connects to digital pin 3
// D4 connects to digital pin 4
// D5 connects to digital pin 5
// D6 connects to digital pin 6
// D7 connects to digital pin 7
// For the Arduino Mega, use digital pins 22 through 29
// (on the 2-row header at the end of the board).

// Assign human-readable names to some common 16-bit color values:
#define BLACK 0x0000
#define BLUE 0x001F
#define RED 0xF800
#define GREEN 0x07E0
#define CYAN 0x07FF
#define MAGENTA 0xF81F
#define YELLOW 0xFFE0
#define WHITE 0xFFFF

Adafruit_TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);
// If using the shield, all control and data lines are fixed, and
// a simpler declaration can optionally be used:
// Adafruit_TFTLCD tft;

void setup(void) {
Serial.begin(9600);
Serial.println(F("TFT LCD test"));

#ifdef USE_ADAFRUIT_SHIELD_PINOUT
Serial.println(F("Using Adafruit 2.8" TFT Arduino Shield Pinout"));
#else
Serial.println(F("Using Adafruit 2.8" TFT Breakout Board Pinout"));
#endif

Serial.print("TFT size is "); Serial.print(tft.width()); Serial.print("x"); Serial.println(tft.height());

tft.reset();

uint16_t identifier = 0x9341; //Need hardcode here (IC)

if(identifier == 0x9325) {
Serial.println(F("Found ILI9325 LCD driver"));
} else if(identifier == 0x9328) {
Serial.println(F("Found ILI9328 LCD driver"));
} else if(identifier == 0x7575) {
Serial.println(F("Found HX8347G LCD driver"));
} else if(identifier == 0x9341) {
Serial.println(F("Found ILI9341 LCD driver"));
} else if(identifier == 0x8357) {
Serial.println(F("Found HX8357D LCD driver"));
} else {
Serial.print(F("Unknown LCD driver chip: "));
Serial.println(identifier, HEX);
Serial.println(F("If using the Adafruit 2.8" TFT Arduino shield, the line:"));
Serial.println(F(" #define USE_ADAFRUIT_SHIELD_PINOUT"));
Serial.println(F("should appear in the library header (Adafruit_TFT.h)."));
Serial.println(F("If using the breakout board, it should NOT be #defined!"));
Serial.println(F("Also if using the breakout, double-check that all wiring"));
Serial.println(F("matches the tutorial."));
return;
}

tft.begin(identifier);

Serial.println(F("Benchmark Time (microseconds)"));

Serial.print(F("Screen fill "));
Serial.println(testFillScreen());
delay(500);

Serial.print(F("Text "));
Serial.println(testText());
delay(3000);

Serial.print(F("Lines "));
Serial.println(testLines(CYAN));
delay(500);

Serial.print(F("Horiz/Vert Lines "));
Serial.println(testFastLines(RED, BLUE));
delay(500);

Serial.print(F("Rectangles (outline) "));
Serial.println(testRects(GREEN));
delay(500);

Serial.print(F("Rectangles (filled) "));
Serial.println(testFilledRects(YELLOW, MAGENTA));
delay(500);

Serial.print(F("Circles (filled) "));
Serial.println(testFilledCircles(10, MAGENTA));

Serial.print(F("Circles (outline) "));
Serial.println(testCircles(10, WHITE));
delay(500);

Serial.print(F("Triangles (outline) "));
Serial.println(testTriangles());
delay(500);

Serial.print(F("Triangles (filled) "));
Serial.println(testFilledTriangles());
delay(500);

Serial.print(F("Rounded rects (outline) "));
Serial.println(testRoundRects());
delay(500);

Serial.print(F("Rounded rects (filled) "));
Serial.println(testFilledRoundRects());
delay(500);

Serial.println(F("Done!"));
}

void loop(void) {
for(uint8_t rotation=0; rotation<4; rotation++) {
tft.setRotation(rotation);
testText();
delay(2000);
}
}

unsigned long testFillScreen() {
unsigned long start = micros();
tft.fillScreen(BLACK);
tft.fillScreen(RED);
tft.fillScreen(GREEN);
tft.fillScreen(BLUE);
tft.fillScreen(BLACK);
return micros() - start;
}

unsigned long testText() {
tft.fillScreen(BLACK);
unsigned long start = micros();
tft.setCursor(0, 0);
tft.setTextColor(WHITE); tft.setTextSize(1);
tft.println("Hello World!");
tft.setTextColor(YELLOW); tft.setTextSize(2);
tft.println(1234.56);
tft.setTextColor(RED); tft.setTextSize(3);
tft.println(0xDEADBEEF, HEX);
tft.println();
tft.setTextColor(GREEN);
tft.setTextSize(5);
tft.println("Groop");
tft.setTextSize(2);
tft.println("I implore thee,");
tft.setTextSize(1);
tft.println("my foonting turlingdromes.");
tft.println("And hooptiously drangle me");
tft.println("with crinkly bindlewurdles,");
tft.println("Or I will rend thee");
tft.println("in the gobberwarts");
tft.println("with my blurglecruncheon,");
tft.println("see if I don't!");
return micros() - start;
}

unsigned long testLines(uint16_t color) {
unsigned long start, t;
int x1, y1, x2, y2,
w = tft.width(),
h = tft.height();

tft.fillScreen(BLACK);

x1 = y1 = 0;
y2 = h - 1;
start = micros();
for(x2=0; x2 x2 = w - 1;
for(y2=0; y2 t = micros() - start; // fillScreen doesn't count against timing

tft.fillScreen(BLACK);

x1 = w - 1;
y1 = 0;
y2 = h - 1;
start = micros();
for(x2=0; x2 x2 = 0;
for(y2=0; y2 t += micros() - start;

tft.fillScreen(BLACK);

x1 = 0;
y1 = h - 1;
y2 = 0;
start = micros();
for(x2=0; x2 x2 = w - 1;
for(y2=0; y2 t += micros() - start;

tft.fillScreen(BLACK);

x1 = w - 1;
y1 = h - 1;
y2 = 0;
start = micros();
for(x2=0; x2 x2 = 0;
for(y2=0; y2

return micros() - start;
}

unsigned long testFastLines(uint16_t color1, uint16_t color2) {
unsigned long start;
int x, y, w = tft.width(), h = tft.height();

tft.fillScreen(BLACK);
start = micros();
for(y=0; y for(x=0; x

return micros() - start;
}

unsigned long testRects(uint16_t color) {
unsigned long start;
int n, i, i2,
cx = tft.width() / 2,
cy = tft.height() / 2;

tft.fillScreen(BLACK);
n = min(tft.width(), tft.height());
start = micros();
for(i=2; i i2 = i / 2;
tft.drawRect(cx-i2, cy-i2, i, i, color);
}

return micros() - start;
}

unsigned long testFilledRects(uint16_t color1, uint16_t color2) {
unsigned long start, t = 0;
int n, i, i2,
cx = tft.width() / 2 - 1,
cy = tft.height() / 2 - 1;

tft.fillScreen(BLACK);
n = min(tft.width(), tft.height());
for(i=n; i>0; i-=6) {
i2 = i / 2;
start = micros();
tft.fillRect(cx-i2, cy-i2, i, i, color1);
t += micros() - start;
// Outlines are not included in timing results
tft.drawRect(cx-i2, cy-i2, i, i, color2);
}

return t;
}

unsigned long testFilledCircles(uint8_t radius, uint16_t color) {
unsigned long start;
int x, y, w = tft.width(), h = tft.height(), r2 = radius * 2;

tft.fillScreen(BLACK);
start = micros();
for(x=radius; x for(y=radius; y tft.fillCircle(x, y, radius, color);
}
}

return micros() - start;
}

unsigned long testCircles(uint8_t radius, uint16_t color) {
unsigned long start;
int x, y, r2 = radius * 2,
w = tft.width() + radius,
h = tft.height() + radius;

// Screen is not cleared for this one -- this is
// intentional and does not affect the reported time.
start = micros();
for(x=0; x for(y=0; y tft.drawCircle(x, y, radius, color);
}
}

return micros() - start;
}

unsigned long testTriangles() {
unsigned long start;
int n, i, cx = tft.width() / 2 - 1,
cy = tft.height() / 2 - 1;

tft.fillScreen(BLACK);
n = min(cx, cy);
start = micros();
for(i=0; i tft.drawTriangle(
cx , cy - i, // peak
cx - i, cy + i, // bottom left
cx + i, cy + i, // bottom right
tft.color565(0, 0, i));
}

return micros() - start;
}

unsigned long testFilledTriangles() {
unsigned long start, t = 0;
int i, cx = tft.width() / 2 - 1,
cy = tft.height() / 2 - 1;

tft.fillScreen(BLACK);
start = micros();
for(i=min(cx,cy); i>10; i-=5) {
start = micros();
tft.fillTriangle(cx, cy - i, cx - i, cy + i, cx + i, cy + i,
tft.color565(0, i, i));
t += micros() - start;
tft.drawTriangle(cx, cy - i, cx - i, cy + i, cx + i, cy + i,
tft.color565(i, i, 0));
}

return t;
}

unsigned long testRoundRects() {
unsigned long start;
int w, i, i2,
cx = tft.width() / 2 - 1,
cy = tft.height() / 2 - 1;

tft.fillScreen(BLACK);
w = min(tft.width(), tft.height());
start = micros();
for(i=0; i i2 = i / 2;
tft.drawRoundRect(cx-i2, cy-i2, i, i, i/8, tft.color565(i, 0, 0));
}

return micros() - start;
}

unsigned long testFilledRoundRects() {
unsigned long start;
int i, i2,
cx = tft.width() / 2 - 1,
cy = tft.height() / 2 - 1;

tft.fillScreen(BLACK);
start = micros();
for(i=min(tft.width(), tft.height()); i>20; i-=6) {
i2 = i / 2;
tft.fillRoundRect(cx-i2, cy-i2, i, i, i/8, tft.color565(0, i, 0));
}

return micros() - start;
}

А "оно" выдаёт
rotationtest:384:0: error: unterminated argument list invoking macro "F"
}

Несколько библиотек найдено для "Adafruit_GFX.h"
Используется: C:\Users\***\Documents\Arduino\libraries\Adafruit_GFX_Library
Не используется: C:\Users\***\Documents\Arduino\libraries\Adafruit-GFX-Library-master
Несколько библиотек найдено для "Wire.h"
Используется: C:\Users\***\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.3\libraries\Wire
Не используется: C:\Users\***\Documents\Arduino\libraries\WireSlave
Не используется: C:\Users\***\Documents\Arduino\libraries\Wire
Несколько библиотек найдено для "SPI.h"
Используется: C:\Users\***\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.3\libraries\SPI
Не используется: C:\Users\***\Documents\Arduino\libraries\SPI
exit status 1
unterminated argument list invoking macro "F"

SinglWolf
SinglWolf аватар
Offline
Зарегистрирован: 15.12.2019

nadim пишет:

Всем привет.
 
Почти собрал свой проект - на завершающей стадии. Это музыкальный центр на основе проектов:
.....
Аудиопроцессор - TDA7719 - 6 входов - два я задействовал для карадио и блютуз, два вывел для телевизора и компьютера, еще осталось два в запасе.
....
ШЕСТЬ стерео входов? o_O
Как из ЧЕТЫРЁХ сделать ШЕСТЬ?
Схему и фрагмент кода переключения на ПЯТЫЙ и ШЕСТОЙ вход в студию, пожалуйста!!!

 

SinglWolf
SinglWolf аватар
Offline
Зарегистрирован: 15.12.2019

spazmalgon пишет:

Загрузил программу LCD_ID_Reader Version 1.2 Брал https://misc.ws/2015/01/24/lcd-touch-screen-information/ В мониторе порта показало следующее
....

Пожалуйста, оформляйте свои посты так, чтобы ваши портянки кода и выхлопа IDE были в свёрнутом виде, уважайте других посетителей форума. Не всем хочется читать/листать километры текста.

Пример:
 

// IMPORTANT: Adafruit_TFTLCD LIBRARY MUST BE SPECIFICALLY
// CONFIGURED FOR EITHER THE TFT SHIELD OR THE BREAKOUT BOARD.
// SEE RELEVANT COMMENTS IN Adafruit_TFTLCD.h FOR SETUP.

#include // Core graphics library
#include // Hardware-specific library

// The control pins for the LCD can be assigned to any digital or
// analog pins...but we'll use the analog pins as this allows us to
// double up the pins with the touch screen (see the TFT paint example).
#define LCD_CS A3 // Chip Select goes to Analog 3
#define LCD_CD A2 // Command/Data goes to Analog 2
#define LCD_WR A1 // LCD Write goes to Analog 1
#define LCD_RD A0 // LCD Read goes to Analog 0

#define LCD_RESET A4 // Can alternately just connect to Arduino's reset pin

// When using the BREAKOUT BOARD only, use these 8 data lines to the LCD:
// For the Arduino Uno, Duemilanove, Diecimila, etc.:
// D0 connects to digital pin 8 (Notice these are
// D1 connects to digital pin 9 NOT in order!)
// D2 connects to digital pin 2
// D3 connects to digital pin 3
// D4 connects to digital pin 4
// D5 connects to digital pin 5
// D6 connects to digital pin 6
// D7 connects to digital pin 7
// For the Arduino Mega, use digital pins 22 through 29
// (on the 2-row header at the end of the board).

// Assign human-readable names to some common 16-bit color values:
#define BLACK 0x0000
#define BLUE 0x001F
#define RED 0xF800
#define GREEN 0x07E0
#define CYAN 0x07FF
#define MAGENTA 0xF81F
#define YELLOW 0xFFE0
#define WHITE 0xFFFF

Adafruit_TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);
// If using the shield, all control and data lines are fixed, and
// a simpler declaration can optionally be used:
// Adafruit_TFTLCD tft;

void setup(void) {
Serial.begin(9600);
Serial.println(F("TFT LCD test"));

#ifdef USE_ADAFRUIT_SHIELD_PINOUT
Serial.println(F("Using Adafruit 2.8" TFT Arduino Shield Pinout"));
#else
Serial.println(F("Using Adafruit 2.8" TFT Breakout Board Pinout"));
#endif

Serial.print("TFT size is "); Serial.print(tft.width()); Serial.print("x"); Serial.println(tft.height());

tft.reset();

uint16_t identifier = 0x9341; //Need hardcode here (IC)

if(identifier == 0x9325) {
Serial.println(F("Found ILI9325 LCD driver"));
} else if(identifier == 0x9328) {
Serial.println(F("Found ILI9328 LCD driver"));
} else if(identifier == 0x7575) {
Serial.println(F("Found HX8347G LCD driver"));
} else if(identifier == 0x9341) {
Serial.println(F("Found ILI9341 LCD driver"));
} else if(identifier == 0x8357) {
Serial.println(F("Found HX8357D LCD driver"));
} else {
Serial.print(F("Unknown LCD driver chip: "));
Serial.println(identifier, HEX);
Serial.println(F("If using the Adafruit 2.8" TFT Arduino shield, the line:"));
Serial.println(F(" #define USE_ADAFRUIT_SHIELD_PINOUT"));
Serial.println(F("should appear in the library header (Adafruit_TFT.h)."));
Serial.println(F("If using the breakout board, it should NOT be #defined!"));
Serial.println(F("Also if using the breakout, double-check that all wiring"));
Serial.println(F("matches the tutorial."));
return;
}

tft.begin(identifier);

Serial.println(F("Benchmark Time (microseconds)"));

Serial.print(F("Screen fill "));
Serial.println(testFillScreen());
delay(500);

Serial.print(F("Text "));
Serial.println(testText());
delay(3000);

Serial.print(F("Lines "));
Serial.println(testLines(CYAN));
delay(500);

Serial.print(F("Horiz/Vert Lines "));
Serial.println(testFastLines(RED, BLUE));
delay(500);

Serial.print(F("Rectangles (outline) "));
Serial.println(testRects(GREEN));
delay(500);

Serial.print(F("Rectangles (filled) "));
Serial.println(testFilledRects(YELLOW, MAGENTA));
delay(500);

Serial.print(F("Circles (filled) "));
Serial.println(testFilledCircles(10, MAGENTA));

Serial.print(F("Circles (outline) "));
Serial.println(testCircles(10, WHITE));
delay(500);

Serial.print(F("Triangles (outline) "));
Serial.println(testTriangles());
delay(500);

Serial.print(F("Triangles (filled) "));
Serial.println(testFilledTriangles());
delay(500);

Serial.print(F("Rounded rects (outline) "));
Serial.println(testRoundRects());
delay(500);

Serial.print(F("Rounded rects (filled) "));
Serial.println(testFilledRoundRects());
delay(500);

Serial.println(F("Done!"));
}

void loop(void) {
for(uint8_t rotation=0; rotation<4; rotation++) {
tft.setRotation(rotation);
testText();
delay(2000);
}
}

unsigned long testFillScreen() {
unsigned long start = micros();
tft.fillScreen(BLACK);
tft.fillScreen(RED);
tft.fillScreen(GREEN);
tft.fillScreen(BLUE);
tft.fillScreen(BLACK);
return micros() - start;
}

unsigned long testText() {
tft.fillScreen(BLACK);
unsigned long start = micros();
tft.setCursor(0, 0);
tft.setTextColor(WHITE); tft.setTextSize(1);
tft.println("Hello World!");
tft.setTextColor(YELLOW); tft.setTextSize(2);
tft.println(1234.56);
tft.setTextColor(RED); tft.setTextSize(3);
tft.println(0xDEADBEEF, HEX);
tft.println();
tft.setTextColor(GREEN);
tft.setTextSize(5);
tft.println("Groop");
tft.setTextSize(2);
tft.println("I implore thee,");
tft.setTextSize(1);
tft.println("my foonting turlingdromes.");
tft.println("And hooptiously drangle me");
tft.println("with crinkly bindlewurdles,");
tft.println("Or I will rend thee");
tft.println("in the gobberwarts");
tft.println("with my blurglecruncheon,");
tft.println("see if I don't!");
return micros() - start;
}

unsigned long testLines(uint16_t color) {
unsigned long start, t;
int x1, y1, x2, y2,
w = tft.width(),
h = tft.height();

tft.fillScreen(BLACK);

x1 = y1 = 0;
y2 = h - 1;
start = micros();
for(x2=0; x2 x2 = w - 1;
for(y2=0; y2 t = micros() - start; // fillScreen doesn't count against timing

tft.fillScreen(BLACK);

x1 = w - 1;
y1 = 0;
y2 = h - 1;
start = micros();
for(x2=0; x2 x2 = 0;
for(y2=0; y2 t += micros() - start;

tft.fillScreen(BLACK);

x1 = 0;
y1 = h - 1;
y2 = 0;
start = micros();
for(x2=0; x2 x2 = w - 1;
for(y2=0; y2 t += micros() - start;

tft.fillScreen(BLACK);

x1 = w - 1;
y1 = h - 1;
y2 = 0;
start = micros();
for(x2=0; x2 x2 = 0;
for(y2=0; y2

return micros() - start;
}

unsigned long testFastLines(uint16_t color1, uint16_t color2) {
unsigned long start;
int x, y, w = tft.width(), h = tft.height();

tft.fillScreen(BLACK);
start = micros();
for(y=0; y for(x=0; x

return micros() - start;
}

unsigned long testRects(uint16_t color) {
unsigned long start;
int n, i, i2,
cx = tft.width() / 2,
cy = tft.height() / 2;

tft.fillScreen(BLACK);
n = min(tft.width(), tft.height());
start = micros();
for(i=2; i i2 = i / 2;
tft.drawRect(cx-i2, cy-i2, i, i, color);
}

return micros() - start;
}

unsigned long testFilledRects(uint16_t color1, uint16_t color2) {
unsigned long start, t = 0;
int n, i, i2,
cx = tft.width() / 2 - 1,
cy = tft.height() / 2 - 1;

tft.fillScreen(BLACK);
n = min(tft.width(), tft.height());
for(i=n; i>0; i-=6) {
i2 = i / 2;
start = micros();
tft.fillRect(cx-i2, cy-i2, i, i, color1);
t += micros() - start;
// Outlines are not included in timing results
tft.drawRect(cx-i2, cy-i2, i, i, color2);
}

return t;
}

unsigned long testFilledCircles(uint8_t radius, uint16_t color) {
unsigned long start;
int x, y, w = tft.width(), h = tft.height(), r2 = radius * 2;

tft.fillScreen(BLACK);
start = micros();
for(x=radius; x for(y=radius; y tft.fillCircle(x, y, radius, color);
}
}

return micros() - start;
}

unsigned long testCircles(uint8_t radius, uint16_t color) {
unsigned long start;
int x, y, r2 = radius * 2,
w = tft.width() + radius,
h = tft.height() + radius;

// Screen is not cleared for this one -- this is
// intentional and does not affect the reported time.
start = micros();
for(x=0; x for(y=0; y tft.drawCircle(x, y, radius, color);
}
}

return micros() - start;
}

unsigned long testTriangles() {
unsigned long start;
int n, i, cx = tft.width() / 2 - 1,
cy = tft.height() / 2 - 1;

tft.fillScreen(BLACK);
n = min(cx, cy);
start = micros();
for(i=0; i tft.drawTriangle(
cx , cy - i, // peak
cx - i, cy + i, // bottom left
cx + i, cy + i, // bottom right
tft.color565(0, 0, i));
}

return micros() - start;
}

unsigned long testFilledTriangles() {
unsigned long start, t = 0;
int i, cx = tft.width() / 2 - 1,
cy = tft.height() / 2 - 1;

tft.fillScreen(BLACK);
start = micros();
for(i=min(cx,cy); i>10; i-=5) {
start = micros();
tft.fillTriangle(cx, cy - i, cx - i, cy + i, cx + i, cy + i,
tft.color565(0, i, i));
t += micros() - start;
tft.drawTriangle(cx, cy - i, cx - i, cy + i, cx + i, cy + i,
tft.color565(i, i, 0));
}

return t;
}

unsigned long testRoundRects() {
unsigned long start;
int w, i, i2,
cx = tft.width() / 2 - 1,
cy = tft.height() / 2 - 1;

tft.fillScreen(BLACK);
w = min(tft.width(), tft.height());
start = micros();
for(i=0; i i2 = i / 2;
tft.drawRoundRect(cx-i2, cy-i2, i, i, i/8, tft.color565(i, 0, 0));
}

return micros() - start;
}

unsigned long testFilledRoundRects() {
unsigned long start;
int i, i2,
cx = tft.width() / 2 - 1,
cy = tft.height() / 2 - 1;

tft.fillScreen(BLACK);
start = micros();
for(i=min(tft.width(), tft.height()); i>20; i-=6) {
i2 = i / 2;
tft.fillRoundRect(cx-i2, cy-i2, i, i, i/8, tft.color565(0, i, 0));
}

return micros() - start;
}

А делается это так:
Жмёте сюда
Переходите на вкладку "Дополнительно" и ставите галку:
Удачи!

spazmalgon
Offline
Зарегистрирован: 22.08.2020

Расписали, как вставлять "портянки". Спасибо. А то и самому было противно
за такие объёмные посты. Вставить code я делал, но вот галочку "Свернуть ....."
не знал. Учту. Ещё бы узнать как вставлять фото?

nadim
Offline
Зарегистрирован: 04.11.2017

SinglWolf пишет:

nadim пишет:

Всем привет.
 
Почти собрал свой проект - на завершающей стадии. Это музыкальный центр на основе проектов:
.....
Аудиопроцессор - TDA7719 - 6 входов - два я задействовал для карадио и блютуз, два вывел для телевизора и компьютера, еще осталось два в запасе.
....
ШЕСТЬ стерео входов? o_O
 
Как из ЧЕТЫРЁХ сделать ШЕСТЬ?
Схему и фрагмент кода переключения на ПЯТЫЙ и ШЕСТОЙ вход в студию, пожалуйста!!!

Я не в курсе как это сделано, только могу повторить. Посмотрите у автора на сайте. 

github.com

radiokot

 

nva
nva аватар
Offline
Зарегистрирован: 19.04.2019

nadim пишет:

SinglWolf пишет:

nadim пишет:

Всем привет.
 
Почти собрал свой проект - на завершающей стадии. Это музыкальный центр на основе проектов:
.....
Аудиопроцессор - TDA7719 - 6 входов - два я задействовал для карадио и блютуз, два вывел для телевизора и компьютера, еще осталось два в запасе.
....
ШЕСТЬ стерео входов? o_O
 
Как из ЧЕТЫРЁХ сделать ШЕСТЬ?
Схему и фрагмент кода переключения на ПЯТЫЙ и ШЕСТОЙ вход в студию, пожалуйста!!!

Я не в курсе как это сделано, только могу повторить. Посмотрите у автора на сайте. 

github.com

radiokot

 

В даташите на мс табличка 6 - там все варианты как и на сколько входов 7719 можно конфигурировать. Смотрим CFG2 -как раз 6 входов... И для карадио с 1053 подходит лучше всего квазидифференциальный вход IN2(QD3L,QD3G,QD3R) в этом случае. Где то встречал такой вариант схемы. 

Посмотрел код автора, что мы там и имеем- #define TDA7719_INPUT_CFG           TDA7719_INPUT_CFG2

Но в схеме там на IN2 там не совсем квазидиффвход. Под вопросом R1 0 Ом - а нужна ли? С13 для развязки присутствует.

 
SinglWolf
SinglWolf аватар
Offline
Зарегистрирован: 15.12.2019

nva пишет:
В даташите на мс табличка 6 - там все варианты как и на сколько входов 7719 можно конфигурировать. Смотрим CFG2 -как раз 6 входов... И для карадио с 1053 подходит лучше всего квазидифференциальный вход IN2(QD3L,QD3G,QD3R) в этом случае. Где то встречал такой вариант схемы. 

Посмотрел код автора, что мы там и имеем- #define TDA7719_INPUT_CFG           TDA7719_INPUT_CFG2

Но в схеме там на IN2 там не совсем квазидиффвход. Под вопросом R1 0 Ом - а нужна ли? С13 для развязки присутствует.

Ещё раз переспрошу. Вы уверены что это нормальных (с регулировкой тембра и всё такое) ШЕСТЬ СТЕРЕО входов?

Даташит я пересмотрел раз десять. Насчитал ПЯТЬ входов. Увидел, что пятый идёт в обход всех регулировок и дальше не вникал.

А на счёт четвёртого дифф-входа, как раз для VS10XX. Жаль, что раньше это мне не попалось, блин... 

nva
nva аватар
Offline
Зарегистрирован: 19.04.2019

SinglWolf пишет:

nva пишет:
В даташите на мс табличка 6 - там все варианты как и на сколько входов 7719 можно конфигурировать. Смотрим CFG2 -как раз 6 входов... И для карадио с 1053 подходит лучше всего квазидифференциальный вход IN2(QD3L,QD3G,QD3R) в этом случае. Где то встречал такой вариант схемы. 

Посмотрел код автора, что мы там и имеем- #define TDA7719_INPUT_CFG           TDA7719_INPUT_CFG2

Но в схеме там на IN2 там не совсем квазидиффвход. Под вопросом R1 0 Ом - а нужна ли? С13 для развязки присутствует.

Ещё раз переспрошу. Вы уверены что это нормальных (с регулировкой тембра и всё такое) ШЕСТЬ СТЕРЕО входов?

Даташит я пересмотрел раз десять. Насчитал ПЯТЬ входов. Увидел, что пятый идёт в обход всех регулировок и дальше не вникал.

А на счёт четвёртого дифф-входа, как раз для VS10XX. Жаль, что раньше это мне не попалось, блин... 

Вот получу мс и проверю... Пока это только даташит и изучение схем некоторых магнитол с использованием 7719 - для проверки соберу попроще https://rcl-radio.ru/?p=62993.

Пока по анализу схем автомагнитол(просто по работе у меня их есть...) могу сказать, что 6 вход используется как системный, т.е. для вывода всяких Beep при непристегнутых ремнях, парктроников и прочего.

SinglWolf
SinglWolf аватар
Offline
Зарегистрирован: 15.12.2019

spazmalgon пишет:
Расписали, как вставлять "портянки". Спасибо. А то и самому было противно за такие объёмные посты. Вставить code я делал, но вот галочку "Свернуть ....." не знал. Учту. Ещё бы узнать как вставлять фото?

Жмёте сюда:
Затем сюда:

Здесь, думаю, разберётесь сами:

После загрузки картинки нажмите "Insert file" и картинка будет в тексте.

nva пишет:
Вот получу мс и проверю... Пока это только даташит и изучение схем некоторых магнитол с использованием 7719 - для проверки соберу попроще https://rcl-radio.ru/?p=62993.

Поделитесь результатами? :-)
Что-то я тоже заинтересовался этим чипом... Лучшее - враг хорошего.

nva
nva аватар
Offline
Зарегистрирован: 19.04.2019

SinglWolf пишет:

nva пишет:
Вот получу мс и проверю... Пока это только даташит и изучение схем некоторых магнитол с использованием 7719 - для проверки соберу попроще https://rcl-radio.ru/?p=62993.

Поделитесь результатами? :-)
Что-то я тоже заинтересовался этим чипом... Лучшее - враг хорошего.

Может будет вариант у меня и мс поделиться... По работе заказана кучка всяких... не обещаю быстро, скорее всего к НГ ближе, для Радиолы не жалко!

maleksm
Offline
Зарегистрирован: 19.03.2019

SinglWolf пишет:
...

Что-то я тоже заинтересовался этим чипом... Лучшее - враг хорошего.


И я.

Просто безобразие какое-то.

Q100
Offline
Зарегистрирован: 18.02.2019

Подскажите при прошивке модуля TTGO T8 v1.7 Wrover

Я правильно понял описание, необходимо вместо стандартного файла настроек standard_adb.bin залить файл настроек ttgot8.bin как на фото?

https://ibb.co/CWdG8kz

conler
Offline
Зарегистрирован: 29.09.2012

Q100, ага

Q100
Offline
Зарегистрирован: 18.02.2019

conler пишет:

Q100, ага

спс. 

При использовании внутреннего DAC звук, точнее это что-то по качеству отдаленно напомнило звук радиоприемника маршрутного такси, проезжающего тоннель на скорости близкой к максимальной )

Я не планирую использовать внутренний DAC, просто уточнить хотел. Это у всех так или модуль попался бракованный?

conler
Offline
Зарегистрирован: 29.09.2012

Q100 пишет:
...Это у всех так или модуль попался бракованный?

Внутренний DAC восьмибитный - это отработка огибающей звукового сигнала всего лишь 255-ю уровнями. Принято, что для "настоящего" звука должно быть минимум 16 бит, это есть 65535 уровней отработки.

На 8 бит аудиокниги и новости можно слушать.

Q100
Offline
Зарегистрирован: 18.02.2019

Благодарю за развернутый ответ.

Теперь понятно, что эта функция (внутренний DAC) реализована чисто для (галочки) тестирования. 

 

 

conler
Offline
Зарегистрирован: 29.09.2012

Q100 пишет:
...реализована чисто для (галочки)...

Возможно не совсем так, скорее это нецелевое использование устройства изначально заточенного под иные задачи.

Q100
Offline
Зарегистрирован: 18.02.2019

Отписываюсь для общей статистики по использованию различных модулей. Модули и платы ЦАП покупались давно, для других задач.

Тестировал в следующей конфигурации:

1. Модуль TTGO T-Display (135x240) ESP32 CP2104 с обычной антенной, слот карты, контроллер питания 

(БЕЗ экрана, пришел с треснутым экраном). Прошит стандартным конфигом

 - > I2S - > DAC PCM5102а популярная желтая плата с spdif. Заявлено максимум 32бит и частотой дискретизации до 384 кГц питание 5 В от esp модуля

 - >  Усилитель AB класса TDA7297 2х15Вт - > Полочники 3 полосные AIWA 

Играет MP3 потоки очень и очень неплохо 128-320kbps. Разница заметна на слух. 

AAC не играет 

Работает стабильно, без обрывов и заиканий, всего 1-2 зависания в течении 3 часов при практически постоянном переключении загруженного незнакомого мне плейлиста.

2. Модуль TTGO T8 ESP32 WROVER 4мб с 3D антенной. Прошит готовым ttgot8 конфигом

 - > I2S - > DAC PCM5102а популярная желтая плата с spdif. Заявлено максимум 32бит и частотой дискретизации до 384 кГц питание 5 В от esp модуля

 - >  Усилитель AB класса TDA7297 2х15Вт - > Полочники 3 полосные AIWA 

Играет MP3 потоки неплохо 128-320kbps. Разница заметна на слух. 

AAC играет все. Отвратительно. Как будто поверх наложен равномерный пердЁж

Работает НЕстабильно, 1-2 зависания в течении 15 (!) минут при практически постоянном переключении загруженного незнакомого мне плейлиста.

Сигнал антенны такойже или хуже в равном удалении от роутера. 

Интересно, проблема с ЦАП на PCM5102а или сам модуль Wrover проблемный?

ПС. Вечером еще протестирую с ЦАПом на es9018k2m

conler
Offline
Зарегистрирован: 29.09.2012

Q100 пишет:

Отписываюсь ...

Спасибо за обзор, важно и интересно. Про ААС без vs1053 "тут" забудь

:) TDA7297, у меня такой в парилке стоит! Хорош и крепок этот братец!

PCM5102 в китайских платах очень плохо и неправильно разведен. Для хорошего звука нужно всё рисовать заново и играет не всё (но очень и очень хорошо!). Просто забудь, делай на vs1053.

...Тут есть человек создавший "конфету" из мыла темы. Это Пыльников Александр. Ничего круче его боарда в этой теме я не видел, он большой Умница! (мнение скромного спившегося таганрогского радиоинженера, убежавшего от Мира в тайгу на дачу :) ) 

DIMITRIY
Offline
Зарегистрирован: 04.09.2020

Уважаемый Q100! Являюсь "счастливым" обладателем модуля TTGO T-Display (135x240) ESP32 CP2104 .У меня на нем экран рабочий. Никак не могу найти прошивки что бы завести его(после любой прошивки экран не работает) Может у Вас есть рабочая прошивка для него? Если нет то можете подсказать как вы запустили свою связку? может как то можно подключить к модулю другой рабочий экран (такой например стандартный https://aliexpress.ru/item/32828425736.html?spm=a2g0s.9042311.0.0.adba33edmrFN5d&_ga=2.118910528.832650742.1599656291-93834379.1581608116&_gac=1.219471211.1598202627.Cj0KCQjwp4j6BRCRARIsAGq4yMGpJllDY1pUUzMqUaMBKWC3AOwTr3qRrJ0Sb5NugO3JZUqMks4llGoaAnA2EALw_wcB)и запустить? Раскажите пожалуйста как вы запустили свою связку с этим модулем.

И еще один вопрос. Как отключить посылку уведомлений от этого форума на эл.почту?(Уже и в личном кабинете отключил,и внизу страницы,но все равно приходят((

 

EagleB3
Offline
Зарегистрирован: 12.04.2020

Q100 пишет:
Тестировал в следующей конфигурации
А подключение к периферии... Эээ... В равных условиях?

Для примера: Чистовая сборка магнитолы, "ничего не делал, только вошел! Обидно..." (с) - добавил две кнопки на BTN_1 (переключение каналов) к трем (vol-, vol+, start/stop), которые уже сидят на BTN_0. Добавились пара более длинных проводов и удлинились примерно на 20см Vin и DGnd к дальним кнопкам. И соединение с роутером РЕЗКО ухудшилось. Если сначала включить, чтобы сконнектился, и потом подключить шлейф кнопок - то дальше работает нормально.

Q100
Offline
Зарегистрирован: 18.02.2019

conler пишет:

 Про ААС без vs1053 "тут" забудь

Вроде как главным условием проигрывания AAC было наличие модификации Wrover ... Вроде народ тут заводил и без vs1053 

conler пишет:

:) TDA7297, у меня такой в парилке стоит! Хорош и крепок этот братец!

:) До этого вообще не имел дел с АВ, самое место ему в парилке. Но играет бодро )

В поделку поставлю 3110, иначе расплавится все

conler пишет:

Тут есть человек создавший "конфету" из мыла темы. Это Пыльников Александр. Ничего круче его боарда в этой теме я не видел, он большой Умница! 

Спасибо, посмотрю

Q100
Offline
Зарегистрирован: 18.02.2019

DIMITRIY пишет:

Никак не могу найти прошивки что бы завести его(после любой прошивки экран не работает) Может у Вас есть рабочая прошивка для него? 

Прошивки на модуль TTGO T-Display пока нет, нестандартное разрешение экрана.

Но сам модуль отлично работает на стандартной конфигурации ESP32

DIMITRIY пишет:

может как то можно подключить к модулю другой рабочий экран (такой например стандартный 

Стандартный экран I2C подключить, думаю, не проблема. Размер только нужно брать чуть побольше )))

Q100
Offline
Зарегистрирован: 18.02.2019

EagleB3 пишет:

Q100 пишет:
Тестировал в следующей конфигурации
А подключение к периферии... Эээ... В равных условиях?

Подключал теже самые провода, в теже самые пины, ничего не добавлял и не убирал. 

Q100
Offline
Зарегистрирован: 18.02.2019

Протестировал, как и обещал, работоспособность данных модулей с ЦАПом на es9018k2m 32bit 384K/DSD64 128

Покупался по  для поделки на Малинке. Лежал без дела больше года, ничего не менялось кроме ОУ (вместо JRC 5532  поставлен opa2134). Фото прилагаю. 

ЦАП es9018k2m дает немного другой окрас звука, по сравнению с PCM5102a. Мне больше понравился как играет с наушниками.

Плата достаточно странная не хотела заводится, пока не переключил в настройках Karadio на MERUS. Кто знает что это такое?

Конфигурации теже (см. Выше)

Загружаются практически мгновенно. Играют MP3 потоки ровно и неплохо 128-320kbps. Разница заметна на слух. 

с AAC ситуация аналогичная:

TTGO T-Display ESP32  aac не играет

TTGO T8 ESP32 WROVER 4мб играет AAC с треском. Слушать нельзя.  Возможно, будет работать в связке с vs1053

 

 

Deniskyn
Offline
Зарегистрирован: 13.04.2019

Господа, напомните пожалуйста что поправить в конфиге с 1 энкодером который переключает станции что бы при нажатии и удержании регулировать громкость. И как при бездействии через время выводить на дисплей часы.

pilnikov
pilnikov аватар
Offline
Зарегистрирован: 28.08.2015

Deniskyn пишет:

Господа, напомните пожалуйста что поправить в конфиге с 1 энкодером который переключает станции что бы при нажатии и удержании регулировать громкость. И как при бездействии через время выводить на дисплей часы.

В конфиг файле прописываете энкодер как P_ENC1
Двойное нажатие на шток энкодера переключает режимы "часы" "инфо" 

pilnikov
pilnikov аватар
Offline
Зарегистрирован: 28.08.2015

Крайний релиз. Найдите 10 отличий.
 

толстый
Offline
Зарегистрирован: 10.02.2020

1. Перешли на меньший типоразмер элементов(0402)

2. Переразвели топологию(не влезали новые, уменьшили шумы)

3.Заменили дисплей(IPS?) Как вариант добавили выбор I2C или SPI.

4. Добавили разъём отладки(возможно программирование по SPI)

5. Добавили разъём для программирования по Uart(лень паять/отсутствует/не работает CP1204)

6.Отключение картридера(при использовании дисплея с SPI) 

7. Перемычки по питанию для VS.(выбор питания или удобство настройки) 

До 10 отличий не дотянул, но согласен и на половину выигрыша. Где забирать? :)

 

DM86
Offline
Зарегистрирован: 11.09.2020

Доброго времени суток. Я новичок, собрал сначала минимальный проект на esp8266, все работает, но вот с дисплеем 1602 не выходит. Зашил скетч в arduino pro mini под этот дисплей, соединил между esp и arduino как по картинке указанным способом при соединении для дисплея от нокии, далее от ардуино до 1602, как указано для этого дисплея. То есть, как понимаю соединение до ардуино будет для всех дисплеев одинаково, а от ардуино уже конкретно для каждого дисплея. Диплей вначале включения показывает сплошные светящиеся сегменты, далее движется по экрану последовательность из таких же сегментов. Соответственно, либо неверно подключил (проверял несколько раз), либо выбрана неверная скорость передачи данных или залил прошивку не подходящую для этого дисплея (скачивая именно для этого дисплея без i2c). Помогите пожалуйста разобраться, дисплей охото использовать именно этот. Извиняюсь за качество пайки, станция на работе, а дома только топор нашелся)))

 

работа при приеме станции

при включении

SinglWolf
SinglWolf аватар
Offline
Зарегистрирован: 15.12.2019

DM86 пишет:

Доброго времени суток. Я новичок, собрал сначала минимальный проект на esp8266, все работает, но вот с дисплеем 1602 не выходит. Зашил скетч в arduino pro mini под этот дисплей, соединил между esp и arduino как по картинке указанным способом при соединении для дисплея от нокии, далее от ардуино до 1602, как указано для этого дисплея. То есть, как понимаю соединение до ардуино будет для всех дисплеев одинаково, а от ардуино уже конкретно для каждого дисплея. Диплей вначале включения показывает сплошные светящиеся сегменты, далее движется по экрану последовательность из таких же сегментов. Соответственно, либо неверно подключил (проверял несколько раз), либо выбрана неверная скорость передачи данных или залил прошивку не подходящую для этого дисплея (скачивая именно для этого дисплея без i2c). Помогите пожалуйста разобраться, дисплей охото использовать именно этот. Извиняюсь за качество пайки, станция на работе, а дома только топор нашелся)))


Для начала правильно подключите дисплей

толстый
Offline
Зарегистрирован: 10.02.2020

To DM86: Проектов на esp8266 много, а я у мамы один. А,не, не то. Проектов на esp8266 много, а какой Вы используете можно только догадываться. Рекомендуется в теле сообшения указывать полное название. Заодно можно выложить ссылку на залитый скетч.

Предположил что речь о КаRadio. Там два скетча: с "old" и без. Так у них отличаются пины подключения дисплея.(указано в начале скетча). При правильном подключении и правильной контрастности появляется заставка KARAWIN ... даже без подключения к ESP. При неправильной контрастности  либо пусто либо полностью залитые чёрные прямоугольники. Ориентируйтесь на это, потом уже будете подбирать скорость обмена(у меня на карадио32 ни на 9600 ни на 115200 инфа не выводилась)

To Pilnikov: А ещё выключатель питания перевернули :)

толстый
Offline
Зарегистрирован: 10.02.2020

To DM86: Подключите подсветку дисплея - будет нагляднее. 

Если питаете ардуинку от 5 вольт, заводите питание не на RAW а на VCC. Убедитесь что на дисплее есть 5 вольт, при меньшем имеет право не работать.

DM86
Offline
Зарегистрирован: 11.09.2020

толстый пишет:

To DM86: Подключите подсветку дисплея - будет нагляднее. 

Если питаете ардуинку от 5 вольт, заводите питание не на RAW а на VCC. Убедитесь что на дисплее есть 5 вольт, при меньшем имеет право не работать.

Разобрался, залез в скетч и посмотрел что и куда, нашел ошибку. Теперь появляется надпись при старте, далее пустой экран...

Версия прошивки для ардуино Karadiolcd16x2.ino Edited by Paul Sijben May 2018.

для esp8266: Karadio v1.7

Далее подбирать скорость передачи?

DM86
Offline
Зарегистрирован: 11.09.2020

толстый пишет:

To DM86: Подключите подсветку дисплея - будет нагляднее. 

Если питаете ардуинку от 5 вольт, заводите питание не на RAW а на VCC. Убедитесь что на дисплее есть 5 вольт, при меньшем имеет право не работать.

Разобрался, залез в скетч и посмотрел что и куда, нашел ошибку. Теперь появляется надпись при старте, далее пустой экран...

Версия прошивки для ардуино Karadiolcd16x2.ino Edited by Paul Sijben May 2018.

для esp8266: Karadio v1.7

Далее подбирать скорость передачи?

толстый
Offline
Зарегистрирован: 10.02.2020

"На этом наши полномочия всё"(с)

Как я уже писал, у меня на Карадио32 не заработала(хотя скорость обмена там похоже 115200 бод) Либо перебор и чтение интернета или ждать Гуру. Имхо у этого аддон(судя по гиту и ютюбу) ноги растут от Pilnikov.

DM86
Offline
Зарегистрирован: 11.09.2020

толстый пишет:

"На этом наши полномочия всё"(с)

Как я уже писал, у меня на Карадио32 не заработала(хотя скорость обмена там похоже 115200 бод) Либо перебор и чтение интернета или ждать Гуру. Имхо у этого аддон(судя по гиту и ютюбу) ноги растут от Pilnikov.

Не подскакжите с какими дисплеями этот проект оптимизирован? или лучше собрать что то иное?

толстый
Offline
Зарегистрирован: 10.02.2020

Этот это какой? В любом случае на гитхабе есть перечень всех доступных дисплеев. По сборке советовать дело неблагодарное. Читайте отзывы, прикидивайте свой скилл рукоблудия и программирования и/или количества финансов и действуйте.

pilnikov
pilnikov аватар
Offline
Зарегистрирован: 28.08.2015

в скече аддона 

// constants
const int  BAUD            = 19200;  // use the telnet interface on the esp32 to set the baudrate there sys.uart("19200")

т.е у вас и на есп должна быть эта же скорость.

Вы монитор порта ардуинский запустите для есп и посмотрите на какой скорости она,есп, "разговаривает". Если не 19200, то прямо в мониторе наберите: sys.uart("19200"). После этого перезагрузите есп и убедитесь, что скорость уарта стала 19200. Проверяйте связь с ардуиной. Можно вместо монитора порта воспользоваться классной прогой tcESP https://drive.google.com/drive/folders/1UBuUA2kHhiAXmC4pm2ZDWdDUo8mRtzto В ней сразу даете команду sys.uart("19200") и далее по тексту.

толстый
Offline
Зарегистрирован: 10.02.2020

Прикольно. Т.к. в ESP уже была скорость 115200, то я просто в ардуинку прописал тоже число. По итогу тишина. Сделал и там и там 19200 - заработало. Магия прям, ну или слишком длинный провод :)  А шрифт то каков? А размер то? Это вам не олед 0.96 :) . Для сравнения рядом TFT 2.4 " 

DM86
Offline
Зарегистрирован: 11.09.2020

[quote=толстый]

Прикольно. Т.к. в ESP уже была скорость 115200, то я просто в ардуинку прописал тоже число. По итогу тишина. Сделал и там и там 19200 - заработало. Магия прям, ну или слишком длинный провод :)  А шрифт то каков? А размер то? Это вам не олед 0.96 :) . Для сравнения рядом TFT 2.4 " 

[/quote

Можете подсказать на каком проекте у вас вышло? Установил на есп скорость 19200, проверил - установлена. Указал в скетче на ардуине ту же скорость, и никак, после заставки пишет IP: и тишина...

толстый
Offline
Зарегистрирован: 10.02.2020

Я уже дважды писал на последней станице что у меня Карадио32.

В Вашем сообщении  8635 у указанного скетча скорость 19200 стоит по умолчанию, её не надо менять. Если пришлось менять и есть текст "IP" крупными буквами(там скорость вроде 28800), то это версия OLD. 

DM86
Offline
Зарегистрирован: 11.09.2020

толстый пишет:

Я уже дважды писал на последней станице что у меня Карадио32.

В Вашем сообщении  8635 у указанного скетча скорость 19200 стоит по умолчанию, её не надо менять. Если пришлось менять и есть текст "IP" крупными буквами(там скорость вроде 28800), то это версия OLD. 

Понял, извиняюсь за неудобства, просто у людей по нескольку их бывает....

Заказал 32ю, буду пробовать снова как придет.

Нет, там исправил на 19200, и прошивки другие пробовал, бесполезно.

толстый
Offline
Зарегистрирован: 10.02.2020

Заказывать ESP32 минимум за 5$ ради работы с дисплеем за бакс - ну так себе идея. 

Походу Вы шили из вложенного архива. Шейте внешний файл karadiolcd16x2.ino(там скорость стоит по умолчанию 19200, ориентируйтесь на это)  , предварительно удалив из папки karadiolcd16x2old.ino (иначе не скомпилируется) 

Но может ещё проблема в соединении или версии для ESP8266.

DM86
Offline
Зарегистрирован: 11.09.2020

толстый пишет:

(иначе не скомпилируется) 

Все указанные файлы скачал и поместил в одну папку которую ардуино сама и создала, при попытке компиляции, вот такая ошибка, не сталкивались?

толстый
Offline
Зарегистрирован: 10.02.2020

Таких словей я не знаю и никогда не видел.

А что мешает действовать по написанному мною плану? 

Если уж решили делать по своему, то из трёх указанных мною файлов в свежесозданной папке karadiolcd16x2 должен быть только karadiolcd16x2.ino плюс  файл  karadioutils.ino. Т.е. всего два файла.

Если IDE старше 1.8.5 и добавлена библиотека LiquidCrystal в папку libraries, то все должно компилироваться.

Чуть в сторону: Попробовал использовать вариант с I2С. Скачанный с гита отказвывется компилироваться(какая-то неправильная инициализация дисплея). Похоже стандартная либа с IIC  не подходит. Переделал скетч для 4-битной шины -спокойно завелся. Смысл в попытке использовать китайский LCD2004 с припаянным конвертером. А то 1602 с двумя строками явно маловато будет. Хотелось добавить название станции и разделить по строкам автора и название песни. С наскоку не вышло, уж очень замудрёный там вывод строк. В общем сдался.

DM86
Offline
Зарегистрирован: 11.09.2020

толстый пишет:

А что мешает действовать по написанному мною плану? 

все в точности как указали сделал. Никаких результатов, программу обновил до последней версии и библы тоже.

Прихожу к выводу что не предназначена эта есп8266 для дисплея и все))))

А как переделали? Надо прописать в программе использование для остальных строк...?

У меня есть один флуорисцентный дисплей от самсунг 20t202da1j, очень красиво он больно выглядит. Так вот идея была его изначально воткнуть, но туда еще надо приделать переходник на i2c или так пробовать без. Где то читал что дисплей 44780 совместим с ним и люди спокойно подключали к ардуино, есть фото и тд... Библиотеки вроде тоже имеются в доступе. Но у меня то с 1602 не вышло))) А про самсунг... Вообщем дождусь 32й платы и попробую хоть сначала с 1602. А так в идеале идея тюнера который как компонент системы с указанным дисплеем не покидает разум)))

 

толстый
Offline
Зарегистрирован: 10.02.2020

Нескромный вопрос, а карадио у Вас вообще  работает? Звук то есть? Может оно тупо не запускается и выводить то нечего. Стандартными дисплеями, я так понял, проверить не выйдет?  Короче: лог ESP в студию(с)

pilnikov
pilnikov аватар
Offline
Зарегистрирован: 28.08.2015

Такая получилась конструкция в сборе. Усилитель управляется сигналом светодиода "Status" + гаснет при подключении ушей. От лития тоже работает. Шумов стало на порядок меньше. Пока не припаял дисплей - вообще было не понятно: стартует или нет - резко начинало играть при подключении к станции. 

DM86
Offline
Зарегистрирован: 11.09.2020

pilnikov пишет:

Классно вышло!