LCD 1602 и русские символы

gost1979
Offline
Зарегистрирован: 08.12.2016

спасибо ssilver2007, автору поста #18

"глюк IDE, при котором макрос L неверно работает при изменении скетча. То есть надо изменить пример, сохранить с новым именем или в новое место. После этого все прекрасно компилится."

- сохранил под другим именем в то же место - заработало.

у меня 1602 шиелд(без кирилицы) с кнопками(в наборе был).

LiquidCrystal_1602_RUS lcd(8, 9, 4, 5, 6, 7 ) - номера из библиотеки подошли

яркость была выкручена так, что казался нерабочим, крутил до появления прямоугольников тёмных

пакет(на фото) подсунул чтобы не коротнуть контакты шиелда об корпус юсб на ардуино)

напряжение на кнопках( analogRead(A0) ) : sel -720, left - 479, up - 131, down - 305, right - 0.

проверял кириллицу выводя на экран символы по порядку:

void loop() {
 
   lcd.setCursor(0, 0);
  lcd.write(byte(x));
   lcd.print("  ");
  lcd.print(x);
    delay(700);
     x=x+1;
   lcd.clear();
  if (x>=255) x=0;
  
}

 

Eldobaz
Offline
Зарегистрирован: 18.02.2017

Приветствую!

Не могу разобраться как вывести на дисплей символ градуса. Еще не понятный глюк - самодельные символы стандартными средствами библиотеки отобразить не получается - в цикле при очистка экрана печатаются произвольные буквы.

Помогите, плз.

Клапауций 823
Клапауций 823 аватар
Offline
Зарегистрирован: 13.01.2017

Eldobaz пишет:

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

нарисовать самодельный

Eldobaz пишет:

Еще не понятный глюк - самодельные символы стандартными средствами библиотеки отобразить не получается - в цикле при очистка экрана печатаются произвольные буквы.

без публикации кода - вопрос не имеет смысла

lean_74
Offline
Зарегистрирован: 22.12.2015
lcd.print((char)223);

 

ssilver2007
Offline
Зарегистрирован: 21.01.2016

Для вывода знака градуса необходимо в IDE в тексте скетча набрать с клавиатуры код: Alt+0176 (цифры набираются на Numeric keyboard). Должно получится вот так:

lcd.print("°");

 

Клапауций 823
Клапауций 823 аватар
Offline
Зарегистрирован: 13.01.2017

ssilver2007 пишет:

Для вывода знака градуса необходимо в IDE в тексте скетча набрать с клавиатуры код: Alt+0176 (цифры набираются на Numeric keyboard). Должно получится вот так:

lcd.print("°");

 

возможно, но в дефолтной библиотеке это не работает.

ssilver2007
Offline
Зарегистрирован: 21.01.2016

Клапауций 823 пишет:

возможно, но в дефолтной библиотеке это не работает.

А так?

lcd.print(L"°");

 

Клапауций 823
Клапауций 823 аватар
Offline
Зарегистрирован: 13.01.2017

ssilver2007 пишет:

А так?

lcd.print(L"°");


 error: converting to execution character set: Illegal byte sequence

 lcd.setCursor( 0, 0); lcd.print(L"°");

                                 ^

какой смысл гадать на хрустальном шаре, если не поддерживает дефолтная библиотека юникод?

ssilver2007
Offline
Зарегистрирован: 21.01.2016

Клапауций 823 пишет:

ssilver2007 пишет:

А так?

lcd.print(L"°");


 error: converting to execution character set: Illegal byte sequence

 lcd.setCursor( 0, 0); lcd.print(L"°");

                                 ^

какой смысл гадать на хрустальном шаре, если не поддерживает дефолтная библиотека юникод?

Чтобы не писать глупости и других не вводить в заблуждение, советую прочитать пост #18: http://arduino.ru/forum/obshchii/lcd-1602-i-russkie-simvoly#comment-174269

Клапауций 823
Клапауций 823 аватар
Offline
Зарегистрирован: 13.01.2017

ssilver2007 пишет:

Чтобы не писать глупости и других не вводить в заблуждение, советую прочитать пост #18: http://arduino.ru/forum/obshchii/lcd-1602-i-russkie-simvoly#comment-174269

