Описание проблемы: 1) на Strelu установил LCD MT-08S2A (экран 8х2); 2) загрузил скетч из примеров, загрузка прошла успешно; 3) на LCD информация не отображается. Что предпринимал: 1) ещё раз внимательно изучил инструкцию к Strele и LCD от производителя МЭЛТ; 2) купил ещё один LCD такой же марки на Чип и Дип - снова на Strele не включился; 3) купил и установил на Strelu аналог LCD GDM0802B ver 1.2 - снова на Strele не включился; 4) менял библиотеки - безрезультатно; 5) начал проверять на работоспособность LCD, для детального изучения (есть примеры на Амперка вики) первым выбрал MT-16S2H и подключил к Arduino - LCD заработал; 6) подключил к Arduino по аналогии LCD MT-08S2A - LCD НЕ заработал; Привожу рисунки соединения Arduino c LCD: Так я представил функцию из скетча: Контакты для подключения LCD MT-08S02A к Arduino (не заработал): Контакты для подключения LCD MT-16S2H к Arduino (заработал): Прошу помощи! Что мной сделано не так?
На "Стреле" LCD подключен через I2C, вам нужна вот эта библиотека: https://github.com/amperka/Strela Вики: http://wiki.amperka.ru/продукты:strela
Добавляю библиотеку "Strela-master.zip": Эскиз -> Импорт библиотек... -> Добавить библиотеку... Сообщение Arduino IDE: "Библиотека "Strela-master" не может быть использована. Имена библиотек должны содержать только буквы и цифры. (только ASCII и без пробелов, и не может начинаться с цифры)" Может библиотеку переименовать надо?
Переименовал и добавил в библиотеку, но при запуске "StrelaLiquidCrystal": Arduino: 1.5.7 (Windows 8), Board: "Arduino Leonardo" StrelaLiquidCrystal.ino:4:20: fatal error: Strela.h: No such file or directory compilation terminated. This report would have more information with "Show verbose output during compilation" enabled in File > Preferences. Может что то куда то надо "вручную" скопировать?
Сделал как написано в README.md Моя ошибка заключалась в следующем: директория `$sketchbook/libraries` в Windows это: C:\Users\envision\Documents\Arduino Проблема решена! Всем огромное СПАСИБО!
Ребят приветствую. Ваш пост был единственный по данному LCD дисплею MT-08S2A. Вы написали что решили проблему, однако я по вашим схемам так и не смог запустить свой дисплей. В итоге, ребята из амперки подсказали покурить DataSheet и я таки осилил коммутацию, при которой работают встроенные примеры и библиотеки из IDE Arduino. Для полноты выкладываю схему соединения для данного LCD с Arduino для 4-х битного режима. Всем спасибо! MT-08S2A-2FLA для 4-х битного режима LCD pin-1/+5V LCD pin-2/GND LCD pin-3/GND LCD pin-4/Arduino pin-12 LCD pin-5/GND LCD pin-6/Arduino pin-11 LCD pin-11/Arduino pin-5 LCD pin-12/Arduino pin-4 LCD pin-13/Arduino pin-3 LCD pin-14/Arduino pin-2 p.s. кстати, я мучался с выводом русских букв путем поиска кодов по таблице символов из DataSheet. А мой товрищ по незнанию, случайно нашел программку Rus-to-LCD Text Converter 1.1 - перекодировщик в HEX любого русского текста. Вот ее About: Программку приатачу, там простой EXE-шник. Понимаю что не все захотят запускать не пойми что на компе, поэтому так разжевываю ее название, чтобы вы могли самостоятельно ее найти в случае чего.
Помогите, пожалуйста, имеется Strela и дисплей MT-08S2A-2FLA. Библиотеку установил отсюда https://github.com/marcoschwartz/LiquidCrystal_I2C. Подключил дисплей к плате как на изображение в FAQ по стреле и загрузил пример тоже оттуда. Но при компиляции выдает ошибку: Код (C++): Arduino: 1.6.9 (Windows 7), Плата:"Arduino Leonardo" HelloWorld:9: error: no matching function for call to 'LiquidCrystal_I2C::LiquidCrystal_I2C(int, int, int, int, int, int, int, int)' LiquidCrystal_I2C lcd(LC_ADDR, LCEN, LCRW, LCRS, LC4, LC5, LC6, LC7); ^ C:\Users\userName\AppData\Local\Temp\arduino_modified_sketch_671915\HelloWorld.ino:9:68: note: candidates are: In file included from C:\Users\userName\AppData\Local\Temp\arduino_modified_sketch_671915\HelloWorld.ino:6:0: C:\Users\userName\Documents\Arduino\libraries\LiquidCrystal_I2C/LiquidCrystal_I2C.h:57:3: note: LiquidCrystal_I2C::LiquidCrystal_I2C(uint8_t, uint8_t, uint8_t) LiquidCrystal_I2C(uint8_t lcd_Addr,uint8_t lcd_cols,uint8_t lcd_rows); ^ C:\Users\userName\Documents\Arduino\libraries\LiquidCrystal_I2C/LiquidCrystal_I2C.h:57:3: note: candidate expects 3 arguments, 8 provided C:\Users\userName\Documents\Arduino\libraries\LiquidCrystal_I2C/LiquidCrystal_I2C.h:55:7: note: constexpr LiquidCrystal_I2C::LiquidCrystal_I2C(const LiquidCrystal_I2C&) class LiquidCrystal_I2C : public Print { ^ C:\Users\userName\Documents\Arduino\libraries\LiquidCrystal_I2C/LiquidCrystal_I2C.h:55:7: note: candidate expects 1 argument, 8 provided C:\Users\userName\Documents\Arduino\libraries\LiquidCrystal_I2C/LiquidCrystal_I2C.h:55:7: note: constexpr LiquidCrystal_I2C::LiquidCrystal_I2C(LiquidCrystal_I2C&&) C:\Users\userName\Documents\Arduino\libraries\LiquidCrystal_I2C/LiquidCrystal_I2C.h:55:7: note: candidate expects 1 argument, 8 provided exit status 1 no matching function for call to 'LiquidCrystal_I2C::LiquidCrystal_I2C(int, int, int, int, int, int, int, int)' В чем может быть причина? --- Это сам код: Код (C++): // Подключим библиотеку для работы с I2C-расширителем портов #include <Wire.h> // Подключим библиотеку Strela #include <Strela.h> // Подключим библиотеку для работы с LCD-эраном через I2C #include <LiquidCrystal_I2C.h> // Создадим объект lcd, который будет выводить текст на экран LiquidCrystal_I2C lcd(LC_ADDR, LCEN, LCRW, LCRS, LC4, LC5, LC6, LC7); void setup() { //Инициализация экрана. У нашего экрана 8 символов 2 строки lcd.begin(8, 2); //Переместим курсор в начало первой стройки (символ 0, строка 0) lcd.home(); //Печатаем строку lcd.print("Hello"); //Переместим строку в начало второй строки (символ 0, строка 1) lcd.setCursor(0, 1); //Печатаем строку lcd.print("World!"); //Пауза, чтобы успеть насладиться результатом delay(2000); } void loop() { // Далее будем просто выводить время прошедшее со старта скетча //Очищаем экран lcd.clear(); // выставляем курсор в положение 0, 0 lcd.home(); // Пишем первую строку lcd.print("Uptime:"); // переместим курсор в начало второй строки lcd.setCursor(0, 1); // узнаем время прошедшее со старта скетча в миллисекундах unsigned long time = millis(); // и выведем его на экран lcd.print(time); //Пауза, чтобы успеть насладиться результатом delay(500); }