В схеме KaRadio32 указано что к шине SPI подключаются контакты: LCD_CS LCD_RESET LCD_AO MOSI SCK LCD_LED. Может имеется возможность подключения вышеуказанного дисплея к KaRadio32?
Вы напишите, что за дисплей Вы купили. Какой на нем контроллер. Ссылку на товар. Дальше надо искать даташит на Ваш дисплей, а если не найдется - на контроллер.
Но, думаю, что ответ - "нельзя". Или "не имеет смысла" - потому, что придется или много чего дописывать, или добавлять какой-то модуль сопряжения = время/деньги...
В схеме KaRadio32 указано что к шине SPI подключаются контакты: LCD_CS LCD_RESET LCD_AO MOSI SCK LCD_LED. Может имеется возможность подключения вышеуказанного дисплея к KaRadio32?
Вы напишите, что за дисплей Вы купили. Какой на нем контроллер. Ссылку на товар. Дальше надо искать даташит на Ваш дисплей, а если не найдется - на контроллер.
Но, думаю, что ответ - "нельзя". Или "не имеет смысла" - потому, что придется или много чего дописывать, или добавлять какой-то модуль сопряжения = время/деньги...
Был куплен дисплей "Сенсорный дисплей Arduino TFT 2.4" LCD" . В отношении контроллера "Контроллер сенсорной панели SPFD5408 со встроенным кадровым буфером" Ссылки на фото товара (продавец, у которого брал товар, не выложил актуальных фото товара, так что пришлось брать фото на другом ресурсе) Это не реклама, так что прошу не удалять https://prom.ua/p996712921-displej-tft-240320.html (Не получается вставить фото в сообщение) Сильно не пинайте, я из категории "тестеров" да и то - начинающий. Даташит на дисплей и на контроллер - искал, но для меня это такой дремучий лес. Вот и прошу о помощи.
1. Этот контроллер в КаРадио32 не поддерживается. Плюс интересный факт. Есть у меня такой же дисплей с заявленным китайцем таким же контроллером. По итогу "унутре у ней" стоит R61526A.
2. Даже если там окажется ILI9341(что крайне маловероятно), для перевода из 8бит параллельного режима работы хотя бы в SPI(I2C не каждый дисплей поддерживает) придётся отдирать дисплей, где-то отрезать, где-то добавить, а там усё мелкое и очень нежное.
3. У этих дисплеев частенько инвертирован тач, что добавит Вам -"тестеру" дополнительного геморроя с самостоятельной компиляцией проекта. А это удалось, судя по ветке, очень немногим -пересчитать можно по пальцам руки(причём плохого токаря).
Моя "помощь": приобрести дисплей на шине I2C или SPI из списка поддерживаемых проэктом.
1. Этот контроллер в КаРадио32 не поддерживается. ...... придётся отдирать дисплей, где-то отрезать, где-то добавить, а там усё мелкое и очень нежное. 3. .....что добавит Вам -"тестеру" дополнительного геморроя с самостоятельной компиляцией проекта. А это удалось, судя по ветке, очень немногим -пересчитать можно по пальцам руки(причём плохого токаря). Моя "помощь": приобрести дисплей на шине I2C или SPI из списка поддерживаемых проэктом.
Понял, что приобрёл дисплей не понимая что не все дисплеи поддерживаются проектом КаРадио32. Итал документацию и не придал внимания разделу, указанному в руководстве к КаРадио32. Я всего лишь "тестер", и компиляция проекта - для меня очень "дремучий лес". О том что прийдёться приобретать другой дисплей - понял. Вот перебирал (на основании перечня у КаРадио32) дисплеи, выставляемые интернет магазинами. Попутно, два вопроса.
1. При работе WiFi Radio, какая информация выводится на дисплей. Если не затруднит, кто нибуть выложите фото.
2. А подойдёт ли к проэкту, дисплей линейки Nextion? Есть ли где скетч КаРадио32 с управлением радио через тачскрин дисплея?
1. Этот контроллер в КаРадио32 не поддерживается. ...... .
1. При работе WiFi Radio, какая информация выводится на дисплей. Если не затруднит, кто нибуть выложите фото.
Дисплей SPI 4" 320x480 драйвер st7796s (ILI9488) . Проект КаРадио32 такой дисплей не поддерживает. Подключён к проекту Edzelf ESP32 radio, который тоже его на прямую не поддерживал, поэтому пришлось поизголяться над прошивкой, чтобы подключить дисплей. В проекте Edzelf ESP32 всё написано в Arduino IDE, а для меня это привычнее. Вывод информации русифицировал, и немного изменил, сделал под свои нужды.
Два месяца назад, автор Edzelf ESP32 выложил обновление прошивки, добавил к радио визуализатор спектра.
У карадива GUI так себе. Смысла брать большой-дорогой дисплей особо нет, разве что на вырост - может когда нибудь авторы им займутся.
Мелкий тоже как то не очень. 2.4"-2.8" - оптимально на мой взгляд.
Тач тоже такое себе удовольствие. На таких дисплеях он резистивный. То не нажмется, то нажмется но не там где надо, и весь экран в *овне.
Энкодером или кнопками удобнее.
Кстати видел на ютубе чел подключал парллельный дисплей к spi, что то соединял, что то резал. Не помню к какому аппарату.
Но как уже сказали, если контроллер не поддерживается то все равно ничего не выйдет.
Спасибо за разъяснения. Буду смотреть Пыльникова, Павлюченко, Nadim(a).
Ну а в отношении дисплея с не поддерживаемым контроллером- буду ждать, может кто либо "допилит" КаРадио32 и вклинит этот контроллер. У меня "тяму не хватает".
1. Этот контроллер в КаРадио32 не поддерживается. ...... .
1.
Дисплей SPI 4" 320x480 драйвер st7796s (ILI9488) . Проект КаРадио32 такой дисплей не поддерживает. Подключён к проекту Edzelf ESP32 radio, который тоже его на прямую не поддерживал, поэтому пришлось поизголяться над прошивкой, чтобы подключить дисплей. В проекте Edzelf ESP32 всё написано в Arduino IDE, а для меня это привычнее. Вывод информации русифицировал, и немного изменил, сделал под свои нужды.
Два месяца назад, автор Edzelf ESP32 выложил обновление прошивки, добавил к радио визуализатор спектра.
В отношении проэкта Edzelf(а). В своих мануалах он вообще не указывает на каких контроллерах поддерживаются дисплеи. В предыдущем проэкте он (Edzelf) озвучил что реализована поддержка SD картридера, но что то не получается зупустить SD ридер, хотя и подпаиваюсь (в соответствии с мануалом) на пины 23, 18, 19, 21 (или 22) шины SPI. но на этих пинах так же висит и VS 1053Когда вставляю SD карточку в ридер, то воспроизведение виснет намертво. . Рестарт не помогает.. Заводится после того как деинсталирую SD из рилера.
А еа последней прошивке Edzelf(а) заявлена поддержка USB шилда. Только кагда закоментирована поддержка SD а остаётся поддержка USB, компиляция прходит+ заливка тоже, а вот на адрес 192.168.4.1 не выходит и виснет. Ступор полнейший и не высвечивается новая точка доступа. Так что приходится закоментировать USB поддержку и пршиваться на Sd, хотя и не получается прикрутить SD.
sd и дисплей оба сидят на spi шине (так можно), на ней же сидит и vs1053. Система рулит устройствами на этой шине посредством сигналов CS. Они должны быть для каждого устройства свои. если вы прописали один CS на два устройства - будет затык. Если подключили CS от двух устройств вместе на один пин есп - будет затык.
Еще у есп некоторые пины могут быть только входными, а CS - это выход
.....Ваш дисплей тоже можно присобачить, но потом, когда из тестеров подрастете до софтомарателей. ....это все при наличии маломальского опыта в программировании.
Спасибо за разъяснения, но вырасти до самостоятельного написания софта - я реально понимаю, что у меня не получится, базиса знаний не хватает. А в отношении дисплея NEXTION у КаrаWin(a), я видел на его странице.
если у вас есть платка ардуино уно (или мега) попробуйте подключить свой дисплей и получить на нем хоть какую нить внятную картинку. Получится - я попробую вам помочь с аддоном.
если у вас есть платка ардуино уно (или мега) попробуйте подключить свой дисплей и получить на нем хоть какую нить внятную картинку. Получится - я попробую вам помочь с аддоном.
Платы ардуино, у меня нет, но я закажу в интернет магазине, доставят на следующей неделе. Только подскажите какую лучше заказывать Uno или Mega 250? Они ведь чем то отличаются друг от друга. А то влетать опять не хочется.
если у вас есть платка ардуино уно (или мега) попробуйте подключить свой дисплей и получить на нем хоть какую нить внятную картинку. Получится - я попробую вам помочь с аддоном.
Платы ардуино, у меня нет, но я закажу в интернет магазине, доставят на следующей неделе. Только подскажите какую лучше заказывать Uno или Mega 250? Они ведь чем то отличаются друг от друга. А то влетать опять не хочется.
Понял. Буду искать. Только искать библиотеку или скетч? Я тут лопатил инет и нашёл статейку "Подключение шилда 2.4" TFT LCD " http://microsin.net/programming/avr/24-tft-lcd-quick-start.html В ней фото обратной стороны, точ в точ что и на приобретённом мною "чуде". Только вот указано "Контроллер предположительно SPFD5408" , и продавец указал на сайте что "Контроллер сенсорной панели SPFD5408", но я так понимаю что нужно заливать скетч в ардуино уно и перепроверять, что бы убедиться.
Господа... а вот такой вопрос возник в процессе обдумывания новой концепции приемника на рабочий стол. Комп в соседней комнате, хочется музыки с компа. Посоветуйте пожалуйста платку bluetooth, чтобы ее можно было встроить в приемник и выбирать источник тумблером или абы еще каким переключателем. Платка с усилителем лучше, или без? Усь собрать не проблема. Понимаю, что не по теме, но где еще так полно и развернуто ответят как не здесь :)
Ну и свисток для компа, наверное. Может он какой особенный должен быть? Расстояние от компа до стола - метра 4 + гипсолитовая стена.
To Pilnikov
Плату Arduino UNO купил. В её разъёмы вставил дисплей. Скачал архив LCD_ID_Reader.zip В Arduino IDE скетч
LCD_ID_Reader.ino, скомпилировал а вот запустив его увидел какие то чёрные белые и всякие чёрточки, но экран был не белый.
После этого скачал SPFD5408-master https://github.com/JoaoLopesF/SPFD5408 Загрузил в Ардуино увидел что завелись тестовые картинки.
Из пары сотен станций от силы десяток в "слушабельном" качестве поток дают в МП3 (подкидывал pcm1794 на "послушать" - "голимые" стримы звучать лучше не стали...). А для ААС "разноцветные" китайские платки 1053 - говно по сути (разводка голимая) и фактическая лотерея в плане "запустится-не запустится", ко всему прочему. Есть тут кто заказывал последние платки у Пильникова?, по цифр. шумам интересно мнение послушать. В этой теме это, видимо, единственный человек с достойными результатами и красивой реализацией девайса. Надеюсь мне пару заводских платок останется купить.
...Александр, может вы выложите на форуме ТТХ и краткое описание вашей реализации девайса для так сказать, тех, кто не особо "силён" разобрать "что есть что" по фотке платы? Или мне нужно самому расписать плюсы вашей разработки, дождаться продаж, отзывов а затем уже купить? И... как там https, глухо?
Это уже наверное релиз десятый. Первые платы разрабатывались как макетные, чтобы было все и в разных вариантах. Потом пришло понимание какого то оптимума в наборе опций. В старших релизах перешел на Wroover, отказался от использования внешнего цап в пользу VS1053. Схема питания перешла с линейников на импульсный трехканальный преобразователь ЕА3036, как в ТТГО ТМ. Обязательными стали два энкодера, стерео УМЗЧ с дифф входом на 4054, который применяется на эспрессифской музыкальной тестовой плате ЛираТ, юэсби->ком преобразователь на СР2104, схема управления яркостью на полевике, которая кстати снизила энергопотребление чуть ли не в 4 раза. Так же на всех релизах присутствуют светодиод статуса, кнопка сброс, ик приемник, выключатель питания, гнездо для внешнего источника, разъем микроюэсби. Дисплеи на первых релизах применял от 1.2 до 2.4 с тачем. Потом все свернулось до 1.8 на ST7735, т.к. посчитал его размер оптимальным. Но для крайних релизов наткнулся на ips дисплей 2.0 с разрешением 240×320. Текстовые дисплеи не использовал по причине больших размеров и неоптимального соотношения цена/возможности. В одном из старших релизов попробовал развести ЕСП прямо на плате, но получил слабый сигнал ВиФи. Видимо где-то накосячил. Самые крайние 2 релиза стал заказывать с частичной сборкой на заводе. В последнем релизе перешел с 0603 на 0402, разделил все земли, перерисовал схему зарядки лития, добавил разъемы jtag и com для платки esp-prog. Периодически ставлю на платки зарядку лития и разъем для микросд. Раньше, когда был дисплей с тачем, можно было залить немецкую ардуиновскую прошивку с красивым интерфейсом. Там иконки и циферки часов, а также говорилка будильника хранились на микросд. Но при всех красявостях прошивка оказалась жутко тормознутой. На счет цифровых шумов - Умзч с диф входом, разделенные земли, возможность подключить минус усилителя как к земле так и к gbuf на выбор. Управление усилителем через пин светодиода статуса. Входы vs жестко посажены на землю. В крайнем релизе повтыкал дополнительных индуктивностей в цепи питания. В своей версии прошивки поменял приоритеты - теперь играет практически без затыков, но интерфейс слегка стал притормаживать, но терпимо. Экран большую часть времени спит - батареи хватает на 4 дня.
Добрый всем день. "Танцы с бубном" продолжались несколько дней. В результате, завёлся скетчь из статьи https://hobbytech.com.ua/%d0%bf%d1%80%d0%b8%d0%bc%d0%b5%d1%80-%d1%80%d0%... Я так понял что это означает что на моём дисплее 2.4″ установлен контроллер ILI9341 ? Все остальные примеры не заводились.
Что мне делать дальше, что бы подружить КаРадио с этим дисплее (паралельная шина)?
To conler: Вы случайно не адепт секты " бескислородной меди"? :-)))) Сложно, наверное, требовать от проекта какого то нереального качества звучания, он бесплатен изначально. Как вы справедливо заметили и качество потока станций не везде одинаково отличное. Если Pilnikov получит ожидаемое от проекта, несомненно купим (если лекарство, конечно не смертельнее, чем болезнь получится по цене). Я думаю, если реализовать все Ваши требования по всевозможным шумам, то вероятно, получится очень дорого и нужно единицам для прослушивания все тех же 10 радиостанций.А так, все все прекрасно понимают по качеству потоков и текущей цене изготовления из существующих цветных китайских модулей (она минимальна). Это в основном и используют на дачах, гаражах и т.д. и т.п. в различных вариациях. Скриншоты экранов посмотрите в форуме, там то шансон, то попса. :-))))
{"Name":"1 Club 4 Radio","URL":"listen.radionomy.com","File":"/1club4radio","Port":"80","ovol":"0"} - лёгкая, ненавязчивая электронка
Ну а рок и "DRUM AND BASS" это всё разбавляет :)
Рад за ваш вкус. Под шансоном у нас, сейчас в России, понимается действительно далеко не Азнавур.
Посыл был таков, что подобная музыка не требует "ухищрений" в части качества звука, и с подавляющем большинством потоков (которые востребованы массой слушателей) Карадио (тем более 32) вполне справляется и в текущем виде.
А так, любому, я думаю, хочется использовать и sd карту и bluetooth, acc потоки и https с крутым интерфейсом и быстродействием. И все это без дополнительных "костылей" и с нереально чистым воспроизведением. Но какая цена вопроса будет и когда это все будет реализовано (и будет ли) одному богу известно.
Добрый всем день. "Танцы с бубном" продолжались несколько дней. В результате, завёлся скетчь из статьи https://hobbytech.com.ua/%d0%bf%d1%80%d0%b8%d0%bc%d0%b5%d1%80-%d1%80%d0%... Я так понял что это означает что на моём дисплее 2.4″ установлен контроллер ILI9341 ? Все остальные примеры не заводились.
Что мне делать дальше, что бы подружить КаРадио с этим дисплее (паралельная шина)?
Т.е. скеч у вас завелся с этой https://github.com/JoaoLopesF/SPFD5408 библиотекой? Покажите, что вам выдает монитор порта. И фото вашего дисплея с работающим скечем.
Что мне делать дальше, что бы подружить КаРадио с этим дисплее (паралельная шина)?
Т.е. скеч у вас завелся с этой https://github.com/JoaoLopesF/SPFD5408 библиотекой? Покажите, что вам выдает монитор порта. И фото вашего дисплея с работающим скечем.
Да, дисплей завёлся с библиотекой SPFD5408. Сейчас сниму монитор порта. Только вот буду пытаться его втиснуть в сообщение.
Пытаюсь вставить скрин монитора порта. Как его вставить --- УМА НЕ ПРИЛОЖУ. В Ардуино ввёл Монитор порта, текст помечается, только вот не выводится - коприровать, да и на форуме - не пойму как вставить фотку
Вот тот скетч, на котором звёлся дисплей
// 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.
// Modified for SPFD5408 Library by Joao Lopes
// Version 0.9.2 - Rotation for Mega and screen initial
// 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;
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;
}
// Copy string from flash to serial port
// Source string MUST be inside a PSTR() declaration!
void progmemPrint(const char *str) {
char c;
while(c = pgm_read_byte(str++)) Serial.print(c);
}
// Same as above, with trailing newline
void progmemPrintln(const char *str) {
progmemPrint(str);
Serial.println();
}
А вот как вставить монитор порта из радуино иде - не найду как это сделать
To Pilnikov: Несколько не в тему, интересно, а вы поняли в чем причина падения сигнала wi-fi, если просто использовать голый чип esp32 на плате? Странно, вы ведь используете в Ваших проектах внешнюю антенну. Да и производители, типа Sonoff, уже давно перешли к напайке чипа esp непосредственно на плату. ( Хотя там esp попримитивней, и, может это несопоставимы пример).
Но, думаю, что ответ - "нельзя". Или "не имеет смысла" - потому, что придется или много чего дописывать, или добавлять какой-то модуль сопряжения = время/деньги...
Но, думаю, что ответ - "нельзя". Или "не имеет смысла" - потому, что придется или много чего дописывать, или добавлять какой-то модуль сопряжения = время/деньги...
Был куплен дисплей "Сенсорный дисплей Arduino TFT 2.4" LCD" . В отношении контроллера "Контроллер сенсорной панели SPFD5408 со встроенным кадровым буфером" Ссылки на фото товара (продавец, у которого брал товар, не выложил актуальных фото товара, так что пришлось брать фото на другом ресурсе) Это не реклама, так что прошу не удалять https://prom.ua/p996712921-displej-tft-240320.html (Не получается вставить фото в сообщение) Сильно не пинайте, я из категории "тестеров" да и то - начинающий. Даташит на дисплей и на контроллер - искал, но для меня это такой дремучий лес. Вот и прошу о помощи.
1. Этот контроллер в КаРадио32 не поддерживается. Плюс интересный факт. Есть у меня такой же дисплей с заявленным китайцем таким же контроллером. По итогу "унутре у ней" стоит R61526A.
2. Даже если там окажется ILI9341(что крайне маловероятно), для перевода из 8бит параллельного режима работы хотя бы в SPI(I2C не каждый дисплей поддерживает) придётся отдирать дисплей, где-то отрезать, где-то добавить, а там усё мелкое и очень нежное.
3. У этих дисплеев частенько инвертирован тач, что добавит Вам -"тестеру" дополнительного геморроя с самостоятельной компиляцией проекта. А это удалось, судя по ветке, очень немногим -пересчитать можно по пальцам руки(причём плохого токаря).
Моя "помощь": приобрести дисплей на шине I2C или SPI из списка поддерживаемых проэктом.
Понял, что приобрёл дисплей не понимая что не все дисплеи поддерживаются проектом КаРадио32. Итал документацию и не придал внимания разделу, указанному в руководстве к КаРадио32. Я всего лишь "тестер", и компиляция проекта - для меня очень "дремучий лес". О том что прийдёться приобретать другой дисплей - понял. Вот перебирал (на основании перечня у КаРадио32) дисплеи, выставляемые интернет магазинами. Попутно, два вопроса.
1. При работе WiFi Radio, какая информация выводится на дисплей. Если не затруднит, кто нибуть выложите фото.
2. А подойдёт ли к проэкту, дисплей линейки Nextion? Есть ли где скетч КаРадио32 с управлением радио через тачскрин дисплея?
1. При работе WiFi Radio, какая информация выводится на дисплей. Если не затруднит, кто нибуть выложите фото.
2. А подойдёт ли к проэкту, дисплей линейки Nextion? Есть ли где скетч КаРадио32 с управлением радио через тачскрин дисплея?
Посмотри на ютубе видосы Пильникова, Nadim, Павлюченко и т.д.
Например https://youtu.be/uttoxtTN5SQ
У карадива GUI так себе. Смысла брать большой-дорогой дисплей особо нет, разве что на вырост - может когда нибудь авторы им займутся.
Мелкий тоже как то не очень. 2.4"-2.8" - оптимально на мой взгляд.
Тач тоже такое себе удовольствие. На таких дисплеях он резистивный. То не нажмется, то нажмется но не там где надо, и весь экран в *овне.
Энкодером или кнопками удобнее.
Кстати видел на ютубе чел подключал парллельный дисплей к spi, что то соединял, что то резал. Не помню к какому аппарату.
Но как уже сказали, если контроллер не поддерживается то все равно ничего не выйдет.
1. При работе WiFi Radio, какая информация выводится на дисплей. Если не затруднит, кто нибуть выложите фото.
Дисплей SPI 4" 320x480 драйвер st7796s (ILI9488) . Проект КаРадио32 такой дисплей не поддерживает. Подключён к проекту Edzelf ESP32 radio, который тоже его на прямую не поддерживал, поэтому пришлось поизголяться над прошивкой, чтобы подключить дисплей. В проекте Edzelf ESP32 всё написано в Arduino IDE, а для меня это привычнее. Вывод информации русифицировал, и немного изменил, сделал под свои нужды.
Два месяца назад, автор Edzelf ESP32 выложил обновление прошивки, добавил к радио визуализатор спектра.
https://github.com/blotfi/ESP32-Radio-with-Spectrum-analyzer
https://www.youtube.com/watch?v=mSrDDmvLRfI
Я пока не пробовал эту обнову.
1.
2. ?
Посмотри на ютубе видосы Пильникова, Nadim, Павлюченко и т.д.
Например https://youtu.be/uttoxtTN5SQ
У карадива GUI так себе. Смысла брать большой-дорогой дисплей особо нет, разве что на вырост - может когда нибудь авторы им займутся.
Мелкий тоже как то не очень. 2.4"-2.8" - оптимально на мой взгляд.
Тач тоже такое себе удовольствие. На таких дисплеях он резистивный. То не нажмется, то нажмется но не там где надо, и весь экран в *овне.
Энкодером или кнопками удобнее.
Кстати видел на ютубе чел подключал парллельный дисплей к spi, что то соединял, что то резал. Не помню к какому аппарату.
Но как уже сказали, если контроллер не поддерживается то все равно ничего не выйдет.
Спасибо за разъяснения. Буду смотреть Пыльникова, Павлюченко, Nadim(a).
Ну а в отношении дисплея с не поддерживаемым контроллером- буду ждать, может кто либо "допилит" КаРадио32 и вклинит этот контроллер. У меня "тяму не хватает".
У вас тяму не хватает, а у ESP пинов. Слишком расточительно расходовать столько ножек на дисплей. Кстати Nextion можно подключить к Карадио и про это у автора есть. https://hackaday.io/project/19707-nextion-touchscreen-display-for-web-player-karadio https://www.youtube.com/watch?v=ekWf2dr7sis Но это слишком, кмк. Ваш дисплей тоже можно присобачить, но потом, когда из тестеров подрастете до софтомарателей. На самом деле на ардуине можно накалякать аддон, подглядев реализацию тут https://github.com/karawin/karadio-addons. Но опять же, повторюсь - это все при наличии маломальского опыта в программировании.
1.
Дисплей SPI 4" 320x480 драйвер st7796s (ILI9488) . Проект КаРадио32 такой дисплей не поддерживает. Подключён к проекту Edzelf ESP32 radio, который тоже его на прямую не поддерживал, поэтому пришлось поизголяться над прошивкой, чтобы подключить дисплей. В проекте Edzelf ESP32 всё написано в Arduino IDE, а для меня это привычнее. Вывод информации русифицировал, и немного изменил, сделал под свои нужды.
Два месяца назад, автор Edzelf ESP32 выложил обновление прошивки, добавил к радио визуализатор спектра.
https://github.com/blotfi/ESP32-Radio-with-Spectrum-analyzer
https://www.youtube.com/watch?v=mSrDDmvLRfI
Я пока не пробовал эту обнову.
Спасибо за фотографии.
В отношении проэкта Edzelf(а). В своих мануалах он вообще не указывает на каких контроллерах поддерживаются дисплеи. В предыдущем проэкте он (Edzelf) озвучил что реализована поддержка SD картридера, но что то не получается зупустить SD ридер, хотя и подпаиваюсь (в соответствии с мануалом) на пины 23, 18, 19, 21 (или 22) шины SPI. но на этих пинах так же висит и VS 1053Когда вставляю SD карточку в ридер, то воспроизведение виснет намертво. . Рестарт не помогает.. Заводится после того как деинсталирую SD из рилера.
А еа последней прошивке Edzelf(а) заявлена поддержка USB шилда. Только кагда закоментирована поддержка SD а остаётся поддержка USB, компиляция прходит+ заливка тоже, а вот на адрес 192.168.4.1 не выходит и виснет. Ступор полнейший и не высвечивается новая точка доступа. Так что приходится закоментировать USB поддержку и пршиваться на Sd, хотя и не получается прикрутить SD.
sd и дисплей оба сидят на spi шине (так можно), на ней же сидит и vs1053. Система рулит устройствами на этой шине посредством сигналов CS. Они должны быть для каждого устройства свои. если вы прописали один CS на два устройства - будет затык. Если подключили CS от двух устройств вместе на один пин есп - будет затык.
Еще у есп некоторые пины могут быть только входными, а CS - это выход
.....Ваш дисплей тоже можно присобачить, но потом, когда из тестеров подрастете до софтомарателей. ....это все при наличии маломальского опыта в программировании.
Спасибо за разъяснения, но вырасти до самостоятельного написания софта - я реально понимаю, что у меня не получится, базиса знаний не хватает. А в отношении дисплея NEXTION у КаrаWin(a), я видел на его странице.
если у вас есть платка ардуино уно (или мега) попробуйте подключить свой дисплей и получить на нем хоть какую нить внятную картинку. Получится - я попробую вам помочь с аддоном.
если у вас есть платка ардуино уно (или мега) попробуйте подключить свой дисплей и получить на нем хоть какую нить внятную картинку. Получится - я попробую вам помочь с аддоном.
Платы ардуино, у меня нет, но я закажу в интернет магазине, доставят на следующей неделе. Только подскажите какую лучше заказывать Uno или Mega 250? Они ведь чем то отличаются друг от друга. А то влетать опять не хочется.
sd и
Еще у есп некоторые пины могут быть только входными, а CS - это выход
Назначал (для CS) и 21 и 22 , как писалось в мануале, но что то не получается завести SD/ Ступор спошной.
если у вас есть платка ардуино уно (или мега) попробуйте подключить свой дисплей и получить на нем хоть какую нить внятную картинку. Получится - я попробую вам помочь с аддоном.
Платы ардуино, у меня нет, но я закажу в интернет магазине, доставят на следующей неделе. Только подскажите какую лучше заказывать Uno или Mega 250? Они ведь чем то отличаются друг от друга. А то влетать опять не хочется.
уна дешевле, мега мощней
,,, помочь с аддоном.
,,, какую лучше заказывать Uno или Mega 250? ,,
уна дешевле, мега мощней
Ну а что обеспечит поддержку приобретённого мною "чудо" дисплея?
Любая
Любая
Заказал плату UNO. Оплатил. На этой неделе жду доставку.
пока ждете, поищите скеч под ваш дисплейчик
тут http://arduino.ru/forum/apparatnye-voprosy/deshevyi-tft-24-displei-na-spfd5408?page=2 гляньте, вроде ваш.
пока ждете, поищите скеч под ваш дисплейчик
тут http://arduino.ru/forum/apparatnye-voprosy/deshevyi-tft-24-displei-na-spfd5408?page=2 гляньте, вроде ваш.
Понял. Буду искать. Только искать библиотеку или скетч? Я тут лопатил инет и нашёл статейку "Подключение шилда 2.4" TFT LCD " http://microsin.net/programming/avr/24-tft-lcd-quick-start.html В ней фото обратной стороны, точ в точ что и на приобретённом мною "чуде". Только вот указано "Контроллер предположительно SPFD5408" , и продавец указал на сайте что "Контроллер сенсорной панели SPFD5408", но я так понимаю что нужно заливать скетч в ардуино уно и перепроверять, что бы убедиться.
P.S. Нашёл библиотеки на гитхабе "SPFD5408 Library" https://github.com/JoaoLopesF/SPFD5408 "
Вам не для тача библиотека нужна,, а для контроллера дисплея. Он у вас может быть IllI9341 с восьмибитной шиной
---
Да чего тут говорить... Саша (pilnikov) прекрасно всё тут отрулил в лучших традициях
Господа... а вот такой вопрос возник в процессе обдумывания новой концепции приемника на рабочий стол. Комп в соседней комнате, хочется музыки с компа. Посоветуйте пожалуйста платку bluetooth, чтобы ее можно было встроить в приемник и выбирать источник тумблером или абы еще каким переключателем. Платка с усилителем лучше, или без? Усь собрать не проблема. Понимаю, что не по теме, но где еще так полно и развернуто ответят как не здесь :)
Ну и свисток для компа, наверное. Может он какой особенный должен быть? Расстояние от компа до стола - метра 4 + гипсолитовая стена.
Есть вариант дешевле - на компе запустить локальную станцию а в радио просто добавить ее к плэйлисту
https://www.liveinternet.ru/users/5244035/post267762439/
https://maxidrom.net/archives/101
https://siava.ru/forum/knowlegebase/article?k=31
Спасибо, будем изучать.
Спасибо, будем изучать.
Спасибо, будем изучать.
Посмотрите в Ютубе listen2myradio.
To Pilnikov
Плату Arduino UNO купил. В её разъёмы вставил дисплей. Скачал архив LCD_ID_Reader.zip В Arduino IDE скетч
LCD_ID_Reader.ino, скомпилировал а вот запустив его увидел какие то чёрные белые и всякие чёрточки, но экран был не белый.
После этого скачал SPFD5408-master https://github.com/JoaoLopesF/SPFD5408 Загрузил в Ардуино увидел что завелись тестовые картинки.
Из пары сотен станций от силы десяток в "слушабельном" качестве поток дают в МП3 (подкидывал pcm1794 на "послушать" - "голимые" стримы звучать лучше не стали...). А для ААС "разноцветные" китайские платки 1053 - говно по сути (разводка голимая) и фактическая лотерея в плане "запустится-не запустится", ко всему прочему. Есть тут кто заказывал последние платки у Пильникова?, по цифр. шумам интересно мнение послушать. В этой теме это, видимо, единственный человек с достойными результатами и красивой реализацией девайса. Надеюсь мне пару заводских платок останется купить.
...Александр, может вы выложите на форуме ТТХ и краткое описание вашей реализации девайса для так сказать, тех, кто не особо "силён" разобрать "что есть что" по фотке платы? Или мне нужно самому расписать плюсы вашей разработки, дождаться продаж, отзывов а затем уже купить? И... как там https, глухо?
C https пока глухо.
Про плату
Это уже наверное релиз десятый. Первые платы разрабатывались как макетные, чтобы было все и в разных вариантах. Потом пришло понимание какого то оптимума в наборе опций. В старших релизах перешел на Wroover, отказался от использования внешнего цап в пользу VS1053. Схема питания перешла с линейников на импульсный трехканальный преобразователь ЕА3036, как в ТТГО ТМ. Обязательными стали два энкодера, стерео УМЗЧ с дифф входом на 4054, который применяется на эспрессифской музыкальной тестовой плате ЛираТ, юэсби->ком преобразователь на СР2104, схема управления яркостью на полевике, которая кстати снизила энергопотребление чуть ли не в 4 раза. Так же на всех релизах присутствуют светодиод статуса, кнопка сброс, ик приемник, выключатель питания, гнездо для внешнего источника, разъем микроюэсби. Дисплеи на первых релизах применял от 1.2 до 2.4 с тачем. Потом все свернулось до 1.8 на ST7735, т.к. посчитал его размер оптимальным. Но для крайних релизов наткнулся на ips дисплей 2.0 с разрешением 240×320. Текстовые дисплеи не использовал по причине больших размеров и неоптимального соотношения цена/возможности. В одном из старших релизов попробовал развести ЕСП прямо на плате, но получил слабый сигнал ВиФи. Видимо где-то накосячил. Самые крайние 2 релиза стал заказывать с частичной сборкой на заводе. В последнем релизе перешел с 0603 на 0402, разделил все земли, перерисовал схему зарядки лития, добавил разъемы jtag и com для платки esp-prog. Периодически ставлю на платки зарядку лития и разъем для микросд. Раньше, когда был дисплей с тачем, можно было залить немецкую ардуиновскую прошивку с красивым интерфейсом. Там иконки и циферки часов, а также говорилка будильника хранились на микросд. Но при всех красявостях прошивка оказалась жутко тормознутой. На счет цифровых шумов - Умзч с диф входом, разделенные земли, возможность подключить минус усилителя как к земле так и к gbuf на выбор. Управление усилителем через пин светодиода статуса. Входы vs жестко посажены на землю. В крайнем релизе повтыкал дополнительных индуктивностей в цепи питания. В своей версии прошивки поменял приоритеты - теперь играет практически без затыков, но интерфейс слегка стал притормаживать, но терпимо. Экран большую часть времени спит - батареи хватает на 4 дня.
Спасибо, отлично! Осталось оформить "мегапост" с информативными фотками и ценниками.
Не будьте эгоистом, дайте людям возможность приобрести достойный результат Ваших трудов! :) Люди будут только благодарны.
Добрый всем день. "Танцы с бубном" продолжались несколько дней. В результате, завёлся скетчь из статьи https://hobbytech.com.ua/%d0%bf%d1%80%d0%b8%d0%bc%d0%b5%d1%80-%d1%80%d0%... Я так понял что это означает что на моём дисплее 2.4″ установлен контроллер ILI9341 ? Все остальные примеры не заводились.
Что мне делать дальше, что бы подружить КаРадио с этим дисплее (паралельная шина)?
Завтра попробую глянуть если время будет.
To conler: Вы случайно не адепт секты " бескислородной меди"? :-)))) Сложно, наверное, требовать от проекта какого то нереального качества звучания, он бесплатен изначально. Как вы справедливо заметили и качество потока станций не везде одинаково отличное. Если Pilnikov получит ожидаемое от проекта, несомненно купим (если лекарство, конечно не смертельнее, чем болезнь получится по цене). Я думаю, если реализовать все Ваши требования по всевозможным шумам, то вероятно, получится очень дорого и нужно единицам для прослушивания все тех же 10 радиостанций.А так, все все прекрасно понимают по качеству потоков и текущей цене изготовления из существующих цветных китайских модулей (она минимальна). Это в основном и используют на дачах, гаражах и т.д. и т.п. в различных вариациях. Скриншоты экранов посмотрите в форуме, там то шансон, то попса. :-))))
"Гулял" по просторам интернета и на ресурсе https://terraideas.ru/ нашёл статью "Подключение сенсорного дисплея на ILI9341 (R61520, SPFD5408) к STM32" https://terraideas.ru/article/podklyuchenie-sensornogo-displeya-na-ili93... . Расписано доходчиво. Может кому то пригодится. А я сижу, читаю, обдумываю. Это для меня дремучий лес.
тоже жду ... только 0402 это жестоко
тоже жду ... только 0402 это жестоко
там то шансон, то попса. :-))))
Так, по большому счёту, кроме этого больше ничего и нет. Не говоря про ФМ-станции.
- Молодой человек, а где у вас шансон?
Продавец (длинные волосы, косичка, серьга в ухе):
- Вы знаете, у нас из шансона только Шарль Азнавур...
Покупатель подзавис на несколько секунд, хлопая глазами.
Продавец:
- А блатняк у нас во-он там...
Мои станции
{"Name":"Splash Classical","URL":"ais-sa2.cdnstream1.com","File":"/2208_128.mp3?awparams=NoPreroll:true","Port":"80","ovol":"0"} - классическая музыка
{"Name":"Big R Radio - Blues FM","URL":"107.155.111.234","File":"/","Port":"8770","ovol":"0"} - блюз
{"Name":"1000 HITS Country","URL":"listen.shoutcast.com","File":"/1000hitscountry","Port":"80","ovol":"0"} - кантри
{"Name":"1 Club 4 Radio","URL":"listen.radionomy.com","File":"/1club4radio","Port":"80","ovol":"0"} - лёгкая, ненавязчивая электронка
Ну а рок и "DRUM AND BASS" это всё разбавляет :)
- Молодой человек, а где у вас шансон?
Продавец (длинные волосы, косичка, серьга в ухе):
- Вы знаете, у нас из шансона только Шарль Азнавур...
Покупатель подзавис на несколько секунд, хлопая глазами.
Продавец:
- А блатняк у нас во-он там...
Мои станции
{"Name":"Splash Classical","URL":"ais-sa2.cdnstream1.com","File":"/2208_128.mp3?awparams=NoPreroll:true","Port":"80","ovol":"0"} - классическая музыка
{"Name":"Big R Radio - Blues FM","URL":"107.155.111.234","File":"/","Port":"8770","ovol":"0"} - блюз
{"Name":"1000 HITS Country","URL":"listen.shoutcast.com","File":"/1000hitscountry","Port":"80","ovol":"0"} - кантри
{"Name":"1 Club 4 Radio","URL":"listen.radionomy.com","File":"/1club4radio","Port":"80","ovol":"0"} - лёгкая, ненавязчивая электронка
Ну а рок и "DRUM AND BASS" это всё разбавляет :)
Рад за ваш вкус. Под шансоном у нас, сейчас в России, понимается действительно далеко не Азнавур.
Посыл был таков, что подобная музыка не требует "ухищрений" в части качества звука, и с подавляющем большинством потоков (которые востребованы массой слушателей) Карадио (тем более 32) вполне справляется и в текущем виде.
А так, любому, я думаю, хочется использовать и sd карту и bluetooth, acc потоки и https с крутым интерфейсом и быстродействием. И все это без дополнительных "костылей" и с нереально чистым воспроизведением. Но какая цена вопроса будет и когда это все будет реализовано (и будет ли) одному богу известно.
Добрый всем день. "Танцы с бубном" продолжались несколько дней. В результате, завёлся скетчь из статьи https://hobbytech.com.ua/%d0%bf%d1%80%d0%b8%d0%bc%d0%b5%d1%80-%d1%80%d0%... Я так понял что это означает что на моём дисплее 2.4″ установлен контроллер ILI9341 ? Все остальные примеры не заводились.
Что мне делать дальше, что бы подружить КаРадио с этим дисплее (паралельная шина)?
Т.е. скеч у вас завелся с этой https://github.com/JoaoLopesF/SPFD5408 библиотекой? Покажите, что вам выдает монитор порта. И фото вашего дисплея с работающим скечем.
Добрый всем день. "Танцы с бубном" продолжались
Что мне делать дальше, что бы подружить КаРадио с этим дисплее (паралельная шина)?
Т.е. скеч у вас завелся с этой https://github.com/JoaoLopesF/SPFD5408 библиотекой? Покажите, что вам выдает монитор порта. И фото вашего дисплея с работающим скечем.
Да, дисплей завёлся с библиотекой SPFD5408. Сейчас сниму монитор порта. Только вот буду пытаться его втиснуть в сообщение.
Пытаюсь вставить скрин монитора порта. Как его вставить --- УМА НЕ ПРИЛОЖУ. В Ардуино ввёл Монитор порта, текст помечается, только вот не выводится - коприровать, да и на форуме - не пойму как вставить фотку
Вот тот скетч, на котором звёлся дисплей
// 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.
// Modified for SPFD5408 Library by Joao Lopes
// Version 0.9.2 - Rotation for Mega and screen initial
// *** SPFD5408 change -- Begin
#include // Core graphics library
#include // Hardware-specific library
#include
// *** SPFD5408 change -- End
// 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;
// -- Setup
void setup(void) {
Serial.begin(9600);
progmemPrintln(PSTR("TFT LCD test"));
#ifdef USE_ADAFRUIT_SHIELD_PINOUT
progmemPrintln(PSTR("Using Adafruit 2.8\" TFT Arduino Shield Pinout"));
#else
progmemPrintln(PSTR("Using Adafruit 2.8\" TFT Breakout Board Pinout"));
#endif
tft.reset();
// *** SPFD5408 change -- Begin
// Original code commented
// uint16_t identifier = tft.readID();
//
// 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);
// Code changed to works
tft.begin(0x9341); // SDFP5408
tft.setRotation(0); // Need for the Mega, please changed for your choice or rotation initial
// *** SPFD5408 change -- End
progmemPrintln(PSTR("Benchmark Time (microseconds)"));
progmemPrint(PSTR("Screen fill "));
Serial.println(testFillScreen());
delay(500);
progmemPrint(PSTR("Text "));
Serial.println(testText());
delay(3000);
progmemPrint(PSTR("Lines "));
Serial.println(testLines(CYAN));
delay(500);
progmemPrint(PSTR("Horiz/Vert Lines "));
Serial.println(testFastLines(RED, BLUE));
delay(500);
progmemPrint(PSTR("Rectangles (outline) "));
Serial.println(testRects(GREEN));
delay(500);
progmemPrint(PSTR("Rectangles (filled) "));
Serial.println(testFilledRects(YELLOW, MAGENTA));
delay(500);
progmemPrint(PSTR("Circles (filled) "));
Serial.println(testFilledCircles(10, MAGENTA));
progmemPrint(PSTR("Circles (outline) "));
Serial.println(testCircles(10, WHITE));
delay(500);
progmemPrint(PSTR("Triangles (outline) "));
Serial.println(testTriangles());
delay(500);
progmemPrint(PSTR("Triangles (filled) "));
Serial.println(testFilledTriangles());
delay(500);
progmemPrint(PSTR("Rounded rects (outline) "));
Serial.println(testRoundRects());
delay(500);
progmemPrint(PSTR("Rounded rects (filled) "));
Serial.println(testFilledRoundRects());
delay(500);
progmemPrintln(PSTR("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;
}
// Copy string from flash to serial port
// Source string MUST be inside a PSTR() declaration!
void progmemPrint(const char *str) {
char c;
while(c = pgm_read_byte(str++)) Serial.print(c);
}
// Same as above, with trailing newline
void progmemPrintln(const char *str) {
progmemPrint(str);
Serial.println();
}
А вот как вставить монитор порта из радуино иде - не найду как это сделать
Текст из монитора порта копируете ctrl+C потом сюда вставляете ctrl+V
Вот пытаюсь
16:38:13.772 -> TFT LCD test
16:38:13.772 -> Using Adafruit 2.8" TFT Breakout Board Pinout
16:38:14.702 -> Benchmark Time (microseconds)
16:38:14.742 -> Screen fill 1380000
16:38:16.582 -> Text 347636
16:38:20.174 -> Lines 3385172
16:38:35.176 -> Horiz/Vert Lines 144332
16:38:36.056 -> Rectangles (outline) 103892
16:38:36.856 -> Rectangles (filled) 3268528
16:38:40.976 -> Circles (filled) 1199784
16:38:42.416 -> Circles (outline) 1468220
16:38:44.376 -> Triangles (outline) 1073012
16:38:46.176 -> Triangles (filled) 1713176
16:38:49.770 -> Rounded rects (outline) 505856
16:38:51.010 -> Rounded rects (filled) 3790328
16:38:55.530 -> Done!
Сильно не пинайте - а как вставить фото (работа монитора с загруженным скетчем)?
Вот ещё один монитор порта (с другим работающим скетчем)
16:58:17.042 -> TFT LCD test
16:58:17.042 -> Using Adafruit 2.8" TFT Breakout Board Pinout
16:58:17.042 -> Found ILI9341 LCD driver
16:58:17.962 -> Screen fill
16:58:20.802 -> Text
16:58:21.402 -> Done!
вот ещё один скетч, который заработал с дисплеем
Ещё один скетч, который зарадотал с дисплеем
To Pilnikov: Несколько не в тему, интересно, а вы поняли в чем причина падения сигнала wi-fi, если просто использовать голый чип esp32 на плате? Странно, вы ведь используете в Ваших проектах внешнюю антенну. Да и производители, типа Sonoff, уже давно перешли к напайке чипа esp непосредственно на плату. ( Хотя там esp попримитивней, и, может это несопоставимы пример).