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

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

да

Yury_Sol
Offline
Зарегистрирован: 13.04.2018

Большое спасибо всем за советы, vis22 огоромное!

Все настроилось сразу. Измерил напряжение на ADC, вокруг которого я крутил подстроечник - 1,8 вольт. Теперь понятно, что кнопки и не должны были адекватно реагировать. Еще раз всем спасибо, продолжаю собирать проект.

С уважением,

udavst
udavst аватар
Offline
Зарегистрирован: 29.11.2013

dtvims пишет:
Автоматом - это если такое предусмотрено в усилителе. Только раздельное не питание, а гальваническая развязка
Не пишите ерунду.

У Вас ESP разве питается от БП усилителя? Сомневаюсь. Т.е. питание раздельное, получилось автоматом, т.к. питаете от разных источников.

А насчёт гальванической развязки Вы так уверены? У очень редких усилителей есть трансформатор на входе, и ух совсем ни у каких не бывает оптронов.

dtvims
Offline
Зарегистрирован: 26.11.2012

Большинство, кто подключает вску напрямую к усилителю получает шумы. Раздельное питание или общее тут значения не имеет, зато имеет значение общая земля.

udavst
udavst аватар
Offline
Зарегистрирован: 29.11.2013

dtvims У Вас именно разделилось питание, вместе с этим разделилась цифровая земля с аналоговой. Я и написал, подключив к стороннему усилку - у Вас автоматом разделилось питание, что не так? Аналоговая земля (выходящая с усилка) никак не отделилась от земли усилка. А цифровую нельзя соединять с аналоговой в схеме с VSкой, хоть это отдельный усилок, хоть нет, хоть раздельное питание, хоть нет.

 

dtvims
Offline
Зарегистрирован: 26.11.2012

Вот пруф: https://mysku.ru/blog/aliexpress/60521.html
Так же тут от ряда пользователей были вопросы о подключении к внешнему усилителю, ибо с наушниками у всех все четко, а с усилками шумы. Я об этом и написал. Раздельное питание тут не причем, хотя бы из соображения, что у всех внешних усилителей или активных колонок питание по определению свое, а проблемы возникают.

udavst
udavst аватар
Offline
Зарегистрирован: 29.11.2013

dtvims, Вам необходимо, чтобы последнее слово было Ваше? :) Зачем Вы мне кидаете какие-то пруфы, у меня всё работает давно и надёжно, к теме я присоединился ещё на 1 странице. Если Вы отделили цифровое питание (что подразумевает под собой, отделение и земли, т.к. отделить питание означает развязку всех потенциалов), то и шума не будет, а качество усилителя тут совсем непричём, в чём Вы убеждали общественность в стартовом сообщении.

 

 

dtvims
Offline
Зарегистрирован: 26.11.2012

Я про вас ничего и не говорю. У вас работает? Я рад за вас. Давайте всем так отвечать: у меня же работает, вот и не жужитете.
Я только написал, что есть решения требующие плясок с бубном, которые кстати рекомендуются производителем чипа vs по даташиту, а есть решения ничего дополнительно не требующие.

kombatus
Offline
Зарегистрирован: 24.03.2018

В уши радио заработало, когда напрямую подпаялся к VS, был разъем.

Но появилась другая проблема: после запуска радио включается радиостанция, но после попытки перехода на другую все останавливается, щелчок в наушниках. В логе всегда 

CLI.STOPPED#from playStation Int.

После перезагрузки все тоже самое.

Где искать.

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

adc на землю посадите

kombatus
Offline
Зарегистрирован: 24.03.2018

[quote=pilnikov]

adc на землю посадите

у меня там кнопки

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

значит они и жмут стоп

kombatus
Offline
Зарегистрирован: 24.03.2018

Пробовал сажать без кнопок abc на землю, тоже самое. Да, еще включается микрофон.

kombatus
Offline
Зарегистрирован: 24.03.2018

adc

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

Это помеха по соединительной линии от вс до есп - тут либо длина проводов либо питание

kombatus
Offline
Зарегистрирован: 24.03.2018

Спасибо, буду искать.

Владимир 2018
Offline
Зарегистрирован: 17.03.2018

Пришла плата ардуино мини про взамен горелой. Подскажите, пожалуйста, как правильно подключить LCD 1602 к КаРадио (ESP8266)? Прошлый раз при подключении у меня сгорел на ардуино вход RX, я думаю, что из-за разницы питающих напряжений. Как правильно их запитать? Может лучше (безопаснее) подключить OLED I2C 1306, как правильно это сделать? 

ShAlex13
Offline
Зарегистрирован: 19.01.2018