что бы не упрекать в глупостях, прошу внимательно читать свои и мои посты

ssilver2007 пишет:

Библиотека LCD_1602_RUS.h подключена в установленом порядке.

Клапауций 823 пишет:

не поддерживает дефолтная библиотека

дефолтная библиотека LiquidCrystal

gost1979
Offline
Зарегистрирован: 08.12.2016

если тебе только символы нужны а не буквы русские, с обычной библиотекой

LiquidCrystal.h попробуй, вот код - выведет % если у тебя экран как у меня,

скопируй вставь в ардуино-оболочку, скомпилируй посмотри...

(основная идея - с помощью строки lcd.write(byte(x)); ,  выводим на экран символ по его коду,

у разных экранов разные коды одних и тех же символов)

например у моего по кодам: 0-33 и 128-160 пустые, %-37, градус-1 и 9, у-191, э-174, Э-214, ч-249


#include <LiquidCrystal.h>

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);//пины поправь если у тебя другие
int x=37;//у меня выводит % по этому коду
   
void setup() {

  lcd.begin(0, 1);

}

void loop() {

  lcd.setCursor(5, 0);
  lcd.write(byte(x)); //получим символ «%» - его код на моём дисплее равен 37
 lcd.print("  ");
  lcd.print(x);  
  delay(700);
  lcd.clear();
  
}

 

ssilver2007
Offline
Зарегистрирован: 21.01.2016

Клапауций 823 пишет:

что бы не упрекать в глупостях, прошу внимательно читать свои и мои посты

ssilver2007 пишет:

Библиотека LCD_1602_RUS.h подключена в установленом порядке.

Клапауций 823 пишет:

не поддерживает дефолтная библиотека

дефолтная библиотека LiquidCrystal

Автор вопроса задавал его в теме про русификацию LCD 1602. Отвечать в этой теме про использование дефолтной библиотеки является оффтопом. Читайте название темы перед тем, как в ней отвечать.

Клапауций 823
Клапауций 823 аватар
Offline
Зарегистрирован: 13.01.2017

ssilver2007 пишет:

Автор вопроса задавал его в теме про русификацию LCD 1602. Отвечать в этой теме про использование дефолтной библиотеки является оффтопом. Читайте название темы перед тем, как в ней отвечать.

ок. сделай фотку результата твоей рекомендации - ты же в нужной теме это запостил?

ssilver2007 пишет:

А так?

lcd.print(L"°");

ssilver2007
Offline
Зарегистрирован: 21.01.2016

Клапауций 823 пишет:

ок. сделай фотку результата твоей рекомендации - ты же в нужной теме это запостил?

#include <LiquidCrystal_1602_RUS.h>

//LiquidCrystal_1602_RUS lcd(12, 11, 5, 4, 3, 2);
LiquidCrystal_1602_RUS lcd(8, 9, 4, 5, 6, 7 );//For LCD Keypad Shield

void setup()
{
  // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
  // Print a message to the LCD.
  lcd.setCursor(1, 0);
  lcd.print(L"Для Клапауция:");
  lcd.setCursor(7, 1);
  lcd.print(L"°");
}

void loop()
{
}

Результат:

Есть еще вопросы?

Клапауций 823
Клапауций 823 аватар
Offline
Зарегистрирован: 13.01.2017

ssilver2007 пишет:
Есть еще вопросы?

есть вопрос один - нафиг эта библиотека, если она делает?

      case 0x00B0: //Знак градуса
        LiquidCrystal_I2C::write(223);
варианта решения проблемы два:
- юзаем встроенный в индикатор знакогенератор.
- рисуем недостающее количеством восемь заказных символов.
всё.
 
приводить в пример 100500 библиотек, которые используют все перечисленные(аж два) варианты - тупо.
ssilver2007
Offline
Зарегистрирован: 21.01.2016

Клапауций 823 пишет:

есть вопрос один - нафиг эта библиотека, если она делает?

      case 0x00B0: //Знак градуса
        LiquidCrystal_I2C::write(223);
варианта решения проблемы два:
- юзаем встроенный в индикатор знакогенератор.
- рисуем недостающее количеством восемь заказных символов.
всё.
 
приводить в пример 100500 библиотек, которые используют все перечисленные(аж два) варианты - тупо.

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

