Блог о программировании, электронике и рыбалке

Подключение I2C экрана к Arduino

подключение I2C экрана к ArduinoПошаговая инструкция по подключению I2C экрана к Arduino.

Получил от китайцев два 20х4 экрана с I2C контроллерами - буду подключать к Arduino.

Для справки скажу, что такие экраны подключаются к Arduino всего по 4-м проводам.

Подключение I2C экрана к Arduino

Сам экран имеет 4 вывода:

подключение I2C экрана к Arduino

  • GND экрана подключаем к GND Arduino
  • VCC экрана подключаем к +5V Arduino
  • SDA экрана подключаем к 4 аналоговому пину Arduino Uno
  • SCL экрана подключаем к 5 аналоговому пину Arduino Uno

В результате выглядеть будет так:

подключение I2C экрана к Arduino

Теперь можно подключить Arduino к компьютеру и перейти к программной части.

LiquidCrystal_I2C - библиотека для работы с I2C экраном

Для написания кода нам понадобится библиотека LiquidCrystal_I2C. Скачиваем ее и распаковываем содержимое архива в папку arduino-1.0.X\libraries\.

liquidcrystal_i2c.zip (8,4 КиБ, 21 443 hits)

Проверочный скетч

Для проверки, загрузим в Arduino следующий код:

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

LiquidCrystal_I2C lcd(0x27, 20, 4); // Для экрана 20х4 (четырехстрочный)
//LiquidCrystal_I2C lcd(0x27, 16, 2); // Для экрана 16х2 (двухстрочный)

void setup()
{
lcd.begin();
lcd.setCursor(0, 0); // 1 строка
lcd.print("LCD I2C Test - 20x4");
lcd.setCursor(0, 1); // 2 строка
lcd.print("01234567899876543210");
lcd.setCursor(0, 2); // 3 строка
lcd.print("01234567899876543210");
lcd.setCursor(0, 3); // 4 строка
lcd.print("  geekelectronics.org");
}

void loop()
{

}

Код хорошо прокомментирован. Думаю, вопросов не возникнет.

Результат работы:

подключение I2C экрана к Arduino

P.S. Возможно, что после загрузки кода экран останется пустым.

подключение I2C экрана к Arduino

В этом случае надо покрутить регулятор контрастности на плате I2C.

подключение I2C экрана к Arduino

Присоединяйтесь к нашей группе в Telegram @GeekElectronics
  • keyboard_arrow_downПодключение I2C экрана к Arduino
    • Автор:
    • Миниатюра: Подключение I2C экрана к Arduino
    • Рубрика: Arduino от А до Я
    • Обновлено: 30.04.2023
    • Комментариев: 25
    • Просмотров: 92 560
  • Оцените пожалуйста статью
    1 Star2 Stars3 Stars4 Stars5 Stars
    Загрузка...
  • Поделитесь с друзьями
Geek Electronics

Комментариев: 25

    • Avatar for source
      SAURON:

      Я купил в www.aliexpress.com Iic / I2C 1602 синий жк-модуль обеспечивает библиотеки для Arduinoза US $2.88

  • Avatar for source
    CGen:

    А вот такую штуку купил : http://www.element14.com/community/docs/DOC-72035?CMP=KNC-PS-G-EU-SKU
    Бомба!
    Расширения от Arduino аппаратно совместимы!
    Cortex-M4 100МГц (аппаратная арифметика, DSP).
    Поддержка mbed - онлайн IDE с огромным количеством библиотек.
    Вот для LCD http://developer.mbed.org/cookbook/Text-LCD-Enhanced

    Цена: 10.12$ !
    Правда вышло 20$, но считаю, что тоже неплохо.

    Правда вместо mbed я сейчас FreeRTOS использую.

  • Avatar for source
    Космодромыч:

    Месяц назад читая эту статью даже недаогонял зачем это надо, а тут позавчера наткнулся на openhab, а там и на ардуино, что это и зачем едят, что зажогся купить и себе для начала набор uno http://m.aliexpress.com/item/1737961683.html, а тут вспомнил что макс с какими-то железячками что-то мутит :)

  • Avatar for source
    алексей:

    Спасибо большое за статью, две недели боролся с LCD экраном, а резистор покрутить не догадался.
    Я новичок! Зато с библиотеками разобрался , где и что лежит.

  • Avatar for source
    AlexKooper:

    А у меня не компилируется. библиотека отсюда, скетч отсюда... Пишет ошибку
    C:\Program Files\Arduino\hardware\tools\avr/bin/avr-gcc -w -Os -Wl,--gc-sections -mmcu=atmega328p -o C:\WINDOWS\Temp\build1892643195931213284.tmp/sketch_LCD_i2C.cpp.elf C:\WINDOWS\Temp\build1892643195931213284.tmp\sketch_LCD_i2C.cpp.o C:\WINDOWS\Temp\build1892643195931213284.tmp\Wire\Wire.cpp.o C:\WINDOWS\Temp\build1892643195931213284.tmp\Wire\utility\twi.c.o C:\WINDOWS\Temp\build1892643195931213284.tmp\LiquidCrystal_I2C\LiquidCrystal_I2C.cpp.o C:\WINDOWS\Temp\build1892643195931213284.tmp/core.a -LC:\WINDOWS\Temp\build1892643195931213284.tmp -lm
    collect2.exe: error: ld returned 5 exit status
    Ошибка компиляции.

    • Avatar for source
      AlexKooper:

      Гугление показало, что если в настройках плату nano заменить на микро, то компилируется. Но поскольку плата - нано, то не работает. По выводам i2c нано совместима с uno, ставлю в настройках uno - та же ошибка.

      Замена IDA 1.6.3 на IDA 1.0.6 решило проблему!

  • Avatar for source
    Влад:

    При компиляции выдает ошибку

    C:\Users\I_am\Downloads\arduino-1.6.12\libraries\LiquidCrystal_I2C\LiquidCrystal_I2C.cpp:3:23: fatal error: WProgram.h: No such file or directory

    #include "WProgram.h"

    Что за файл такой WProgram.h

  • Avatar for source
    Вальдемар:

    Использовал библиотеку LiquidCrystal_PCF8574 , все пошло.
    на библиотеке автора не запустилась.

  • Avatar for source
    макисм:

    Есть ли умельцы поключившие 128х64 ST7920 дисплея к ардуино по i2c на микрухе MCP23017
    поделитесь куском скетча для ее подключения и библиотеками если есть свои какито)

  • Avatar for source
    Sunguy:

    Драсте
    Несколько библиотек найдено для "LiquidCrystal_I2C.h"
    Используется: C:\Program Files (x86)\Arduino\libraries\LiquidCrystal_I2C
    Не используется: C:\Program Files (x86)\Arduino\libraries\LiquidCrystal_I2C_V112
    exit status 1
    no matching function for call to 'LiquidCrystal_I2C::begin()'

    выдает вот такую ашыбку

  • Avatar for source
    Виктор:

    Когда я читаю такие статейки ,я всегда вспоминаю свою первую книжку где было написано ,если у вас не работает телевизор посмотрите включили вы его или нет .Вот это статья на эту тему ,я уже давно подключил дисплей и все правильно но ни одна библиотека не подходит для моей расширительной платы вот почему я у вас спрашиваю совета.МАЛО ТОГО Я ОТПАЯЛ ПЛАТУ И ВКЛЮЧИЛ ЕГО НАПРЯМУЮ ДИСПЛЕЙ РАБОТАЕТ.А вот с расширительной не работает постоянно выдает ошибку.

  • Avatar for source
    Александр:

    На экране пишет только первые буквы в четырех строках. Что не так?

  • Avatar for source
    Bev:

    Александр:
    2019-04-14
    На экране пишет только первые буквы в четырех строках. Что не так?
    у меня тоже самое, на двух дисплеях

  • Avatar for source
    ГЕННАДИЙ:

    lcd.init надо писать а не lcd.begin тогда всё грузится и работает

  • Avatar for source
    Михаил:

    тут есть решение:
    http://forum.amperka.ru/threads/%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D1%8B-%D1%81-liqid-cristal-i2c.8992/

  • Avatar for source
    НИКТО:

    не работает совсем ерунда я и ту библиотеку качал и другие

  • Avatar for source
    Dmti:

    Исправь

    void setup() {
    lcd.begin(20, 4); //размер экрана
    lcd.init(); // initialize the lcd
    lcd.backlight(); //Если с подсветкой

Добавить комментарий

arrow_upward