Владимир 2018 пишет:

Пришла плата ардуино мини про взамен горелой. Подскажите, пожалуйста, как правильно подключить LCD 1602 к КаРадио (ESP8266)? Прошлый раз при подключении у меня сгорел на ардуино вход RX, я думаю, что из-за разницы питающих напряжений. Как правильно их запитать? Может лучше (безопаснее) подключить OLED I2C 1306, как правильно это сделать? 

Преобразователи уровней https://ru.aliexpress.com/item/5PCS-IIC-I2C-Logic-Level-Converter-Bi-Directional-Module-5V-to-3-3V-For-Arduino/32216849765.html?spm=2114.13010708.0.0.fBdoJK

или сделать простой делитель напряжения

http://we.easyelectronics.ru/Shematech/soglasovanie-logicheskih-urovney-...

 

Владимир 2018
Offline
Зарегистрирован: 17.03.2018

Подключил я led 1602 к ардуино про мини 5-ти вольтовой, но запитал я ее 3-мя вольтами. Скетч в нее нормально заливается, на экране появляются последовательно надписи до места "IP" и на этом все. Менял скорость порта от 9600 до 115200, но ничего больше на экране не отображается. Проверил трансляцию с TX от ESP8266 в монитор порта выводится необходимая информация, а получается, что ардуинка ее не видит и не выводит на экран. RX - TX  на ардуине менял местами, результата положительного я не добился. В чем может быть причина подобной неисправности, где копать?

Владимир 2018
Offline
Зарегистрирован: 17.03.2018

Roman2077 пишет:
Я снизил скорость до 9600 и все заработало менять нужно как на ESP через монитор порта так и в скетче для lcd изменить на 9600

Как снизить скорость на ESP?

ShAlex13
Offline
Зарегистрирован: 19.01.2018

Владимир 2018 пишет:

Roman2077 пишет:
Я снизил скорость до 9600 и все заработало менять нужно как на ESP через монитор порта так и в скетче для lcd изменить на 9600

Как снизить скорость на ESP?

sys.uart("x")

Владимир 2018
Offline
Зарегистрирован: 17.03.2018

ShAlex13 пишет:

sys.uart("x")

А можно немного по подробнее. Я в этом плохо разбираюсь.

Владимир 2018
Offline
Зарегистрирован: 17.03.2018

To ShAlex13: Как кстати твоё радио, заработало?

ShAlex13
Offline
Зарегистрирован: 19.01.2018

Владимир 2018 пишет:

А можно немного по подробнее. Я в этом плохо разбираюсь.

В терминальной программе набираете sys.uart("x"), вместо х нужную скорость (1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, 76880, 115200, 230400), нажимаете ентер :)

ShAlex13
Offline
Зарегистрирован: 19.01.2018

Владимир 2018 пишет:

To ShAlex13: Как кстати твоё радио, заработало?

Нет...жду красную плату

Владимир 2018
Offline
Зарегистрирован: 17.03.2018

ShAlex13 пишет:

Владимир 2018 пишет:

А можно немного по подробнее. Я в этом плохо разбираюсь.

В терминальной программе набираете sys.uart("x"), вместо х нужную скорость (1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, 76880, 115200, 230400), нажимаете ентер :)

Спасибо, заработало.

Пытаюсь разобраться с русским языком. Установил библиотеку "LiquidCrystal_1602_RUS", но почему-то не работает.

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

Владимир 2018 пишет:

Пытаюсь разобраться с русским языком. Установил библиотеку "LiquidCrystal_1602_RUS", но почему-то не работает.

Эка какие вы шустрые. Сразу по русски хотите

так https://www.youtube.com/watch?v=1wGhiEEFEFc поди?

а не расскажите как кирилица на экранчик выводится из ардуины?

Как русские буквы в нерусском lcd рисуются?

Владимир 2018
Offline
Зарегистрирован: 17.03.2018

pilnikov пишет:

Владимир 2018 пишет:

Пытаюсь разобраться с русским языком. Установил библиотеку "LiquidCrystal_1602_RUS", но почему-то не работает.

Эка какие вы шустрые. Сразу по русски хотите

так https://www.youtube.com/watch?v=1wGhiEEFEFc поди?

а не расскажите как кирилица на экранчик выводится из ардуины?

Как русские буквы в нерусском lcd рисуются?

Я только месяц осваиваю ардуино, на все вопросы не знаю и скорее всего не узнаю ответа. На сколько знаю экран должен поддерживать кирилицу. Но мой экран не поддерживает ее. Я это проверял с помощью какого-то скетча раньше. Но мне удавалось выводить русские буквы на дисплей при помощи вышеуказанной библиотеки. Может в данном случае это не будет работать. Но почему не работает - не знаю. :) А очень хочется.

