Подключение LCD
Отлично, у Вас есть LCD дисплей, но для его подключения вам понадобятсе еще несколько деталей. Во-первых это потенциометр на 10K. Он позволит вам настроить контрастность. Каждый дисплей будет иметь несколько различных настроек контраста. Так же вам понадобится шина из 16-ти штырьков (как на картинке выше), если у вас есть но она длинее, то просто откусите бокорезами столько сколько нужно.
шину необходимо окуратно припаять к дисплею
Старайтесь сделать это как можно окуратнее, плохо и само по себе получится без всякого старания. Следите за температурой и старайтесь не прегреть ваши детали, ведь вы не хотите покупать все снова.
Если плохо видно, то посмотрите через увеличительное стекло и убедитесь, что штырьки припаяны индивидуально и между ними нет замыкания.
для того, что бы получилось все ровно воткните шину в колодку и поставте дисплей так, чтобы совместились все 16 штырьков с отверстиями в дисплее
Arduino или дешевая автоматика
Бугор
Магистр
Город Герой Магадан, St. Louis
211 103
Отв.20 11 Сент. 15, 21:52
Бугор
Магистр
Город Герой Магадан, St. Louis
211 103
Отв.21 11 Сент. 15, 22:09, через 18 мин
теперь к самому интересному
Подключение питания
Подключите + 5V к красной полосе на колодке, и землю (-) к синей.
Обратите dнимание, что 5 вольт мы берем с Arduino
--------------------------------------------------------------------------------------
Подключение подсветки LCD
Подключите контакт 16 к земле и контакт 15 к + 5В. На подавляющем большинстве LCD-дисплеев (в том числе из Adafruit) LCD включает в себя резистор для светодиодной подсветки. Если вам посчастливилось иметь тот, который не включает в себя резистор, вы должны будете добавлять один между +5V и контактом 15.
Для вычисления значения резистора, посмотрите максимальный ток подсветки и типичное падение напряжения от подсветки в паспорте. Вычтите падение напряжения от 5 вольт, а затем разделите на максимальный ток, округлите до следующего стандартного резистора. Например, если падение напряжения подсветки 3.5 типично и номинальный ток 16 мА, то резистор должен быть (5 - 3,5) = 93,75 /0.016 Ом или 100 Ом при округлении до нормативного значения. Если вы не можете найти спецификацию, то безопасно применить сопротивление 220 Ом, правда столь высокое сопротивление может сделать подсветку тусклой.
----------------------------------------------------------------------------------------
Подключите питание к Arduino, это может быть USB или 5-12В блок питания постоянного тока
ваш LCD дисплей должен засветится
P.S. не все дисплеи оборудованя подстветкой, чем дешевле те темнее однако
Подключение питания
Подключите + 5V к красной полосе на колодке, и землю (-) к синей.
Обратите dнимание, что 5 вольт мы берем с Arduino
--------------------------------------------------------------------------------------
Подключение подсветки LCD
Подключите контакт 16 к земле и контакт 15 к + 5В. На подавляющем большинстве LCD-дисплеев (в том числе из Adafruit) LCD включает в себя резистор для светодиодной подсветки. Если вам посчастливилось иметь тот, который не включает в себя резистор, вы должны будете добавлять один между +5V и контактом 15.
Для вычисления значения резистора, посмотрите максимальный ток подсветки и типичное падение напряжения от подсветки в паспорте. Вычтите падение напряжения от 5 вольт, а затем разделите на максимальный ток, округлите до следующего стандартного резистора. Например, если падение напряжения подсветки 3.5 типично и номинальный ток 16 мА, то резистор должен быть (5 - 3,5) = 93,75 /0.016 Ом или 100 Ом при округлении до нормативного значения. Если вы не можете найти спецификацию, то безопасно применить сопротивление 220 Ом, правда столь высокое сопротивление может сделать подсветку тусклой.
----------------------------------------------------------------------------------------
Подключите питание к Arduino, это может быть USB или 5-12В блок питания постоянного тока
ваш LCD дисплей должен засветится
P.S. не все дисплеи оборудованя подстветкой, чем дешевле те темнее однако
Бугор
Магистр
Город Герой Магадан, St. Louis
211 103
Отв.22 11 Сент. 15, 22:29, через 21 мин
Потенциометер
Подключите одну из крайних ножек к + 5В, а другую к земле (вможно поменять эти соединения местами если вам захочется поменять напрвление измения котраста). Среднюю ножку потенциометра подключите к контакту 3 LCD-дисплея.
------------------------------------------------------------
Теперь мы присоеденим логику дисплея
Контакт дисплея 1 подключить к земле и контакт 2 к +5В
------------------------------------------------------------
Теперь включите Arduino, вы увидите , что подсветка включилась (если есть) и вы сможете регулировать контраст поворачивая потенциометер до тех пор пока вы не увидите первую строку или не появятся светлые прямойгольники.
Это значит, что вы успешно подсоеденили подсветку и логику
Подключите одну из крайних ножек к + 5В, а другую к земле (вможно поменять эти соединения местами если вам захочется поменять напрвление измения котраста). Среднюю ножку потенциометра подключите к контакту 3 LCD-дисплея.
------------------------------------------------------------
Теперь мы присоеденим логику дисплея
Контакт дисплея 1 подключить к земле и контакт 2 к +5В
------------------------------------------------------------
Теперь включите Arduino, вы увидите , что подсветка включилась (если есть) и вы сможете регулировать контраст поворачивая потенциометер до тех пор пока вы не увидите первую строку или не появятся светлые прямойгольники.
Это значит, что вы успешно подсоеденили подсветку и логику
Бугор
Магистр
Город Герой Магадан, St. Louis
211 103
Отв.23 11 Сент. 15, 22:48, через 20 мин
Подключение шины
Теперь мы закончим подключение путем подключения линий данных.
Есть 11 линий: D0 до D7 (8 линий данных) и RS, EN и РАО.
D0-D7 это контакты, по которым мы посылаем сигнал на дисплей.
RS позволяет микроконтроллеру сказать LCD если он хочет отобразить данные (как, в ASCII символа), или это командный байт для изменения позиции курсора.
EN это линия включения чтения, она дает команду на LCD когда данные готовы для чтения.
RW линия используется, чтобы установить направление - хотим ли мы написать на дисплее (общий) или читать с него (реже)
Хорошей новостью является то, что не все эти контакты необходимы для нас, чтобы подключиться к микроконтроллеру Arduino.
RW например,нам не требуется если мы хотим только писать на дисплей (более распространненный вариант), и мы можем 'связать' его на землю.
Существует также способ, чтобы поговорить с LCD, используя только 4 линии данных вместо 8. Это экономит нам 4 линии!
Таким образом, чтобы резюмировать, на нужны шесть контактов: RS, EN, D7, D6, D5, и D4, чтобы поговорить с LCD-дисплеем.
Мы будем использовать LiquidCrystal библиотеку, это позволит нам избежать массы нудного кодирования.
Еще одна приятная черта этой библиотеки - вы можете использовать любые контакты шины Arduino для подключения к шине LCD. Таким образом, после прохождения через этого руководства, вы увидите как легко поменять контакты шины Arduino если на то есть необходимость.
Теперь мы закончим подключение путем подключения линий данных.
Есть 11 линий: D0 до D7 (8 линий данных) и RS, EN и РАО.
D0-D7 это контакты, по которым мы посылаем сигнал на дисплей.
RS позволяет микроконтроллеру сказать LCD если он хочет отобразить данные (как, в ASCII символа), или это командный байт для изменения позиции курсора.
EN это линия включения чтения, она дает команду на LCD когда данные готовы для чтения.
RW линия используется, чтобы установить направление - хотим ли мы написать на дисплее (общий) или читать с него (реже)
Хорошей новостью является то, что не все эти контакты необходимы для нас, чтобы подключиться к микроконтроллеру Arduino.
RW например,нам не требуется если мы хотим только писать на дисплей (более распространненный вариант), и мы можем 'связать' его на землю.
Существует также способ, чтобы поговорить с LCD, используя только 4 линии данных вместо 8. Это экономит нам 4 линии!
Таким образом, чтобы резюмировать, на нужны шесть контактов: RS, EN, D7, D6, D5, и D4, чтобы поговорить с LCD-дисплеем.
Мы будем использовать LiquidCrystal библиотеку, это позволит нам избежать массы нудного кодирования.
Еще одна приятная черта этой библиотеки - вы можете использовать любые контакты шины Arduino для подключения к шине LCD. Таким образом, после прохождения через этого руководства, вы увидите как легко поменять контакты шины Arduino если на то есть необходимость.
Бугор
Магистр
Город Герой Магадан, St. Louis
211 103
Отв.24 11 Сент. 15, 22:57, через 9 мин
Бугор
Магистр
Город Герой Магадан, St. Louis
211 103
Отв.25 11 Сент. 15, 23:17, через 21 мин
Как уже упоминалось, мы не будем использовать RW шины LCD, так что мы можем подключить его к земле (-5В). Это контакт 5 шины LCD.
-----------------------------------------------------------------
Теперь RS контакт 4 мы подключим Arduino цифровому контакту 7.
------------------------------------------------------------------
EN контакт 6 подлючим к Arduino цифровому контакту 8.
------------------------------------------------------------------
Начнем соединять контакты данных. DB7 контакт 14 на LCD-дисплее, соединяется оранжевым проводом к Arduino цифровому контакту 12.
------------------------------------------------------------------
Далее следуют остальные 3 линии передачи данных -
DB6 (контактный 13 желтый) связываем с Arduino # 11
DB5 (контактный 12 зеленый) связываем с Arduino # 10
DB4 (контактный 11 синий) связываем с Arduino # 9
У вас должен получиться промежуток из четырех, не использованных, контактов на вашем LCD-дисплее
-------------------------------------------------------------------
Должно получиться примерно вот так
Бугор
Магистр
Город Герой Магадан, St. Louis
211 103
Отв.26 12 Сент. 15, 00:04, через 48 мин
дело осталось за малым, открыть скеч в редакторе, поменять одну линию кода и можно запускать наш LCD дисплей.
Если вы решили поменять контакты на Arduino то не помешает записать ваши изменения.
Так выглядит то, что у нас должно было получиться
LCD pin name RS EN DB4 DB5 DB6 DB7
Arduino pin # 7 8 9 10 11 12
В редакторе откройте скеч C:\Program Files (x86)\Arduino\libraries\LiquidCrystal\examples\HelloWorld\HelloWorld.ino
и поменяйте линию (помните, ее можно отключить с помощью //)
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
на нашу новую раскладку контактов
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
ладно, ладно , я понял ...
просто скопируйте вот это
Если вы решили поменять контакты на Arduino то не помешает записать ваши изменения.
Так выглядит то, что у нас должно было получиться
LCD pin name RS EN DB4 DB5 DB6 DB7
Arduino pin # 7 8 9 10 11 12
В редакторе откройте скеч C:\Program Files (x86)\Arduino\libraries\LiquidCrystal\examples\HelloWorld\HelloWorld.ino
и поменяйте линию (помните, ее можно отключить с помощью //)
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
на нашу новую раскладку контактов
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
ладно, ладно , я понял ...
просто скопируйте вот это
/*
LiquidCrystal Library - Hello World
Demonstrates the use a 16x2 LCD display. The LiquidCrystal
library works with all LCD displays that are compatible with the
Hitachi HD44780 driver. There are many of them out there, and you
can usually tell them by the 16-pin interface.
This sketch prints "Hello World!" to the LCD
and shows the time.
The circuit:
* LCD RS pin to digital pin 12
* LCD Enable pin to digital pin 11
* LCD D4 pin to digital pin 5
* LCD D5 pin to digital pin 4
* LCD D6 pin to digital pin 3
* LCD D7 pin to digital pin 2
* LCD R/W pin to ground
* LCD VSS pin to ground
* LCD VCC pin to 5V
* 10K resistor:
* ends to +5V and ground
* wiper to LCD VO pin (pin 3)
Library originally added 18 Apr 2008
by David A. Mellis
library modified 5 Jul 2009
by Limor Fried (http://www.ladyada.net)
example added 9 Jul 2009
by Tom Igoe
modified 22 Nov 2010
by Tom Igoe
This example code is in the public domain.
http://www.arduino.cc/en/Tutorial/LiquidCrystal
*/
// прикрепляем билиотеку
#include <LiquidCrystal.h>
// инициализация библиоотеки с раскладкой контактов
//LiquidCrystal lcd(12, 11, 5, 4, 3, 2); /не рациональное использование контаков
//LiquidCrystal lcd(2, 3, 4, 5, 6, 7); //эта раскладка контактов мне понадобилась для подключения термометра
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
void setup() {
// подготавливаем LCD строчки и колонки
lcd.begin(16, 2);
// Печатаем на LCD.
lcd.print("hello, world!");
}
void loop() {
// позиция курсора 0 (в начале), на первой строке
// (заметка: строка под номером 1 это вторая строка, потому, что в компьютерных делах осчет начинается с нуля)
lcd.setCursor(0, 1);
// показываем сколько секунд прошло с момента запуска/перезапуска
lcd.print(millis() / 1000);
}
webserge
Доцент
Саратов
1.7K 468
Отв.27 12 Сент. 15, 00:05, через 1 мин
Бугор, к чему такие извраты с LCD экраном? Можно взять готовый шилд с кнопками, который просто ставится на плату на Уно или Мегу - http://ru.aliexpress.com/...1971336618.html Цена вопроса копеечная.
Бугор
Магистр
Город Герой Магадан, St. Louis
211 103
Отв.28 12 Сент. 15, 00:10, через 5 мин
к чему такие извраты с LCD экраном?webserge, 12 Сент. 15, 00:05делать можно конечно, что угодно, я разве против?
и я понимаю, что всезнаек в этом мире намного больше чем незнаек.
я себя отношу ко вторым и предпочитаю изучать любой обьект с его начала а не с середины.
Спасибо пожалуйста!
makh
Профессор
Sаmara
2.1K 1K
Отв.29 12 Сент. 15, 00:15, через 6 мин
взять готовый шилд с кнопкамиwebserge, 12 Сент. 15, 00:05ИМХО надо подождать, пока автор дойдет до кнопок. Возможно, дело в кнопках.
Может у него там вместо кнопок инкремент-крутёлка будет -- тогда кнопки на шильде, скорее всего, категорически лишними будут.
Или трёхкнопочный интерфейс, который програмить намного меньше букав .)
Бугор
Магистр
Город Герой Магадан, St. Louis
211 103
Отв.30 12 Сент. 15, 00:18, через 3 мин
оступление от темы
вас не раздражают умники, все знающие, критикующие, но не дающие ни какой инфомации о том как применять то, что они пафосно посоветовали?
меня онисука бесят
вас не раздражают умники, все знающие, критикующие, но не дающие ни какой инфомации о том как применять то, что они пафосно посоветовали?
меня онисука бесят
webserge
Доцент
Саратов
1.7K 468
Отв.31 12 Сент. 15, 00:31, через 14 мин
как применять то, что они пафосно посоветовали?Если реплика ко мне, то объяснить как применить шилд я точно могу, скетч моей автоматики выложен на этом форуме. Если эта тема описание того как я учусь паять, то это одно дело. Если это рекомендации для коллег по форуму, то и преподносить ее лучше немного по иному, показывая какие еще бывают варианты решения задачи и почему лично я выбрал не самый простой. Имхо.
меня онисука бесятБугор, 12 Сент. 15, 00:18
Бугор
Магистр
Город Герой Магадан, St. Louis
211 103
Отв.32 12 Сент. 15, 00:34, через 3 мин
на воре, говорят, и шапка горит
webserge
Доцент
Саратов
1.7K 468
Отв.33 12 Сент. 15, 00:40, через 7 мин
на воре, говорят, и шапка горитБугор, 12 Сент. 15, 00:34Какой вор, какая шапка?))) о чем сейчас?))
Бугор
Магистр
Город Герой Магадан, St. Louis
211 103
Отв.34 12 Сент. 15, 00:43, через 4 мин
Perfect
Огромное ему спасибо!
в отличии от всезнаек, человек не только указал, что есть другой метод, но и показал как он это сделал и дал ссылку на свой метод.
Поверте, бегать, искать то, что ваше величество соизволило указать тыкая носом собеседников в собственную значимость не добавляет вам ни уважения ни достоинства.
Какой вор, какая шапка?))) о чем сейчас?))webserge, 12 Сент. 15, 00:40Всезнайкам рекомендую посмотреть второй пост этой темs написаный max-yu.
Огромное ему спасибо!
в отличии от всезнаек, человек не только указал, что есть другой метод, но и показал как он это сделал и дал ссылку на свой метод.
Поверте, бегать, искать то, что ваше величество соизволило указать тыкая носом собеседников в собственную значимость не добавляет вам ни уважения ни достоинства.
webserge
Доцент
Саратов
1.7K 468
Отв.35 12 Сент. 15, 01:16, через 34 мин
Бугор, так лучше [Простая автоматика на Arduino Uno] ? Модераторы еще не одобрили, поэтому не откроется пока. Как будет доступна буду там отвечать на все возможные вопросы по работе и железу.
Прикладываю сюда сегодняшнее видео и скетч. На видео видно как выглядит контроллер с этим шилдом, ну а в скетче видно как все это запрограммировано. В данный момент как раз идет дистилляция дробная, заодно и фотки делаю.
https://yadi.sk/i/M5TGnQNWj35Qn
https://yadi.sk/d/NcPbkve2j35St
Прикладываю сюда сегодняшнее видео и скетч. На видео видно как выглядит контроллер с этим шилдом, ну а в скетче видно как все это запрограммировано. В данный момент как раз идет дистилляция дробная, заодно и фотки делаю.
https://yadi.sk/i/M5TGnQNWj35Qn
https://yadi.sk/d/NcPbkve2j35St
makh
Профессор
Sаmara
2.1K 1K
Отв.36 12 Сент. 15, 01:20, через 4 мин
А может, реплика ко мне?
Так вроде ж ничего не советовал, тем более пафосно.
И в указании коллеги на наличие на рынке копеечного дисплей-шильда тож не вижу никакого пафоса.
Всего-то высказался в смысле, что, в зависимости от конкретной реализации пользовательского ввода (тема, кстати, не раскрыта), шильд, несмотря на кажущуюся уместность, возможно, будет избыточным элементом. Это как-то должно тыкать кого-то носом в чью-то значисмость? Почему?
Так вроде ж ничего не советовал, тем более пафосно.
И в указании коллеги на наличие на рынке копеечного дисплей-шильда тож не вижу никакого пафоса.
Всего-то высказался в смысле, что, в зависимости от конкретной реализации пользовательского ввода (тема, кстати, не раскрыта), шильд, несмотря на кажущуюся уместность, возможно, будет избыточным элементом. Это как-то должно тыкать кого-то носом в чью-то значисмость? Почему?
Бугор
Магистр
Город Герой Магадан, St. Louis
211 103
Отв.37 12 Сент. 15, 01:22, через 3 мин
так лучше [Простая автоматика на Arduino Uno] ?webserge, 12 Сент. 15, 01:16Намного! Спасибо!
подождем одобрения
Добавлено через 9мин.:
сегодняшнее видео и скетчwebserge, 12 Сент. 15, 01:16очень серьезный подход, видно, что не один день на эту прозу потрачено
webserge
Доцент
Саратов
1.7K 468
Отв.38 12 Сент. 15, 01:40, через 18 мин
Бугор, начал по весне этого года, дорабатываю с перерывами до сих пор + чем дальше тем еще больше планов.
Бугор
Магистр
Город Герой Магадан, St. Louis
211 103
Отв.39 12 Сент. 15, 01:46, через 7 мин
как всегда, у самого были web апликации котрые начались с одной страницы а когда клаву в покое оставил оказалось что год прошел
Добавлено через 1мин.:
честно говоря, сильно не копал, но сразу скажу что с уважением отношусь к колегам которые комментируют свой код с такой тщательностью как у тебя!
Добавлено через 1мин.:
честно говоря, сильно не копал, но сразу скажу что с уважением отношусь к колегам которые комментируют свой код с такой тщательностью как у тебя!