Пошаговая инструкция по подключению I2C экрана к Arduino.
Получил от китайцев два 20х4 экрана с I2C контроллерами - буду подключать к Arduino.
Для справки скажу, что такие экраны подключаются к Arduino всего по 4-м проводам.
Подключение I2C экрана к Arduino
Сам экран имеет 4 вывода:
- GND экрана подключаем к GND Arduino
- VCC экрана подключаем к +5V Arduino
- SDA экрана подключаем к 4 аналоговому пину Arduino Uno
- SCL экрана подключаем к 5 аналоговому пину Arduino Uno
В результате выглядеть будет так:
Теперь можно подключить Arduino к компьютеру и перейти к программной части.
LiquidCrystal_I2C - библиотека для работы с I2C экраном
Для написания кода нам понадобится библиотека LiquidCrystal_I2C. Скачиваем ее и распаковываем содержимое архива в папку arduino-1.0.X\libraries\.
liquidcrystal_i2c.zip (8,4 KiB, 21 176 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()
{}
Код хорошо прокомментирован. Думаю, вопросов не возникнет.
Результат работы:
P.S. Возможно, что после загрузки кода экран останется пустым.
В этом случае надо покрутить регулятор контрастности на плате I2C.
дорого вышел экран с i2c
US $ 9.65
в конце есть же ссылка!
так я же и говорю, что дорого
Для четырехстрочного с I2C по моему нормальная цена
Я купил в www.aliexpress.com Iic / I2C 1602 синий жк-модуль обеспечивает библиотеки для Arduinoза US $2.88
А вот такую штуку купил : 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 экраном, а резистор покрутить не догадался.
Я новичок! Зато с библиотеками разобрался , где и что лежит.
А у меня не компилируется. библиотека отсюда, скетч отсюда... Пишет ошибку
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
Ошибка компиляции.
Гугление показало, что если в настройках плату 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 , все пошло.
на библиотеке автора не запустилась.
Есть ли умельцы поключившие 128х64 ST7920 дисплея к ардуино по i2c на микрухе MCP23017
поделитесь куском скетча для ее подключения и библиотеками если есть свои какито)
Драсте
Несколько библиотек найдено для "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()'
выдает вот такую ашыбку
Когда я читаю такие статейки ,я всегда вспоминаю свою первую книжку где было написано ,если у вас не работает телевизор посмотрите включили вы его или нет .Вот это статья на эту тему ,я уже давно подключил дисплей и все правильно но ни одна библиотека не подходит для моей расширительной платы вот почему я у вас спрашиваю совета.МАЛО ТОГО Я ОТПАЯЛ ПЛАТУ И ВКЛЮЧИЛ ЕГО НАПРЯМУЮ ДИСПЛЕЙ РАБОТАЕТ.А вот с расширительной не работает постоянно выдает ошибку.
На экране пишет только первые буквы в четырех строках. Что не так?
Александр:
2019-04-14
На экране пишет только первые буквы в четырех строках. Что не так?
у меня тоже самое, на двух дисплеях
lcd.init надо писать а не lcd.begin тогда всё грузится и работает
тут есть решение:
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/
не работает совсем ерунда я и ту библиотеку качал и другие
Исправь
void setup() {
lcd.begin(20, 4); //размер экрана
lcd.init(); // initialize the lcd
lcd.backlight(); //Если с подсветкой