dtvims
Offline
Зарегистрирован: 26.11.2012

Шрифты обычно в исходниках подсовываются спец массивом.

Вот у меня из одного проекта таблица символов с русскими буквами:

 

/*
----------------------------------------------
     LCD Font Generator Ver 1.10
   New version , help & support on
            www.elvand.com
        Writen By : M.Ebrahimy
----------------------------------------------
   Font Name : NEWFONT
   Designer  : VitGo
   CopyRight : © 2008 - IRAN
   Width     : 6
   Height    : 8
   Date      : 30.12.2012
   Time      : 12:21:40
------------------------------------------------
*/
unsigned char font6_8[][6] = {
		   { 0x00, 0x00, 0x00, 0x00, 0x00 },   //   0x20  32
		   { 0x00, 0x00, 0x5F, 0x00, 0x00 },   // ! 0x21  33
		   { 0x00, 0x07, 0x00, 0x07, 0x00 },   // " 0x22  34
		   { 0x14, 0x7F, 0x14, 0x7F, 0x14 },   // # 0x23  35
		   { 0x24, 0x2A, 0x7F, 0x2A, 0x12 },   // $ 0x24  36
		   { 0x4C, 0x2C, 0x10, 0x68, 0x64 },   // % 0x25  37
		   { 0x36, 0x49, 0x55, 0x22, 0x50 },   // & 0x26  38
		   { 0x00, 0x05, 0x03, 0x00, 0x00 },   // ' 0x27  39
		   { 0x00, 0x1C, 0x22, 0x41, 0x00 },   // ( 0x28  40
		   { 0x00, 0x41, 0x22, 0x1C, 0x00 },   // ) 0x29  41
		   { 0x14, 0x08, 0x3E, 0x08, 0x14 },   // * 0x2A  42
		   { 0x08, 0x08, 0x3E, 0x08, 0x08 },   // + 0x2B  43
		   { 0x00, 0x00, 0x50, 0x30, 0x00 },   // , 0x2C  44
		   { 0x10, 0x10, 0x10, 0x10, 0x10 },   // - 0x2D  45
		   { 0x00, 0x60, 0x60, 0x00, 0x00 },   // . 0x2E  46
		   { 0x20, 0x10, 0x08, 0x04, 0x02 },   // / 0x2F  47
		   { 0x3E, 0x51, 0x49, 0x45, 0x3E },   // 0 0x30  48
		   { 0x00, 0x42, 0x7F, 0x40, 0x00 },   // 1 0x31  49
		   { 0x42, 0x61, 0x51, 0x49, 0x46 },   // 2 0x32  50
		   { 0x21, 0x41, 0x45, 0x4B, 0x31 },   // 3 0x33  51
		   { 0x18, 0x14, 0x12, 0x7F, 0x10 },   // 4 0x34  52
		   { 0x27, 0x45, 0x45, 0x45, 0x39 },   // 5 0x35  53
		   { 0x3C, 0x4A, 0x49, 0x49, 0x30 },   // 6 0x36  54
		   { 0x01, 0x71, 0x09, 0x05, 0x03 },   // 7 0x37  55
		   { 0x36, 0x49, 0x49, 0x49, 0x36 },   // 8 0x38  56
		   { 0x06, 0x49, 0x49, 0x29, 0x1E },   // 9 0x39  57
		   { 0x00, 0x36, 0x36, 0x00, 0x00 },   // : 0x3A  58
		   { 0x00, 0x56, 0x36, 0x00, 0x00 },   // ; 0x3B  59
		   { 0x08, 0x14, 0x22, 0x41, 0x00 },   // < 0x3C  60
		   { 0x14, 0x14, 0x14, 0x14, 0x14 },   // = 0x3D  61
		   { 0x00, 0x41, 0x22, 0x14, 0x08 },   // > 0x3E  62
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ? 0x3F  63
		   { 0x32, 0x49, 0x79, 0x41, 0x3E },   // @ 0x40  64
		   { 0x7E, 0x11, 0x11, 0x11, 0x7E },   // A 0x41  65
		   { 0x7F, 0x49, 0x49, 0x49, 0x36 },   // B 0x42  66
		   { 0x3E, 0x41, 0x41, 0x41, 0x22 },   // C 0x43  67
		   { 0x7F, 0x41, 0x41, 0x22, 0x1C },   // D 0x44  68
		   { 0x7F, 0x49, 0x49, 0x49, 0x41 },   // E 0x45  69
		   { 0x7F, 0x09, 0x09, 0x09, 0x01 },   // F 0x46  70
		   { 0x3E, 0x41, 0x49, 0x49, 0x7A },   // G 0x47  71
		   { 0x7F, 0x08, 0x08, 0x08, 0x7F },   // H 0x48  72
		   { 0x00, 0x41, 0x7F, 0x41, 0x00 },   // I 0x49  73
		   { 0x20, 0x40, 0x41, 0x3F, 0x01 },   // J 0x4A  74
		   { 0x7F, 0x08, 0x14, 0x22, 0x41 },   // K 0x4B  75
		   { 0x7F, 0x40, 0x40, 0x40, 0x40 },   // L 0x4C  76
		   { 0x7F, 0x02, 0x0C, 0x02, 0x7F },   // M 0x4D  77
		   { 0x7F, 0x04, 0x08, 0x10, 0x7F },   // N 0x4E  78
		   { 0x3E, 0x41, 0x41, 0x41, 0x3E },   // O 0x4F  79
		   { 0x7F, 0x09, 0x09, 0x09, 0x06 },   // P 0x50  80
		   { 0x3E, 0x41, 0x51, 0x21, 0x5E },   // Q 0x51  81
		   { 0x7F, 0x09, 0x19, 0x29, 0x46 },   // R 0x52  82
		   { 0x46, 0x49, 0x49, 0x49, 0x31 },   // S 0x53  83
		   { 0x01, 0x01, 0x7F, 0x01, 0x01 },   // T 0x54  84
		   { 0x3F, 0x40, 0x40, 0x40, 0x3F },   // U 0x55  85
		   { 0x1F, 0x20, 0x40, 0x20, 0x1F },   // V 0x56  86
		   { 0x3F, 0x40, 0x38, 0x40, 0x3F },   // W 0x57  87
		   { 0x63, 0x14, 0x08, 0x14, 0x63 },   // X 0x58  88
		   { 0x07, 0x08, 0x70, 0x08, 0x07 },   // Y 0x59  89
		   { 0x61, 0x51, 0x49, 0x45, 0x43 },   // Z 0x5A  90
		   { 0x00, 0x7F, 0x41, 0x41, 0x00 },   // [ 0x5B  91
		   { 0x02, 0x04, 0x08, 0x10, 0x20 },   // \ 0x5C  92
		   { 0x00, 0x41, 0x41, 0x7F, 0x00 },   // ] 0x5D  93
		   { 0x04, 0x02, 0x01, 0x02, 0x04 },   // ^ 0x5E  94
		   { 0x40, 0x40, 0x40, 0x40, 0x40 },   // _ 0x5F  95
		   { 0x00, 0x01, 0x02, 0x04, 0x00 },   // ` 0x60  96
		   { 0x20, 0x54, 0x54, 0x54, 0x78 },   // a 0x61  97
		   { 0x7F, 0x48, 0x44, 0x44, 0x38 },   // b 0x62  98
		   { 0x38, 0x44, 0x44, 0x44, 0x20 },   // c 0x63  99
		   { 0x38, 0x44, 0x44, 0x48, 0x7F },   // d 0x64 100
		   { 0x38, 0x54, 0x54, 0x54, 0x18 },   // e 0x65 101
		   { 0x08, 0x7E, 0x09, 0x01, 0x02 },   // f 0x66 102
		   { 0x0C, 0x52, 0x52, 0x52, 0x3E },   // g 0x67 103
		   { 0x7F, 0x08, 0x04, 0x04, 0x78 },   // h 0x68 104
		   { 0x00, 0x44, 0x7D, 0x40, 0x00 },   // i 0x69 105
		   { 0x20, 0x40, 0x44, 0x3D, 0x00 },   // j 0x6A 106
		   { 0x7F, 0x10, 0x28, 0x44, 0x00 },   // k 0x6B 107
		   { 0x00, 0x41, 0x7F, 0x40, 0x00 },   // l 0x6C 108
		   { 0x7C, 0x04, 0x18, 0x04, 0x78 },   // m 0x6D 109
		   { 0x7C, 0x08, 0x04, 0x04, 0x78 },   // n 0x6E 110
		   { 0x38, 0x44, 0x44, 0x44, 0x38 },   // o 0x6F 111
		   { 0x7C, 0x14, 0x14, 0x14, 0x08 },   // p 0x70 112
		   { 0x08, 0x14, 0x14, 0x18, 0x7C },   // q 0x71 113
		   { 0x7C, 0x08, 0x04, 0x04, 0x08 },   // r 0x72 114
		   { 0x48, 0x54, 0x54, 0x54, 0x20 },   // s 0x73 115
		   { 0x04, 0x3F, 0x44, 0x40, 0x20 },   // t 0x74 116
		   { 0x3C, 0x40, 0x40, 0x20, 0x7C },   // u 0x75 117
		   { 0x1C, 0x20, 0x40, 0x20, 0x1C },   // v 0x76 118
		   { 0x3C, 0x40, 0x30, 0x40, 0x3C },   // w 0x77 119
		   { 0x44, 0x28, 0x10, 0x28, 0x44 },   // x 0x78 120
		   { 0x0C, 0x50, 0x50, 0x50, 0x3C },   // y 0x79 121
		   { 0x44, 0x64, 0x54, 0x4C, 0x44 },   // z 0x7A 122
		   { 0x00, 0x08, 0x36, 0x41, 0x00 },   // { 0x7B 123
		   { 0x00, 0x00, 0x7F, 0x00, 0x00 },   // | 0x7C 124
		   { 0x00, 0x41, 0x36, 0x08, 0x00 },   // } 0x7D 125
		   { 0x08, 0x04, 0x08, 0x10, 0x08 },   // ~ 0x7E 126
		   { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF },   //  0x7F 127
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ? 130
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ? 140
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ? 150
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ? 160
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ? 170
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ? 180
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ? 190
		   { 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
		   { 0x7C, 0x12, 0x11, 0x12, 0x7C },   // А 0xC0 192
		   { 0x7F, 0x49, 0x49, 0x49, 0x31 },   // Б 0xC1 193
		   { 0x7F, 0x49, 0x49, 0x49, 0x36 },   // В 0xC2 194
		   { 0x7F, 0x01, 0x01, 0x01, 0x01 },   // Г 0xC3 195
		   { 0x60, 0x3F, 0x21, 0x3F, 0x60 },   // Д 0xC4 196
		   { 0x7F, 0x49, 0x49, 0x49, 0x41 },   // Е 0xC5 197
		   { 0x77, 0x08, 0x7F, 0x08, 0x77 },   // Ж 0xC6 198
		   { 0x22, 0x41, 0x49, 0x49, 0x36 },   // З 0xC7 199
		   { 0x7F, 0x10, 0x08, 0x04, 0x7F },   // И 0xC8 200
		   { 0x7E, 0x10, 0x09, 0x04, 0x7E },   // Й 0xC9 201
		   { 0x7F, 0x08, 0x14, 0x22, 0x41 },   // К 0xCA 202
		   { 0x40, 0x3E, 0x01, 0x01, 0x7F },   // Л 0xCB 203
		   { 0x7F, 0x02, 0x0C, 0x02, 0x7F },   // М 0xCC 204
		   { 0x7F, 0x08, 0x08, 0x08, 0x7F },   // Н 0xCD 205
		   { 0x3E, 0x41, 0x41, 0x41, 0x3E },   // О 0xCE 206
		   { 0x7F, 0x01, 0x01, 0x01, 0x7F },   // П 0xCF 207
		   { 0x7F, 0x09, 0x09, 0x09, 0x06 },   // Р 0xD0 208
		   { 0x3E, 0x41, 0x41, 0x41, 0x22 },   // С 0xD1 209
		   { 0x01, 0x01, 0x7F, 0x01, 0x01 },   // Т 0xD2 210
		   { 0x07, 0x48, 0x48, 0x48, 0x3F },   // У 0xD3 211
		   { 0x0E, 0x11, 0x7F, 0x11, 0x0E },   // Ф 0xD4 212
		   { 0x63, 0x14, 0x08, 0x14, 0x63 },   // Х 0xD5 213
		   { 0x3F, 0x20, 0x20, 0x3F, 0x60 },   // Ц 0xD6 214
		   { 0x07, 0x08, 0x08, 0x08, 0x7F },   // Ч 0xD7 215
		   { 0x7F, 0x40, 0x7E, 0x40, 0x7F },   // Ш 0xD8 216
		   { 0x3F, 0x20, 0x3F, 0x20, 0x7F },   // Щ 0xD9 217
		   { 0x01, 0x7F, 0x48, 0x48, 0x30 },   // Ъ 0xDA 218
		   { 0x7F, 0x48, 0x30, 0x00, 0x7F },   // Ы 0xDB 219
		   { 0x00, 0x7F, 0x48, 0x48, 0x30 },   // Ь 0xDC 220
		   { 0x22, 0x41, 0x49, 0x49, 0x3E },   // Э 0xDD 221
		   { 0x7F, 0x08, 0x3E, 0x41, 0x3E },   // Ю 0xDE 222
		   { 0x46, 0x29, 0x19, 0x09, 0x7F },   // Я 0xDF 223
		   { 0x20, 0x54, 0x54, 0x54, 0x78 },   // а 0xE0 224
		   { 0x3C, 0x4A, 0x4A, 0x4A, 0x31 },   // б 0xE1 225
		   { 0x7C, 0x54, 0x54, 0x28, 0x00 },   // в 0xE2 226
		   { 0x7C, 0x04, 0x04, 0x0C, 0x00 },   // г 0xE3 227
		   { 0x60, 0x3C, 0x24, 0x3C, 0x60 },   // д 0xE4 228
		   { 0x38, 0x54, 0x54, 0x54, 0x18 },   // е 0xE5 229
		   { 0x6C, 0x10, 0x7C, 0x10, 0x6C },   // ж 0xE6 230
		   { 0x00, 0x44, 0x54, 0x54, 0x28 },   // з 0xE7 231
		   { 0x7C, 0x20, 0x10, 0x08, 0x7C },   // и 0xE8 232
		   { 0x7C, 0x21, 0x12, 0x09, 0x7C },   // й 0xE9 233
		   { 0x7C, 0x10, 0x28, 0x44, 0x00 },   // к 0xEA 234
		   { 0x40, 0x38, 0x04, 0x04, 0x7C },   // л 0xEB 235
		   { 0x7C, 0x08, 0x10, 0x08, 0x7C },   // м 0xEC 236
		   { 0x7C, 0x10, 0x10, 0x10, 0x7C },   // н 0xED 237
		   { 0x38, 0x44, 0x44, 0x44, 0x38 },   // о 0xEE 238
		   { 0x7C, 0x04, 0x04, 0x04, 0x7C },   // п 0xEF 239
		   { 0x7C, 0x14, 0x14, 0x14, 0x08 },   // р 0xF0 240
		   { 0x38, 0x44, 0x44, 0x44, 0x00 },   // с 0xF1 241
		   { 0x04, 0x04, 0x7C, 0x04, 0x04 },   // т 0xF2 242
		   { 0x0C, 0x50, 0x50, 0x50, 0x3C },   // у 0xF3 243
		   { 0x08, 0x14, 0x7C, 0x14, 0x08 },   // ф 0xF4 244
		   { 0x44, 0x28, 0x10, 0x28, 0x44 },   // х 0xF5 245
		   { 0x3C, 0x20, 0x20, 0x3C, 0x60 },   // ц 0xF6 246
		   { 0x0C, 0x10, 0x10, 0x10, 0x7C },   // ч 0xF7 247
		   { 0x7C, 0x40, 0x7C, 0x40, 0x7C },   // ш 0xF8 248
		   { 0x3C, 0x20, 0x3C, 0x20, 0x7C },   // щ 0xF9 249
		   { 0x04, 0x7C, 0x50, 0x50, 0x20 },   // ъ 0xFA 250
		   { 0x7C, 0x50, 0x20, 0x00, 0x7C },   // ы 0xFB 251
		   { 0x00, 0x7C, 0x50, 0x50, 0x20 },   // ь 0xFC 252
		   { 0x28, 0x44, 0x54, 0x54, 0x38 },   // э 0xFD 253
		   { 0x7C, 0x10, 0x38, 0x44, 0x38 },   // ю 0xFE 254
		   { 0x48, 0x54, 0x34, 0x14, 0x7C }    // я 0xFF 255
};

 

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

это для матричных экранов, для лед1602 все "немного" не так

 

Владимир 2018
Offline
Зарегистрирован: 17.03.2018

Это видео на днях смотрел. Вижу там энкодер. Тоже очень хочется сделать на нем управление. Но это потом. Все сразу для меня сложно.:)

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