Оба варианта - уже обсуждались в этой теме. Автор поста #54 шел по пути варианта 1, я - по пути варианта 2 (использование библиотеки с переназначением символов).

Если вам были известны оба эти варианта, почему вы о них ни слова не сказали, а несли чушь? И назовите-ка еще хоть одну библиотеку, которая позволяет осуществить вывод кириллицы на LCD, причем текст можно писать по-русски НЕПОСРЕДСТВЕННО в скетче?

Клапауций 823
Клапауций 823 аватар
Offline
Зарегистрирован: 13.01.2017

ssilver2007 пишет:

Если вам были известны оба эти варианта, почему вы о них ни слова не сказали, а несли чушь? 

т.е. я предложил третий вариант, а о двух остальных подло умолчал?

ssilver2007 пишет:

И назовите-ка еще хоть одну библиотеку, которая позволяет осуществить вывод кириллицы на LCD, причем текст можно писать по-русски НЕПОСРЕДСТВЕННО в скетче?

зачем мне это делать, если знак градуса не является кириллическим символом?

ssilver2007
Offline
Зарегистрирован: 21.01.2016

Клапауций 823 пишет:

т.е. я предложил третий вариант, а о двух остальных подло умолчал?

Третий вариант назвал, при этом утверждая, что вариант №2 нерабочий. Чушь? Однозначно!

ssilver2007 пишет:

И назовите-ка еще хоть одну библиотеку, которая позволяет осуществить вывод кириллицы на LCD, причем текст можно писать по-русски НЕПОСРЕДСТВЕННО в скетче?

зачем мне это делать, если знак градуса не является кириллическим символом?

[/quote]

Так это ваше утверждение, что есть еще 100500 библиотек, вам его и доказывать.

Клапауций 823
Клапауций 823 аватар
Offline
Зарегистрирован: 13.01.2017

ssilver2007 пишет:

Третий вариант назвал, при этом утверждая, что вариант №2 нерабочий. Чушь? Однозначно!

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

здесь #53 я предложил нарисовать символ градуса.

что тебе не так?

 

ssilver2007
Offline
Зарегистрирован: 21.01.2016

Клапауций 823 пишет:

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

здесь #53 я предложил нарисовать символ градуса.

что тебе не так?

Я запостил фотку результата работы скетча. Текст тоже выложил. Ты совсем  тупой? Или у тебя интеллект не справляется с задачей ТУПО ПОВТОРИТЬ МОЙ ПРИМЕР и проверить самому? Или снова ничего не сделаешь, а будешь как глупый попугай повторять бред, мол этот метод не работает, lcd.print("°") не выводит знак градуса, так как юникод не поддерживает? Пора тебе заканчивать с бредом, и слушать умных людей.

Клапауций 823
Клапауций 823 аватар
Offline
Зарегистрирован: 13.01.2017

ssilver2007 пишет:

ТУПО ПОВТОРИТЬ МОЙ ПРИМЕР и проверить самому? Или снова ничего не сделаешь, а будешь как глупый попугай повторять бред, мол этот метод не работает, lcd.print("°") не выводит знак градуса, так как юникод не поддерживает?

- твой пример рисует знак градуса.
- я предлагаю рисовать знак градуса.
- дефолтная библиотека не поддерживает юникод.
 
в чём суть конфликта?

 

Eldobaz
Offline
Зарегистрирован: 18.02.2017

Спасибо за ответ и за отличную библиотеку. Сильно облегчает жизнь новичку :)

С градусами помог этот вариант:

lcd.print(L"°");

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

Например, нарисовал стрелку:

byte arrow [8] = {
    0b00000,
    0b00100,
    0b00100,
    0b00100,
    0b00100,
    0b10101,
    0b01110,
    0b00100
};

Как ее вывести на 1602.

miasoft
Offline
Зарегистрирован: 16.05.2017

Спасибо! 

P.S. Для LCD не I2C  надо заменить

#include "LiquidCrystal_I2C.h"  на #include "LiquidCrystal.h"

вместо

lcd.init();  

 

lcd.backlight();

просто 

lcd.begin(16, 2);

 

и все

 lcd.write(0)  на lcd.write((byte)0)

khseal
Offline
Зарегистрирован: 15.01.2016

