Интерактивный рабочий стол. Интерактивный рабочий стол для WinXP. Компьютерный мультитач-стол - Ideum Pro Lab

LCD дисплей Arduino позволяет визуально отображать данные с датчиков. Расскажем, как правильно подключить LCD монитор к Arduino по I2C и рассмотрим основные команды инициализации и управления LCD 1602. Также рассмотрим различные функции в языке программирования C++, для вывода текстовой информации на дисплее, который часто требуется использовать в проектах на Ардуино.

Видео. Arduino LCD Display I2C 1602

LCD 1602 I2C подключение к Arduino

I2C - последовательная двухпроводная шина для связи интегральных схем внутри электронных приборов, известна, как I²C или IIC (англ. Inter-Integrated Circuit). I²C была разработана фирмой Philips в начале 1980-х годов, как простая 8-битная шина для внутренней связи между схемами в управляющей электронике (например, в компьютерах на материнских платах, в мобильных телефонах и т.д.).

В простой системе I²C может быть несколько ведомых устройств и одно ведущее устройство, которое инициирует передачу данных и синхронизирует сигнал. К линиям SDA (линия данных) и SCL (линия синхронизации) можно подключить несколько ведомых устройств. Часто ведущим устройством является контроллер Ардуино, а ведомыми устройствами: часы реального времени или LCD Display.

Как подключить LCD 1602 к Ардуино по I2C

Жидкокристаллический дисплей 1602 с I2C модулем подключается к плате Ардуино всего 4 проводами — 2 провода данных и 2 провода питания. Подключение дисплея 1602 проводится стандартно для шины I2C: вывод SDA подключается к порту A4, вывод SCL – к порту A5. Питание LCD дисплея осуществляется от порта +5V на Arduino. Смотрите подробнее схему подключения жк монитора 1602 на фото ниже.

Для занятия нам понадобятся следующие детали:

  • плата Arduino Uno / Arduino Nano / Arduino Mega;
  • LCD монитор 1602;
  • 4 провода «папа-мама».

После подключения LCD монитора к Ардуино через I2C вам потребуется установить библиотеку LiquidCrystal_I2C.h для работы с LCD дисплеем по интерфейсу I2C и библиотека Wire.h (имеется в стандартной программе Arduino IDE). Скачать рабочую библиотеку LiquidCrystal_I2C.h для LCD 1602 с модулем I2C можно на странице Библиотеки для Ардуино на нашем сайте по прямой ссылке с Google Drive.

Скетч для дисплея 1602 с I2C

#include // библиотека для управления устройствами по I2C #include // подключаем библиотеку для LCD 1602 LiquidCrystal_I2C lcd(0x27,20,2); // присваиваем имя lcd для дисплея 20х2 void setup () // процедура setup { lcd.init (); // инициализация LCD дисплея lcd.backlight (); // включение подсветки дисплея lcd.setCursor (0,0); // ставим курсор на 1 символ первой строки lcd.print ("I LOVE"); // печатаем сообщение на первой строке lcd.setCursor (0,1); // ставим курсор на 1 символ второй строки lcd.print ("ARDUINO"); // печатаем сообщение на второй строке } void loop () // процедура loop { /* это многострочный комментарий // изначально процедура void loop() в скетче не используется lcd.noDisplay(); // выключаем подсветку LCD дисплея delay(500); // ставим паузу lcd.display(); // включаем подсветку LCD дисплея delay(500); // ставим паузу */ }

Пояснения к коду:

  1. библиотека LiquidCrystal_I2C.h содержит множество команд для управления LCD дисплея по шине I²C и позволяет значительно упростить скетч;
  2. скетч содержит многострочный комментарий /* ... */ , который позволяет закомментировать сразу несколько строк в программе.
  3. перед выводом информации на дисплей, необходимо задать положение курсора командой setCursor(0,1) , где 0 — номер символа в строке, 1 — номер строки.

LCD I2C модуль позволить подключить символьный дисплей к плате Arduino всего по двум сигнальным проводам.

Используемые компоненты (купить в Китае):

. Управляющая плата

. Соединительные провода

Основные технические характеристики:

Дисплей: Символьный 16х02 либо 20x04
. Подсветка: Синяя c белыми символами
. Контраст: Настраивается потенциометром
. Напряжение питания: 5В
. Интерфейс: I2C
. I2C адрес: 0x27
. Размеры: 82мм x 35мм x 18мм

Подключение к Arduino

Модуль оборудован четырех-пиновым разъемом стандарта 2.54мм

SCL : последовательная линия тактирования (Serial CLock)

SDA : последовательная линия данных (Serial DAta)

VCC : "+" питания

GND : "-" питания

Выводы отвечающие за интерфейс I2C на платах Arduino на базе различных контроллеров разнятся

Для работы с данным модулем необходимо установить библиотеку LiquidCrystal_I2C1602V1

