Arduino UNO r3/мега 2560 не могу справиться с LCD

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем Nikolaj666, 24 июн 2016.

  1. Nikolaj666

    Nikolaj666 Нуб

    заранее прошу прощения если тема такая уже была. суть проблемы : не могу заставить работать LCD.
    Элементарный урок «Hello, world!» не получается. две платы : Arduino UNO r3 и мега 2560 , дисплеи с I2C адаптером и простой. перепробовал кучу примеров, перебрал разные библиотеки, переставлял arduino ID - результат нулевой . на экранах только верхний ряд прямоугольников, контраст регулируется. пробовал скетч где мигает подсветка с 10пина - мигает , но на экране прямоугольники. дисплеи работают в других устройствах (тестер авр и паяльная станция) . ардуинки другие примеры выполняют без проблем, а с lcd разрыв мозга. ошибки не выводит. как быть ????
     
  2. KellaKilla

    KellaKilla Нерд

    А экран какой ( сколько строк и сколько символов) ? И какой контроллер используется при на адаптере ?
     
  3. KellaKilla

    KellaKilla Нерд

  4. Nikolaj666

    Nikolaj666 Нуб

    спасибо, покопаюсь. мозг наизнанку уже
     
  5. DIYMan

    DIYMan Guest

    C I2C у меня тоже были заморочки, там есть грабля в старых либах для I2C - метод write не возвращает ничего, а должен - единицу.

    Попробуйте приложенный файл, помнится, я вроде правил этот косяк в данной либе.
     

    Вложения:

  6. Nikolaj666

    Nikolaj666 Нуб

    не работает
     
  7. Nikolaj666

    Nikolaj666 Нуб

    1602 из набора с впаянным адаптером i2c. микруха адаптера - PCF8591T
     
  8. DIYMan

    DIYMan Guest

    Печально. Ройте дальше, раз у нас завеса секретности - ни схемы подключения, ни-че-го.
     
  9. Nikolaj666

    Nikolaj666 Нуб

    схема гениальная :
    LCD i2c Arduino Uno
    GND GND
    5V 5V
    (SDA) A4
    (SCL) A5
    скетч
    #include<Wire.h>
    #include<LiquidCrystal_I2C.h>
    LiquidCrystal_I2C lcd(0x27,16,2);// Устанавливаем дисплей
    void setup()
    {
    lcd.init();
    lcd.backlight();// Включаем подсветку дисплея
    lcd.print("iarduino.ru");
    lcd.setCursor(8,1);
    lcd.print("LCD 1602");
    }
    void loop()
    {
    // Устанавливаем курсор на вторую строку и нулевой символ.
    lcd.setCursor(0,1);
    // Выводим на экран количество секунд с момента запуска ардуины
    lcd.print(millis()/1000);
    }
     
  10. DIYMan

    DIYMan Guest

    Вы уверены, что адрес I2C верный? Смотрели с помощью I2C сканера?
     
  11. Nikolaj666

    Nikolaj666 Нуб

    вразумите про сканер, где взять ? я пробовал замыкать перемычку А0 (прочитал в сети типа адрес станет 0х23) без результата
     
  12. DIYMan

    DIYMan Guest

  13. Nikolaj666

    Nikolaj666 Нуб

  14. DIYMan

    DIYMan Guest

    Ищите непропай, или, что хуже - могёт по неотмытому флюсу где-то коротить. Я когда припаял адаптер I2C к дисплею - тоже часа два матюкался и под микроскопом всё разглядывал, пока не плюнул и не прополокал всё в спирте и не высушил под феном. И только тогда смог побороть. Электроника - наука о двух контактах :)
     
  15. Nikolaj666

    Nikolaj666 Нуб

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