Может кто нибудь подскажет, библиотека что выше обсуждается хорошо печатает из консоли ардуины и там похоже кодировка Win.

А вот из других консолей идет мусор. Т.к. там кодировка UTF-8. Как к этой библиотеке прикрутить UTF-8 и в консоле? А то у меня знаний не хватает. 

tonicam
Offline
Зарегистрирован: 22.09.2017

Нужна помощь.

Купил с китая LCD GH1602-2502 продавец утверждает, что в указанный LCD защита кирилица(русский), но все комбинации, которые я знаю не дает результата. выходят какието ероглифы с двоеточией сверху.

вот ссылка на даташит https://cloud.mail.ru/public/7zP5/WxEsAVgBU

Помогите написать скетч вывода русских букв.

выводил все символы следующим образом:

#include <LiquidCrystal.h>


LiquidCrystal lcd(8, 9, 10, 11, 12, 13);

void setup() {
  
  lcd.begin(16, 2);
  pinMode(3, OUTPUT); // для подсветки
}

void loop() {
  digitalWrite(3, HIGH); // включаю подсветку
  int currentRow = 0;
  int currentCol = 0;
  for (int letter = 0; letter <= 255; letter++) {
    lcd.setCursor(currentCol, currentRow-1);
    lcd.print(char(letter));
    currentCol++;
      if (currentCol > 16){
        currentCol = 0;
       if (currentRow < 1 ){
        currentRow++;
        }
      else {
        delay(5000);
        lcd.clear();
        currentRow = 0;            
      }
    }
  }       


}

 

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

tonicam, этот скетч выводит весь знакогенератор. Если там нет русских букв -значит их там нет.

tonicam
Offline
Зарегистрирован: 22.09.2017

Но в даташите есть русский. при выставлении претензии об отсутствии кириллицы они выслали вот этот документ:

https://cloud.mail.ru/public/ChLy/QeBmYsdqK 

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