Скачиваем, распаковываем и закидываем в папку libraries в папке Arduino. В случае, если на момент добавления библиотеки, Arduino IDE была открытой, перезагружаем среду.

Переходим непосредственно к скетчу. В данном примере выведем стандартный "Hello, world!" и для адрес нашего сообщества.

пример программного кода:

#include #include LiquidCrystal_I2C lcd(0x27,16,2); /* Задаем адрес и размерность дисплея. При использовании LCD I2C модуля с дисплеем 20х04 ничего в коде изменять не требуется, cледует только задать правильную размерность */ void setup () { lcd.init(); // Инициализация lcd lcd.backlight(); // Включаем подсветку // Курсор находится в начале 1 строки lcd.print ("Hello, world!" ); // Выводим текст lcd.setCursor (0, 1); // Устанавливаем курсор в начало 2 строки lcd.print ("сайт" ); // Выводим текст } void loop () { }

Создание собственных символов

С выводом текста разобрались, буквы английского алфавита зашиты в память контроллера внутри дисплея и с ними проблем нет. А вот что делать если нужного символа в памяти контроллера нет?

Не беда, требуемый символ можно сделать вручную. Данный способ частично, ограничение в 7 символов, поможет решить проблему вывода.

Ячейка, в рассматриваемых нами дисплеях, имеет разрешение 5х8 точек. Все, к чему сводится задача создания символа, это написать битовую маску и расставить в ней единички в местах где должны гореть точки и нолики где нет.

В ниже приведенном примере нарисуем смайлик.

пример программного кода:

//Тестировалось на Arduino IDE 1.0.5 // Добавляем необходимые библиотеки #include #include // Битовая маска символа улыбки byte smile = { B00010, B00001, B11001, B00001, B11001, B00001, B00010, }; LiquidCrystal_I2C lcd(0x27,20,4); // Задаем адрес и размерность дисплея. void setup () { lcd.init(); // Инициализация lcd lcd.backlight(); // Включаем подсветку // Создаем символ под номером 0 lcd.createChar (1, smile); lcd.setCursor (0, 0); // Устанавливаем курсор в начало 1 строки lcd.print ("\1" ); // Выводим смайлик (символ под номером 1) - "\1" } void loop () { }

Программка для легкого создания символов

В комментариях участник сообщества скинул ссылку на генератор символов

Протокол обмена данными I2C в свое время был разработан компанией Philips. Название I2C произошло от английского Iner-IC управления или по другому межмикросхемного управления, Inter-IC,IIC (I2C) -название одного и того же протокола.

Данный протокол или интерфейс обеспечивате качественный прием и передачу информации (данных) от нескольких различных устройств, к примеру можно измерять температуру и одновременно управлять цифровым потенциометром. Общение происходит програмно, алгоритм общения с датчиком по протоколу I2С записывается в программу Arduino (скетч).

Существуют специальные переходники которые позволяют подключать другие устройства, к примеру имея переходник можно по двум проводом подключить arduino дисплей 1602 (16x2) LCD по протоколу i2c. По запросу LCD i2c на просторах интернета куча информации, вот пример того как должен выглядить переходник под дисплей http://www.ebay.com/itm/310565362720

При работе по этому интерфейсу, одно устройство является ведущим а другое ведомым. Ведущее устройство инициализирует передачу и генерирует сигналы необходимые для синхронизации.

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

Устройство подключенное к шине I2C имеет свой уникальный адрес. Именно по этому адресу осуществляется обращения ведущего устройства.

Пример подключения датчиков по протоколу I2C

Подключение осуществляется по двум проводам: SCL- сигнала тактирования или тактового сигнала и SDA - сигнала данных. При этом к шине I2C можно подключать любое количество различных датчиков (ведомых устройств), имеющие свои уникальные id.

Знакомство начинается со специально написанной для этих целей библиотеки, имя которой Wire. Перед началом работы ее необходимо импортировать в проект,она имеет специальные команды или методы для "общения" с устройствами.

Для обмена данными с устройствами нужно знать их id. Различные устройства могут иметь разную длину адреса (id) 8 или 7 бит.В библиотеке Wire используется 7-ми битная адресация.

Подключение ведомых устройств осуществляется к выводам на плате Arduino. Каждая версия Arduino имеет свои выводы I2C

  • UNO - A4(SDA), A5(SCL);
  • Mega - 20(SDA), 21(SCL);
  • Leonardo- 2(SDA), 3(SCL);
  • Due - 20(SDA), 21(SCL),SDA1,SCL1;

Пример код программы для управления цифровым потенциометром при помощи библиотеки Wire

Данный пример показывает как устанавливать определенное значение сопротивление в цифровом потенциометре при помощи библиотеки Wire. Установка определенного значения осуществляется при помощи переменной val.

