Не выводится сообщение LCD i2C Решено

Тема в разделе "Arduino & Shields", создана пользователем Михаил Климов, 11 янв 2016.

  1. #include <Wire.h>
    #include <LiquidCrystal_I2C.h>

    // Set the LCD address to 0x27 for a 16 chars and 2 line display
    LiquidCrystal_I2C lcd(0x27, 16, 2);

    void setup()
    {
    // initialize the LCD
    lcd.begin();

    // Turn on the blacklight and print a message.
    lcd.backlight();
    lcd.print("Hello, world!");
    }

    void loop()
    {
    // Do nothing here...
    }
    стандартный скетч все спокойно заливается

     
  2. vvr

    vvr Инженерище

    берешь и перебираешь библиотеки для lcd i2c
    их много всяких - подберёшь для себя рабочую - сам так мучился пока не нашёл
    с одними работает, с другими нет
    и зависит ещё от версии IDE
     
  3. sanik

    sanik Гик

    С версией 023 почти все работают А библиотеки действительно надо подбирать
     
  4. Версия IDE 1.6.7
     
  5. sanik

    sanik Гик

    В этой 1.6.7 экраны приобретенные в 12г у меня не работали пришлось искать старую версию и старую библиотеку
     
  6. sanik

    sanik Гик

    Досмотрев видео до конца понял сто перебрал 5 библиотек прежде чем переустановить библиотеку я сносил Arduino IDE потом втыкал библиотеку два раза не прокатило на третьей библиотеке заработал. Напиши мыло дам свои библиотеки я их в дебрях наковырял может помогут
     
  7. mihsa2001@gmail.com
     
  8. sanik

    sanik Гик

    Отправил
     
  9. sanik

    sanik Гик

    В письме рассказал что к чему и попробуй металлическую рамку получше прижать.
     
  10. Ничего не работает
     
  11. sanik

    sanik Гик

    Дохлый!? Пробовал перебрать? Я описывал как это сделать.
     
  12. Заработал. Но без i2c
     
  13. sanik

    sanik Гик

    Значит теперь надо подбирать версию и библиотеку не помешает и переходник промыть осмотреть через лупу .
     
  14. fixedip

    fixedip Гик

    Возможно не тот адрес по I2C шине.
    Попробуй сканером посмотреть какой адрес твоего устройства у меня на пример был 0x3F
     
    sergoen нравится это.
  15. fixedip

    fixedip Гик

    У тебя случайно 1.6.7 на это ругалось?
    // initialize the LCD
    lcd.begin();
     
  16. Не ругалось, адрес проверял
     
  17. sanik

    sanik Гик

    Короче попался мне сегодня такой же экземплярчик! :) В общем пробуем строку такую ставить LiquidCrystal_I2C lcd(0x20, 16, 2); адрес не 27 а 20 Мне помогло все заработало
     
  18. Ничего
     
  19. Максим B

    Максим B Гуру

    Попробуй узнать адрес своего дисплея через такой код:
    Код (Text):

    // --------------------------------------
    // i2c_scanner
    //
    // Version 1
    //    This program (or code that looks like it)
    //    can be found in many places.
    //    For example on the Arduino.cc forum.
    //    The original author is not know.
    // Version 2, Juni 2012, Using Arduino 1.0.1
    //     Adapted to be as simple as possible by Arduino.cc user Krodal
    // Version 3, Feb 26  2013
    //    V3 by louarnold
    // Version 4, March 3, 2013, Using Arduino 1.0.3
    //    by Arduino.cc user Krodal.
    //    Changes by louarnold removed.
    //    Scanning addresses changed from 0...127 to 1...119,
    //    according to the i2c scanner by Nick Gammon
    //    http://www.gammon.com.au/forum/?id=10896
    // Version 5, March 28, 2013
    //    As version 4, but address scans now to 127.
    //    A sensor seems to use address 120.
    // Version 6, November 27, 2015.
    //    Added waiting for the Leonardo serial communication.
    //
    //
    // This sketch tests the standard 7-bit addresses
    // Devices with higher bit address might not be seen properly.
    //

    #include <Wire.h>


    void setup()
    {
      Wire.begin();

      Serial.begin(9600);
      while (!Serial);             // Leonardo: wait for serial monitor
      Serial.println("\nI2C Scanner");
    }


    void loop()
    {
      byte error, address;
      int nDevices;

      Serial.println("Scanning...");

      nDevices = 0;
      for(address = 1; address < 127; address++ )
      {
        // The i2c_scanner uses the return value of
        // the Write.endTransmisstion to see if
        // a device did acknowledge to the address.
        Wire.beginTransmission(address);
        error = Wire.endTransmission();

        if (error == 0)
        {
          Serial.print("I2C device found at address 0x");
          if (address<16)
            Serial.print("0");
          Serial.print(address,HEX);
          Serial.println("  !");

          nDevices++;
        }
        else if (error==4)
        {
          Serial.print("Unknow error at address 0x");
          if (address<16)
            Serial.print("0");
          Serial.println(address,HEX);
        }    
      }
      if (nDevices == 0)
        Serial.println("No I2C devices found\n");
      else
        Serial.println("done\n");

      delay(5000);           // wait 5 seconds for next scan
    }
     
     
  20. Да, сколько раз повторять УЗНАВАЛ ЧЕРЕЗ ЭТОТ КОД И АДРЕС 0x27