404, страница не найдена, русского нет. Пичалька. :(

tonicam
Offline
Зарегистрирован: 22.09.2017
dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

tonicam, кириллица гарантированно есть в отечественных дисплеях( мэлт) и в winstar' ах с определённой буквенной маркировкой(инфо есть на сайте винстара) Остальные -никаких гарантий, даже если продавец клянётся что есть :)

Tomasina
Tomasina аватар
Offline
Зарегистрирован: 09.03.2013

Китайцам что русский, что французский - все на одно лицо.

tonicam
Offline
Зарегистрирован: 22.09.2017

Спасибо всем.

Клапауций 112
Клапауций 112 аватар
Offline
Зарегистрирован: 01.03.2017

DetSimen пишет:

404, страница не найдена, русского нет. Пичалька. :(

теория и практика русофобии.

vek
vek аватар
Offline
Зарегистрирован: 14.01.2018

khseal пишет:

Может кто нибудь подскажет, библиотека что выше обсуждается хорошо печатает из консоли ардуины и там похоже кодировка Win.

А вот из других консолей идет мусор. Т.к. там кодировка UTF-8. Как к этой библиотеке прикрутить UTF-8 и в консоле? А то у меня знаний не хватает. 

Вот тут посмотрите. Можно использовать обе кодировки.

Кстати, Arduino IDE как раз на utf-8 жестко завязан, причем все время норовит перекодировать кириллицу незнамо во что. Одна из причин, из-за которой юзаю для редактирования кода notepad++.

maxvalin
Offline
Зарегистрирован: 22.02.2016

ssilver2007 пишет:

Еще есть известный уже глюк IDE, при котором макрос L неверно работает при изменении скетча. То есть надо изменить пример, сохранить с новым именем или в новое место. После этого все прекрасно компилится.

известный глюк на сегодня так и не побежден?

Olej
Olej аватар
Offline
Зарегистрирован: 05.03.2018

Duino A.R. пишет:

В дисплеях МЭЛТ гарантированно есть все русские буквы.

Who is МЭЛТ? ;-)

Olej
Olej аватар
Offline
Зарегистрирован: 05.03.2018

ssilver2007 пишет:

sprintf не работает с типом wchar_t. Либо руками выводите пременную, либо пишите свою процедуру для обработки строки в wchar_t.

В новых (свежих) стандартах C sprintf()/printf() замечательно работает с wchar_t - для этого введен новый спецификатор формата: "%S" (S большое). Так что всё зависит от реализации.

 

Olej
Olej аватар
Offline
Зарегистрирован: 05.03.2018

ssilver2007 пишет:

Тип char - однобайтовое кодирование символа.

Тип wchar_t - двухбайтовое кодирование символа.

Строка типа char может содержать только латиницу. Информация по кириллице будет потеряна. Нет. Так сделать нельзя.

Не совсем так...

1. wchar_t 2-х байтовая кодировка - это только у выньдаунов ... В Linux, да и во всём остальном нормальном мире, wchar_t - это 4-х байтовая кодировка. А вообще, wchar_t - это численное значение кодов UNICODE, принятое в конкретной системе.

2. Строка char, если в ней записаны байтовые последовательности UTF-8 представлений, может содержать любой язык, не только русский, но и китайские иероглифы.

 

  

ssilver2007
Offline
Зарегистрирован: 21.01.2016

Olej пишет:

Не совсем так...

1. wchar_t 2-х байтовая кодировка - это только у выньдаунов ... В Linux, да и во всём остальном нормальном мире, wchar_t - это 4-х байтовая кодировка. А вообще, wchar_t - это численное значение кодов UNICODE, принятое в конкретной системе.

2. Строка char, если в ней записаны байтовые последовательности UTF-8 представлений, может содержать любой язык, не только русский, но и китайские иероглифы.

В линуксе не работал, но вики говорит, что так и есть. Не спорю. В виндовой версии Arduino IDE, насколько мне известно, нет никакой поддержки wchar_t встроенным компилятором. Формат "%S" для вывода wchar_t использовать не получится.

Olej
Olej аватар
Offline
Зарегистрирован: 05.03.2018

ssilver2007 пишет:

Русификация для дисплеев LCD 1602 с шиной I2C:

https://github.com/ssilver2007/LCD_1602_RUS

Для обычных дисплеев:

https://github.com/ssilver2007/LiquidCrystal_1602_RUS

Сегодня-завтра приедет дисплей - стану пробовать.

А вообще, за подобные работы, конечно: большое спасибо ... даже если оно "сразу в лоб" и не становится и требует под себя мелких доработок, как обычно бывает.

 

andycat
andycat аватар
Offline
Зарегистрирован: 07.09.2017

Olej пишет:

ssilver2007 пишет:

Русификация для дисплеев LCD 1602 с шиной I2C:

https://github.com/ssilver2007/LCD_1602_RUS

Для обычных дисплеев:

https://github.com/ssilver2007/LiquidCrystal_1602_RUS

Сегодня-завтра приедет дисплей - стану пробовать.

А вообще, за подобные работы, конечно: большое спасибо ... даже если оно "сразу в лоб" и не становится и требует под себя мелких доработок, как обычно бывает.

 

по второй ссылке библиотека прекрасно работает без всяких доработок

maxvalin
Offline
Зарегистрирован: 22.02.2016

У меня по ругается на L :(
Каждый раз пересохранять не удобно

Olej
Olej аватар
Offline
Зарегистрирован: 05.03.2018

maxvalin пишет:
У меня по ругается на L :( Каждый раз пересохранять не удобно

1. Как писали - это "фича" Arduino IDE. У вас какая ОС и какая версия Arduino IDE?

2. Длинные строки: L"..." - это принадлежность языка C со стандарта C99 (1999г.) ... и даже, слегка, с C89 (1989г.). Так что если кто-то (Arduino IDE) не научился этим пользоваться за 29 лет - это его проблемы.

 

maxvalin
Offline
Зарегистрирован: 22.02.2016

7ка, ide1.6.
Я понял не судьба, тогда библиотеку зачем плодить?
Она же для ide arduino сделана?

Olej
Olej аватар
Offline
Зарегистрирован: 05.03.2018

maxvalin пишет:
7ка, ide1.6. Я понял не судьба, тогда библиотеку зачем плодить? Она же для ide arduino сделана?

Если с библиотекой всё нормально, а Arduino IDE - горбатое ... то где здесь лошадь и где телега?

Если вы ни хера не дружите со стандартами - то кто вам доктор?

 

 

maxvalin
Offline
Зарегистрирован: 22.02.2016

Не надо если кать и херкать.
Если ide не подходит, тогда скажите это. У меня обичный ардуиновский компилятор. Если она работает под какойто определенной версией, укажите какой. Если вообще под ide не работает тогда вчем дело? Причем тут горбатость?
Я понимаю с99 ибо stm 32 изучаю но по даной теме что-то не понял. Данная библиотека для чего делалась? Под какой компилятор?

ssilver2007
Offline
Зарегистрирован: 21.01.2016

maxvalin пишет:
Не надо если кать и херкать. Если ide не подходит, тогда скажите это. У меня обичный ардуиновский компилятор. Если она работает под какойто определенной версией, укажите какой. Если вообще под ide не работает тогда вчем дело? Причем тут горбатость? Я понимаю с99 ибо stm 32 изучаю но по даной теме что-то не понял. Данная библиотека для чего делалась? Под какой компилятор?

Дело не в компиляторе, а в кривости реализации возможностей компилятора оболочкой IDE (пути неправильно передает в командной строке или еще что-то, не суть важно). Если уж они не удосужились сделать нормальной работу с wchar_t (хотя по стандарту C эта возможность есть, и компилятор ее наверняка поддерживал), то это вина разработчиков IDE, или разработчиков, пишущих под их IDE в соответствии со стандартом C?

Olej
Olej аватар
Offline
Зарегистрирован: 05.03.2018

maxvalin пишет:
Не надо если кать и херкать.

Ну так и я вам о том же! ;-)

maxvalin пишет:
Если вообще под ide не работает тогда вчем дело? Причем тут горбатость?

Дело здесь "при том", что пишут это IDE студенты и пионеры, используя преждние наработки проекта Processing.

Цитата:

Не стреляйте в пианиста - он играет как умеет!

 

Любое ПО может содержать ошибки. И вам давно уже написали в чём это выражается:

ssilver2007 пишет:

Еще есть известный уже глюк IDE, при котором макрос L неверно работает при изменении скетча. То есть надо изменить пример, сохранить с новым именем или в новое место. После этого все прекрасно компилится.

maxvalin пишет:

Я понимаю с99 ибо stm 32 изучаю

Вы, наверное, здесь ожидали, что я тут стану оспаривать ваши глубочайшие познания в C99? Нет. Не стану... 

Продолжайте изучать. ;-)

maxvalin пишет:

Данная библиотека для чего делалась?

В мире свободного и открытого ПО всё делается по принципу: кому нравится - берёт и использует, кому не нравится ... - закрыл рот и пошёл искать дальше...
 
Olej
Olej аватар
Offline
Зарегистрирован: 05.03.2018

ssilver2007 пишет:

Еще есть известный уже глюк IDE, при котором макрос L неверно работает при изменении скетча. То есть надо изменить пример, сохранить с новым именем или в новое место. После этого все прекрасно компилится.

Специально проверил в IDE Симулятор Arduino (Tinkercad от AutoDesk) на этот предмет. Там этого глюка нет! Т.е. это определённо кривые руки разработчиков Arduino IDE, а не какие-то особенности компилятора, библиотек, стандартов языка и  т.д.

Думаю (только IMHO!), что существует более простой и удобный способ, чем пересохранение скетча под новым именем (так обычно бывает, что существует). Его нужно просто найти ... поняв в чём там у них состоит баг.

 

 

Olej
Olej аватар
Offline
Зарегистрирован: 05.03.2018

maxvalin пишет:
У меня обичный ардуиновский компилятор. ... Под какой компилятор?

Компилятор там один, и никакого другого быть не может: AVR-GCC .

maxvalin пишет:
Если ide не подходит, тогда скажите это. ... Причем тут горбатость?

https://www.drive2.ru/b/2520138/

Цитата:

"Здесь много проектных решений, которые выглядят, по меньшей мере, странно для настоящего инженера" — говорит со смехом Банци — "Но я не настоящий инженер, поэтому я избрал такой глупый путь".

https://ru.wikipedia.org/wiki/Arduino

Цитата:

Название платформы происходит от названия одноимённой рюмочной в Иврее, часто посещавшейся учредителями проекта, ...