форумы для свободного общения
Технический форум => Arduino => Робототехника => Проекты на Arduino => Тема начата: Мельников Тимур от Июня 21, 2017, 12:15:52
Итак для начала узнаем как управлять LCD дисплеем в теории. В отличие от подключения с использованием библиотеки здесь мы подключаем не 4 вывода данных, а 8 старшие биты и младшие биты. Сначала включаем дисплей, потом инициализируем его, очищаем дисплей и только после этого можно изображать символы.void setup() { pinMode(3, OUTPUT); //Вывод RS(Register selection), если передаем команду, то подаем 0 на этот вывод, а если символ то 1 pinMode(4, OUTPUT); //Вывод R/W(Read/Write), если надо записать информацию, то 0, а если считываем то 1 pinMode(5, OUTPUT); //Вывод E(Enable), в начале передачи или приема подаем 1, в конце 0 pinMode(6, OUTPUT); //Вывод DB0(Data bit 0) - младший бит pinMode(7, OUTPUT); //Вывод DB1(Data bit 1) - младший бит pinMode(8, OUTPUT); //Вывод DB2(Data bit 2) - младший бит pinMode(9, OUTPUT); //Вывод DB3(Data bit 3) - младший бит pinMode(10, OUTPUT); //Вывод DB4(Data bit 4) - Старший бит pinMode(11, OUTPUT); //Вывод DB0(Data bit 5) - Старший бит pinMode(12, OUTPUT); //Вывод DB0(Data bit 6) - Старший бит pinMode(13, OUTPUT); //Вывод DB0(Data bit 7) - Старший бит } void loop() { //Начало блока включения дисплея digitalWrite(3, 0); digitalWrite(4, 0); digitalWrite(5, 1); digitalWrite(6, 0); digitalWrite(7, 0); digitalWrite(8, 1); digitalWrite(9, 1); digitalWrite(10, 0); digitalWrite(11, 0); digitalWrite(12, 0); digitalWrite(13, 0); digitalWrite(5, 0); delay(50); //Пауза, чтобы была анимация //Конец блока включения дисплея //Начало блока инициализации дисплея digitalWrite(3, 0); digitalWrite(4, 0); digitalWrite(5, 1); digitalWrite(6, 0); digitalWrite(7, 0); digitalWrite(8, 1); digitalWrite(9, 1); digitalWrite(10, 1); digitalWrite(11, 1); digitalWrite(12, 0); digitalWrite(13, 0); digitalWrite(5, 0); delay(50); //Пауза, чтобы была анимация //Конец блока инициализации дисплея //Начало блока отчистки дисплея digitalWrite(3, 0); digitalWrite(4, 0); digitalWrite(5, 1); digitalWrite(6, 1); digitalWrite(7, 0); digitalWrite(8, 0); digitalWrite(9, 0); digitalWrite(10, 0); digitalWrite(11, 0); digitalWrite(12, 0); digitalWrite(13, 0); digitalWrite(5, 0); delay(50); //Пауза, чтобы была анимация //Конец блока отчистки дисплея //Начало блока символа h digitalWrite(3, 1); digitalWrite(4, 0); digitalWrite(5, 1); digitalWrite(6, 0); digitalWrite(7, 0); digitalWrite(8, 0); digitalWrite(9, 1); digitalWrite(10, 0); digitalWrite(11, 1); digitalWrite(12, 1); digitalWrite(13, 0); digitalWrite(5, 0); delay(50); //Пауза, чтобы была анимация //Конец блока символа h //Начало блока символа t digitalWrite(3, 1); digitalWrite(4, 0); digitalWrite(5, 1); digitalWrite(6, 0); digitalWrite(7, 0); digitalWrite(8, 1); digitalWrite(9, 0); digitalWrite(10, 1); digitalWrite(11, 1); digitalWrite(12, 1); digitalWrite(13, 0); digitalWrite(5, 0); delay(50); //Пауза, чтобы была анимация //Конец блока символа t //Начало блока символа t digitalWrite(3, 1); digitalWrite(4, 0); digitalWrite(5, 1); digitalWrite(6, 0); digitalWrite(7, 0); digitalWrite(8, 1); digitalWrite(9, 0); digitalWrite(10, 1); digitalWrite(11, 1); digitalWrite(12, 1); digitalWrite(13, 0); digitalWrite(5, 0); delay(50); //Пауза, чтобы была анимация //Конец блока символа t //Начало блока символа p digitalWrite(3, 1); digitalWrite(4, 0); digitalWrite(5, 1); digitalWrite(6, 0); digitalWrite(7, 0); digitalWrite(8, 0); digitalWrite(9, 0); digitalWrite(10, 1); digitalWrite(11, 1); digitalWrite(12, 1); digitalWrite(13, 0); digitalWrite(5, 0); delay(50); //Пауза, чтобы была анимация //Конец блока символа p //Начало блока символа : digitalWrite(3, 1); digitalWrite(4, 0); digitalWrite(5, 1); digitalWrite(6, 0); digitalWrite(7, 0); digitalWrite(8, 0); digitalWrite(9, 1); digitalWrite(10, 1); digitalWrite(11, 1); digitalWrite(12, 0); digitalWrite(13, 0); digitalWrite(5, 0); delay(50); //Пауза, чтобы была анимация //Конец блока символа : //Начало блока символа / digitalWrite(3, 1); digitalWrite(4, 0); digitalWrite(5, 1); digitalWrite(6, 1); digitalWrite(7, 1); digitalWrite(8, 1); digitalWrite(9, 1); digitalWrite(10, 0); digitalWrite(11, 1); digitalWrite(12, 0); digitalWrite(13, 0); digitalWrite(5, 0); delay(50); //Пауза, чтобы была анимация //Конец блока символа / //Начало блока символа / digitalWrite(3, 1); digitalWrite(4, 0); digitalWrite(5, 1); digitalWrite(6, 1); digitalWrite(7, 1); digitalWrite(8, 1); digitalWrite(9, 1); digitalWrite(10, 0); digitalWrite(11, 1); digitalWrite(12, 0); digitalWrite(13, 0); digitalWrite(5, 0); delay(50); //Пауза, чтобы была анимация //Конец блока символа / //Начало блока символа m digitalWrite(3, 1); digitalWrite(4, 0); digitalWrite(5, 1); digitalWrite(6, 1); digitalWrite(7, 0); digitalWrite(8, 1); digitalWrite(9, 1); digitalWrite(10, 0); digitalWrite(11, 1); digitalWrite(12, 1); digitalWrite(13, 0); digitalWrite(5, 0); delay(50); //Пауза, чтобы была анимация //Конец блока символа m //Начало блока символа s digitalWrite(3, 1); digitalWrite(4, 0); digitalWrite(5, 1); digitalWrite(6, 1); digitalWrite(7, 1); digitalWrite(8, 0); digitalWrite(9, 0); digitalWrite(10, 1); digitalWrite(11, 1); digitalWrite(12, 1); digitalWrite(13, 0); digitalWrite(5, 0); delay(50); //Пауза, чтобы была анимация //Конец блока символа s //Начало блока символа e digitalWrite(3, 1); digitalWrite(4, 0); digitalWrite(5, 1); digitalWrite(6, 1); digitalWrite(7, 0); digitalWrite(8, 1); digitalWrite(9, 0); digitalWrite(10, 0); digitalWrite(11, 1); digitalWrite(12, 1); digitalWrite(13, 0); digitalWrite(5, 0); delay(50); //Пауза, чтобы была анимация //Конец блока символа e //Начало блока символа v digitalWrite(3, 1); digitalWrite(4, 0); digitalWrite(5, 1); digitalWrite(6, 0); digitalWrite(7, 1); digitalWrite(8, 1); digitalWrite(9, 0); digitalWrite(10, 1); digitalWrite(11, 1); digitalWrite(12, 1); digitalWrite(13, 0); digitalWrite(5, 0); delay(50); //Пауза, чтобы была анимация //Конец блока символа v //Начало блока символа m digitalWrite(3, 1); digitalWrite(4, 0); digitalWrite(5, 1); digitalWrite(6, 1); digitalWrite(7, 0); digitalWrite(8, 1); digitalWrite(9, 1); digitalWrite(10, 0); digitalWrite(11, 1); digitalWrite(12, 1); digitalWrite(13, 0); digitalWrite(5, 0); delay(50); //Пауза, чтобы была анимация //Конец блока символа m //Начало блока символа . digitalWrite(3, 1); digitalWrite(4, 0); digitalWrite(5, 1); digitalWrite(6, 0); digitalWrite(7, 1); digitalWrite(8, 1); digitalWrite(9, 1); digitalWrite(10, 0); digitalWrite(11, 1); digitalWrite(12, 0); digitalWrite(13, 0); digitalWrite(5, 0); delay(50); //Пауза, чтобы была анимация //Конец блока символа . //Начало блока символа c digitalWrite(3, 1); digitalWrite(4, 0); digitalWrite(5, 1); digitalWrite(6, 1); digitalWrite(7, 1); digitalWrite(8, 0); digitalWrite(9, 0); digitalWrite(10, 0); digitalWrite(11, 1); digitalWrite(12, 1); digitalWrite(13, 0); digitalWrite(5, 0); delay(50); //Пауза, чтобы была анимация //Конец блока символа c //Начало блока символа o digitalWrite(3, 1); digitalWrite(4, 0); digitalWrite(5, 1); digitalWrite(6, 1); digitalWrite(7, 1); digitalWrite(8, 1); digitalWrite(9, 1); digitalWrite(10, 0); digitalWrite(11, 1); digitalWrite(12, 1); digitalWrite(13, 0); digitalWrite(5, 0); delay(50); //Пауза, чтобы была анимация //Конец блока символа o //Начало блока символа m digitalWrite(3, 1); digitalWrite(4, 0); digitalWrite(5, 1); digitalWrite(6, 1); digitalWrite(7, 0); digitalWrite(8, 1); digitalWrite(9, 1); digitalWrite(10, 0); digitalWrite(11, 1); digitalWrite(12, 1); digitalWrite(13, 0); digitalWrite(5, 0); delay(50); //Пауза, чтобы была анимация //Конец блока символа m for (int i=0; i <24; i++) { //Цикл для того чтобы перейти на следующую строчку down(); //Вызов подпрограммы down() } //Начало блока символа > digitalWrite(3, 1); digitalWrite(4, 0); digitalWrite(5, 1); digitalWrite(6, 0); digitalWrite(7, 1); digitalWrite(8, 1); digitalWrite(9, 1); digitalWrite(10, 1); digitalWrite(11, 1); digitalWrite(12, 0); digitalWrite(13, 0); digitalWrite(5, 0); delay(50); //Пауза, чтобы была анимация //Конец блока символа > //Начало блока символа > digitalWrite(3, 1); digitalWrite(4, 0); digitalWrite(5, 1); digitalWrite(6, 0); digitalWrite(7, 1); digitalWrite(8, 1); digitalWrite(9, 1); digitalWrite(10, 1); digitalWrite(11, 1); digitalWrite(12, 0); digitalWrite(13, 0); digitalWrite(5, 0); delay(50); //Пауза, чтобы была анимация //Конец блока символа > //Начало блока символа > digitalWrite(3, 1); digitalWrite(4, 0); digitalWrite(5, 1); digitalWrite(6, 1); digitalWrite(7, 0); digitalWrite(8, 1); digitalWrite(9, 0); digitalWrite(10, 0); digitalWrite(11, 1); digitalWrite(12, 1); digitalWrite(13, 0); digitalWrite(5, 0); delay(50); //Пауза, чтобы была анимация //Конец блока символа e //Начало блока символа l digitalWrite(3, 1); digitalWrite(4, 0); digitalWrite(5, 1); digitalWrite(6, 0); digitalWrite(7, 0); digitalWrite(8, 1); digitalWrite(9, 1); digitalWrite(10, 0); digitalWrite(11, 1); digitalWrite(12, 1); digitalWrite(13, 0); digitalWrite(5, 0); delay(50); //Пауза, чтобы была анимация //Конец блока символа l //Начало блока символа e digitalWrite(3, 1); digitalWrite(4, 0); digitalWrite(5, 1); digitalWrite(6, 1); digitalWrite(7, 0); digitalWrite(8, 1); digitalWrite(9, 0); digitalWrite(10, 0); digitalWrite(11, 1); digitalWrite(12, 1); digitalWrite(13, 0); digitalWrite(5, 0); delay(50); //Пауза, чтобы была анимация //Конец блока символа e //Начало блока символа c digitalWrite(3, 1); digitalWrite(4, 0); digitalWrite(5, 1); digitalWrite(6, 1); digitalWrite(7, 1); digitalWrite(8, 0); digitalWrite(9, 0); digitalWrite(10, 0); digitalWrite(11, 1); digitalWrite(12, 1); digitalWrite(13, 0); digitalWrite(5, 0); delay(50); //Пауза, чтобы была анимация //Конец блока символа c //Начало блока символа t digitalWrite(3, 1); digitalWrite(4, 0); digitalWrite(5, 1); digitalWrite(6, 0); digitalWrite(7, 0); digitalWrite(8, 1); digitalWrite(9, 0); digitalWrite(10, 1); digitalWrite(11, 1); digitalWrite(12, 1); digitalWrite(13, 0); digitalWrite(5, 0); delay(50); //Пауза, чтобы была анимация //Конец блока символа t //Начало блока символа r digitalWrite(3, 1); digitalWrite(4, 0); digitalWrite(5, 1); digitalWrite(6, 0); digitalWrite(7, 1); digitalWrite(8, 0); digitalWrite(9, 0); digitalWrite(10, 1); digitalWrite(11, 1); digitalWrite(12, 1); digitalWrite(13, 0); digitalWrite(5, 0); delay(50); //Пауза, чтобы была анимация //Конец блока символа r //Начало блока символа o digitalWrite(3, 1); digitalWrite(4, 0); digitalWrite(5, 1); digitalWrite(6, 1); digitalWrite(7, 1); digitalWrite(8, 1); digitalWrite(9, 1); digitalWrite(10, 0); digitalWrite(11, 1); digitalWrite(12, 1); digitalWrite(13, 0); digitalWrite(5, 0); delay(50); //Пауза, чтобы была анимация //Конец блока символа o //Начало блока символа G digitalWrite(3, 1); digitalWrite(4, 0); digitalWrite(5, 1); digitalWrite(6, 1); digitalWrite(7, 1); digitalWrite(8, 1); digitalWrite(9, 0); digitalWrite(10, 0); digitalWrite(11, 0); digitalWrite(12, 1); digitalWrite(13, 0); digitalWrite(5, 0); delay(50); //Пауза, чтобы была анимация //Конец блока символа G //Начало блока символа h digitalWrite(3, 1); digitalWrite(4, 0); digitalWrite(5, 1); digitalWrite(6, 0); digitalWrite(7, 0); digitalWrite(8, 0); digitalWrite(9, 1); digitalWrite(10, 0); digitalWrite(11, 1); digitalWrite(12, 1); digitalWrite(13, 0); digitalWrite(5, 0); delay(50); //Пауза, чтобы была анимация //Конец блока символа h //Начало блока символа o digitalWrite(3, 1); digitalWrite(4, 0); digitalWrite(5, 1); digitalWrite(6, 1); digitalWrite(7, 1); digitalWrite(8, 1); digitalWrite(9, 1); digitalWrite(10, 0); digitalWrite(11, 1); digitalWrite(12, 1); digitalWrite(13, 0); digitalWrite(5, 0); delay(50); //Пауза, чтобы была анимация //Конец блока символа o //Начало блока символа s digitalWrite(3, 1); digitalWrite(4, 0); digitalWrite(5, 1); digitalWrite(6, 1); digitalWrite(7, 1); digitalWrite(8, 0); digitalWrite(9, 0); digitalWrite(10, 1); digitalWrite(11, 1); digitalWrite(12, 1); digitalWrite(13, 0); digitalWrite(5, 0); delay(50); //Пауза, чтобы была анимация //Конец блока символа s //Начало блока символа t digitalWrite(3, 1); digitalWrite(4, 0); digitalWrite(5, 1); digitalWrite(6, 0); digitalWrite(7, 0); digitalWrite(8, 1); digitalWrite(9, 0); digitalWrite(10, 1); digitalWrite(11, 1); digitalWrite(12, 1); digitalWrite(13, 0); digitalWrite(5, 0); delay(50); //Пауза, чтобы была анимация //Конец блока символа t //Начало блока символа < digitalWrite(3, 1); digitalWrite(4, 0); digitalWrite(5, 1); digitalWrite(6, 0); digitalWrite(7, 0); digitalWrite(8, 1); digitalWrite(9, 1); digitalWrite(10, 1); digitalWrite(11, 1); digitalWrite(12, 0); digitalWrite(13, 0); digitalWrite(5, 0); delay(50); //Пауза, чтобы была анимация //Конец блока символа < //Начало блока символа < digitalWrite(3, 1); digitalWrite(4, 0); digitalWrite(5, 1); digitalWrite(6, 0); digitalWrite(7, 0); digitalWrite(8, 1); digitalWrite(9, 1); digitalWrite(10, 1); digitalWrite(11, 1); digitalWrite(12, 0); digitalWrite(13, 0); digitalWrite(5, 0); delay(50); //Пауза, чтобы была анимация //Конец блока символа < delay(10000); //Пауза, чтобы дисплей обновлялся каждые 10 секунд иначе он будет постоянно обновляться. } void down() { //Начало блока символа m digitalWrite(3, 1); digitalWrite(4, 0); digitalWrite(5, 1); digitalWrite(6, 0); digitalWrite(7, 0); digitalWrite(8, 1); digitalWrite(9, 0); digitalWrite(10, 1); digitalWrite(11, 0); digitalWrite(12, 0); digitalWrite(13, 0); digitalWrite(5, 0); delay(1); //Пауза, чтобы была анимация //Конец блока символа m }
VIDEO Схема подключения
Дополнение: http://r9al.ru/2020/arduino/app/lcd/index.htm