ищите 1602 с русским знакогенератором. На импортном не получится (сложно для вас будет очень) Он символы кирилицы генерит на лету как битовую картинку 5х7. Максимально одновременно только 8 символов (попробуйте для примера вывести 2 слова "будильник сработал" в 2 строки). и тип данных там wchar.....

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

Энкодер тоже штука довольно хреновая - требует для своей работы таймер и прерывания. На нативном ардуино (атмега) еще более менее, а вот на есп - не очень. Проще и удобнее 5 кнопок (имхо)

Владимир 2018
Offline
Зарегистрирован: 17.03.2018

pilnikov пишет:

ищите 1602 с русским знакогенератором. На импортном не получится (сложно для вас будет очень) Он символы кирилицы генерит на лету как битовую картинку 5х7. Максимально одновременно только 8 символов (попробуйте для примера вывести 2 слова "будильник сработал" в 2 строки). и тип данных там wchar.....

С библиотекой RUS получалось, но не более 8 символов на этом же дисплее. А в данном проекте даный способ у меня не получился, облом. :)

Пробовал на  OLED делать собственный шрифт, получалось. Там тоже символы в виде битовой картинки отображаются. А как в LCD подобное сделать я не знаю. Если можно подскажите, что куда подставить (символы 5х7)? Или это в двух словах не рассказать? В каком файле это находится? В библиотеке?

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

