Автор Тема: Подключение LCD к ардуино без использования библиотеки  (Прочитано 10926 раз)

Оффлайн Мельников Тимур

  • Administrator
  • Member
  • *****
  • Сообщений: 24
  • Репутация: +1/-0
    • E-mail
    • Личное сообщение (Оффлайн)
Итак для начала узнаем как управлять 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
}
« Последнее редактирование: Июня 21, 2017, 14:00:15 от electroGhost »

Оффлайн Мельников Тимур

  • Administrator
  • Member
  • *****
  • Сообщений: 24
  • Репутация: +1/-0
    • E-mail
    • Личное сообщение (Оффлайн)

Схема подключения
« Последнее редактирование: Июля 11, 2017, 18:26:52 от john »

Оффлайн john

  • Administrator
  • Hero
  • *****
  • Сообщений: 11751
  • Репутация: +26/-16
    • http://r9al.ru
    • E-mail
    • Личное сообщение (Оффлайн)

 

Последние сообщения на форуме: