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

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

Главная » Arduino » Подключение I2C экрана к Arduino

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

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

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

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

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

экран LiquidCrystal I2C I2C Arduino  arduino

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

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

экран LiquidCrystal I2C I2C Arduino  arduino

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

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

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

экран LiquidCrystal I2C I2C Arduino  arduino    liquidcrystal_i2c.zip (8,4 KiB, 7 455 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("  CHINGACHGOOK.NET");
}

void loop()
{

}

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

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

экран LiquidCrystal I2C I2C Arduino  arduino

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

экран LiquidCrystal I2C I2C Arduino  arduino

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

экран LiquidCrystal I2C I2C Arduino  arduino

Свой экран я покупал тут.

На этом все.

logo
Просмотров: 35 575
1 Star2 Stars3 Stars4 Stars5 Stars (12 votes, average: 5,00 out of 5)
Загрузка...

16
  • Хацкель Вассерман:

    дорого вышел экран с i2c

  • ВсемПривет:

    US $ 9.65
    в конце есть же ссылка!

    • Хацкель Вассерман:

      так я же и говорю, что дорого

    • SAURON:

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

  • 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 использую.

  • Артктур:

    Автор , вы где ? Вас 1,5 месяца нет.

  • Космодромыч:

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

  • алексей:

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

  • 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
    Ошибка компиляции.

    • AlexKooper:

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

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

  • Виталий:

    Как реализовать русские буквы?

  • Денис:

    Спасибо! помогло.

  • Влад:

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

    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

  • Вальдемар:

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

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

Яндекс.Метрика