#include void setup() { Wire.begin(); // join i2c bus (address optional for master) } byte val = 0; void loop() { Wire.beginTransmission(44); // transmit to device #44 (0x2c) // device address is specified in datasheet Wire.write(byte(0x00)); // sends instruction byte Wire.write(val); // sends potentiometer value byte Wire.endTransmission(); // stop transmitting val++; // increment value if (val == 64) // if reached 64th position (max) { val = 0; // start over from lowest value } delay(500); }

Видео работы I2C и Arduino. Часть 1


Опубликована в сборнике программ: 17.07.2010 г.

Операционная система: Windows ALL
Размер программы (дистрибутива): 177 KB
Тип лицензии: FreeWare


Удобный и функциональный интерактивный рабочий стол. Изначально создан специалистами компании РОСНО для внутреннего использования. На рабочем столе в режиме реального времени отображается прогноз погоды в выбранном регионе, курсы валют и другая полезная информация. Приятный внешний вид, множество настроек.

При добавление программы, в каталог нашего сайта, ссылка на Интерактивный рабочий стол 3.2.2.0, проверялась антивирусом, но так как файл находится на сервере разработчика или издателя софта, он может быть изменён, мы рекомендуем перед загрузкой программного обеспечения к себе на компьютер, проверять файлы в режиме On-Line антивирусом - откроется в новом окне и будет проверена!

Вы можете оставить своё мнение о программе Интерактивный рабочий стол 3.2.2.0 или комментарии, а также сообщить о битой ссылке на скачивание.
Если у Вас есть вопрос по работе с программой «Интерактивный рабочий стол 3.2.2.0», Вы можете задать его здесь, так как многие авторы программ и издатели отслеживают сообщения на этом сайте!
Все рекламные сообщения не по теме, а также ссылками и телефонами будут удаляться!

По моему глубокому убеждению рабочий стол должен выполнять несколько функций. А именно:
- практическую - то-есть приносить некую пользу пользователю (извиняюсь за каламбур:)). Быстрый доступ к ярлыкам - только одна из них и является стандартной;
- декоративно-эстетическую - должен радовать глаз и приносить удовольствие от созерцания;
- психологическую - отображать внутреннее состояние пользователя (владельца) компьютера. Быть частью его мира. В идеале рабочий стол должен быть полностью создан тем, кто за ним работает.
Для начала вот скрин элемента моего текущего рабочего стола. Над названием не задумывался, но вроде как бурбулятор в стиле стимпанк с интерактивной регулировкой подачи газа и индикатором давления.

Я довольно часто пересоздаю рабочий стол своего компа «по образу своему и подобию». Сначала это были скачанные из интернета циклические gif-анимашки (моргание глаз кота, пламя свечи и т.д.), помещенные в центр стола. Потом - созданные мною в 3d редакторе собственные анимированные gif-ки. Правда практической пользы они не приносили, но удовольствие неописуемое. Главное условие здесь - органическое вплетение в фон стола. Вот например скрины моих любимых работ - вращающегося вентилятора:

и кельтского креста:

Через некоторое время меня это перестало удовлетворять и я решил пойти дальше, а именно по пути создания интерактивных рабочих столов. По началу это были просто красиво оформленные HTML странички с полезными ссылками а далее родилось то, о чем собственно мое повествование-интерактивные flash элементы.
Как это сделать
Подключить флешку напрямую не удастся, сначала ее нужно вмонтировать в HTML страничку, а потом поместить на рабочий стол, как обычное изображение. Чтобы не учить основам создания HTML, я просто выложу пример своего «бурбулятора», и если кто захочет заменить его на что-то другое (например флеш-часы или какой другой, радующий глаз механизм), то подправить файл swf_bubble.html будет не сложно.
Итак качаем готовый архив и распаковываем в каталог C:\temp . Таким образом у Вас должно оказаться два файла:
C:\temp\descktop\swf_bubble.html
C:\temp\descktop\bubble.swf

!!! ВНИМАНИЕ!!! фАЙЛЫ ДОЛЖНЫ ПОПАСТЬ ИМЕННО СЮДА, ИНАЧЕ НУЖНО МЕНЯТЬ ПУТИ В swf_bubble.html .
Далее кликаем правой кнопкой мыши на рабочем столе и выбираем пункт «Свойства». В появившемся окне открываем вкладку «Рабочий стол», кнопка «Обзор». Далее нужно найти файл C:\temp\descktop\swf_bubble.html и принять изменения. Вот собственно иллюстрация:


и еще рекомендую поставить черный цвет рабочего стола на закладке «Оформление», чтобы избежать ореолов вокруг ярлыков


После вступления в силу изменений в Ваш рабочий стол будет вмонтировано изображение бурбулятора в выключенном состоянии. Последовательно дергая за рычаги мышью можно регулировать подачу газа. Попробовать в действии флешку можно уже здесь:

Искренне Ваш, Алексей.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: