Итак для начала узнаем как управлять 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
}