это немного не эта тема все же. но если в кратце.... в ардуино кирилица это аscii таблица с номерами символов 1400-1500 (примерно). Большинство графических и текстовых библиотек (драйверов экранов) умеют работать только с таблицей utf8 с числом символов 255, где символы до 127 это стандартная латиница - ее могут все отображать - она что в аски что в утф под одними и теми же номерами, а вот чтобы вывести кирилицу необходимо сначала сдвинуть поле номеров (кодов символов) 1400-1500 в поле с номерами 192 (код буквы "А") - 255 (код буквы "я"). Далее нужно чтоб ваш шрифт был "кирилизирован" - т.е содержал изображения символов "А-я" в полях со192 по 255 (по умолчанию там обычно кракозябры). В нерусских лсд1602 кирилические символы - это символы создаваемые юзером как картинка 5х7. Их может быть макс 8. 

Чтобы писать по русски на импортном лсд вам нужно создать битовую таблицу (шрифт) и  сделать шифтер для перевода аски в утф.

Для наших лсд у меня есть решение, т.к. шрифт в них уже вшит.

ShAlex13
Offline
Зарегистрирован: 19.01.2018

pilnikov пишет:

ищите 1602 с русским знакогенератором. На импортном не получится (сложно для вас будет очень)

https://www.chipdip.ru/product/mt-16s2h-2ylg

Такой индикатор должен решить проблему

https://static.chipdip.ru/lib/243/DOC000243344.pdf

Владимир 2018
Offline
Зарегистрирован: 17.03.2018

To pilnikov:

Спасибо

To ShAlex13:

Спасибо

Владимир 2018
Offline
Зарегистрирован: 17.03.2018

Получилось подключить LCD 16x2 без поддержки русского языка с помощью вышеупомянутой библиотеки LiquidCrystal_1602_RUS. Пришлось в скетче на экран изменить строку инициализации для дисплея (// initialize the library with the numbers of the interface pins).

Было так:

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

А сделал так:

LiquidCrystal_1602_RUS lcd(12, 11, 5, 4, 3, 2);

И все заработало, только если количество "русских" букв больше 8-ми, то на последующих символы не распознаются, но все же читаемо. Посмотрю если не будет сильно напрягать такое отображение букв, то оставлю так, а если надоест тогда заменю на экран с поддержкой русского языка.

Вот теперь пробую этот же дисплей 1602 подключить по I2C шине. Библиотеки скачал, а что-то пока не получается.

А можно сделать так, чтобы номер станции отображался из списка станций?

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

Владимир 2018 пишет:

А можно сделать так, чтобы номер станции отображался из списка станций?

##CLI.NAMESET#: 15 Discoteka 90x
дешифруйте и подставляйте
 

Владимир 2018 пишет:

Вот теперь пробую этот же дисплей 1602 подключить по I2C шине. Библиотеки скачал, а что-то пока не получается.

Получится - напишите как. Я тоже с месяц пытался. 
Русифицированный кстати по i2c подключен и работает, и даже бегущая строка работает на русском
ShAlex13
Offline
Зарегистрирован: 19.01.2018

pilnikov пишет:

...и даже бегущая строка работает на русском

Скорость вывода тоже регулируется?

Владимир 2018
Offline
Зарегистрирован: 17.03.2018

pilnikov пишет:

##CLI.NAMESET#: 15 Discoteka 90x

дешифруйте и подставляйте
 
 

Получится - напишите как. Я тоже с месяц пытался. 

Русифицированный кстати по i2c подключен и работает, и даже бегущая строка работает на русском

Пытаюсь понять как дешифровать...

Если получится сообщу.

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

ShAlex13 пишет:

Скорость вывода тоже регулируется?

Регулируется 

На самом деле сложности с бегущей строкой возникают из за разности в ширине символов - латиница и спецсимволы = 1 байт, кирилица = 2 байта. После этого посчитайте корректно общую длину смешаной строки, состоящей из тех и этих.

Владимир 2018
Offline
Зарегистрирован: 17.03.2018

pilnikov пишет:

Владимир 2018 пишет:

А можно сделать так, чтобы номер станции отображался из списка станций?

##CLI.NAMESET#: 15 Discoteka 90x
дешифруйте и подставляйте
 

Владимир 2018 пишет:

Вот теперь пробую этот же дисплей 1602 подключить по I2C шине. Библиотеки скачал, а что-то пока не получается.

 

Получится - напишите как. Я тоже с месяц пытался. 
Русифицированный кстати по i2c подключен и работает, и даже бегущая строка работает на русском

Получилось подключить I2C экран. С помощью библиотеки "LCD_1602_RUS.h" отображаются русские буквы.

Скачать ее можно отсюда:

https://github.com/ssilver2007/LCD_1602_RUS

А вот как дешифровать и куда подставлять не пойму:

##CLI.NAMESET#: 15 Discoteka 90x
pilnikov
pilnikov аватар
Offline
Зарегистрирован: 28.08.2015
///////////////////////////////////////
// parse the karadio received line and do the job
void parse(char* line)
 
Это парсер (декодировщик). В нем дописываете условия для NAMESET# и вперед.
 
За лсд спасибо! - буду пробовать
pilnikov
pilnikov аватар
Offline
Зарегистрирован: 28.08.2015
void parser1(String inStr)
{
  /*
    ##SYS.DATE#: 2018-03-30T19:07:55+00:00
    ##CLI.NAMESET#: 9 Шансон
    ##CLI.ICY0#: 101.ru: Shanson2
    ##CLI.ICY3#: http:\/\/www.101.ru\/
    ##CLI.META#: BILLIY'S BAND - Простим Друг Друга - 0:00
    ##CLI.VOL#: 129
    ##CLI.PLAYING#
  */

  char inChr; //Обрабатываемый символ
  byte    i = 0;
  String nStr = ""; // Имя переменной
  String vStr = ""; // значение
  bool tag_v;

  for ( uint16_t n = 0; n < inStr.length(); n++)
  {
    inChr = inStr[n];
    if (inStr[n] == '\n')
    {
      if (vStr > "")
      {
        byte vInd = 0;
        if      (nStr == "##SYS.DATE#:")    vInd =  1;
        else if (nStr == "##CLI.NAMESET#:") vInd =  2;
        else if (nStr == "##CLI.ICY0#:")    vInd =  3;
        else if (nStr == "##CLI.ICY3#:")    vInd =  4;
        else if (nStr == "##CLI.META#:")    vInd =  5;
        else if (nStr == "##CLI.VOL#:")     vInd =  6;
        else if (nStr == "##CLI.PLAYING#")  vInd =  7;

        switch (vInd)
        {
          case 1:
            break;
          case 2:
            break;
          case 3:
            sta = vStr;
            break;
          case 4:
            break;
          case 5:
            stl = vStr;
            break;
          case 6:
            break;
          case 7:
            break;
        }
      }

      nStr = ""; // clear the string "low name" for new input:
      vStr = ""; // clear the string "value"    for new input:
      tag_v = false;
    }
    else
    {
      if (!tag_v) nStr += (char)inChr; //Формируем Имя переменной
      if (inStr[n] == ':') tag_v = true;
      else
      {
        if (tag_v) vStr += (char)inChr; //Формируем значение
      }
    }
  }
 }

Это мой парсер. В 'case 2' вставляете  'строка = vStr;' и будет вам в "строка" значение  "15 Discoteka 90x". А там уж куда хотите туда и выводите

Владимир 2018
Offline
Зарегистрирован: 17.03.2018

pilnikov пишет:

Это мой парсер...

Спасибо, буду пробовать.

shurik12330
Offline
Зарегистрирован: 05.02.2018

Shalex13, красную плату еще не получили?

Моя наконец-то прилетела в Минск и прошла таможню. На днях получу.

В этот раз что-то очень долго посылка идет.

 

Sanchezz
Offline
Зарегистрирован: 18.04.2018

Подскажите, есть ли решение для передачи аудиопотока на ESP с телефона?

Что то типа онлайн радио на базе андроид. Я пытался найти подобные приложения, но ни какого результата не достиг. Делать связку с блютуз модулем не охота, если можно попробовать обойтись существующим каналом.

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

Запускайте на телефоне мультикаст и цепляйтесь к нему еспишкой

Ищите в гугле "как запустить свою радиостанцию с телефона"

ShAlex13
Offline
Зарегистрирован: 19.01.2018

shurik12330 пишет:

Shalex13, красную плату еще не получили?

Моя наконец-то прилетела в Минск и прошла таможню. На днях получу.

В этот раз что-то очень долго посылка идет.

Еще не получил...где-то гуляет еще...