You are on page 1of 9

Виконав: Мазуренко Микита

Група: КН-920Є
Практична робота 7
ДОСЛІДЖЕННЯ ОРГАНІЗАЦІЇ ВИВОДУ ІНФОРМАЦІЇ НА LCD
ІНДИКАТОРИ НА МІКРОПРОЦЕСОРІ ATMEGA328

Мета роботи: Дослідження організації процесу виводу інформації на LCD


індикатори на мікропроцесорі ATMega328 на платформі Arduino. Одержання
практичних навичок видачі інформації на LCD індикатори з використанням
мікропроцесора ATMega328 на платі Arduino UNO R3.

Індивідуальне завдання (Варіант 15)

1. Вивести найменування власної навчальної групи на перший рядок LCD


1602. Вивести власне прізвище та ініціали на другий рядок LCD 1602.
2. Вивести на екран індикатора значення e (математична константа, що є
основою натуральних логарифмів, e  2,7182818284) з кількістю десяткових знаків,
що співпадає з останньою цифрою вашого варіанта.
3. Вивести на екран індикатора значення вашого варіанта по журналу у
десятковій, двійковій та шістнадцятковій системі.
4. Вивести на екран індикатора ваше ім’я у рукописному вигляді (з
використанням не більш ніж 8-ми нестандартних символів)
Програма та спрощена блок-схема (рис 1). алгоритму організації процесу
виведення:

 Найменування власної навчальної групи і власного прізвища та ініціалів


на LCD 1602 за допомогою мікропроцесора ATMega328
 значення змінної із заданою кількістю десяткових знаків після коми за
допомогою мікропроцесора ATMega328 згідно індивідуального завдання.
 значення цілого числа (власного номера варіанта) у десятковій, двійковій
та шістнадцятковій системі за допомогою мікропроцесора ATMega328 згідно
індивідуального завдання
 власного імені у рукописному вигляді з використанням розроблених
нестандартних символів за допомогою мікропроцесора ATMega328 згідно
індивідуального завдання.

Рисунок 1 –виведення найменування власної навчальної групи і власного прізвища


та ініціалів.
Код програми:
#include <LiquidCrystal.h>
LiquidCrystal lcd(4, 5, 6, 7, 8, 9);
String e = "2.718281828459045";
String group = "KN-920E";
String name = "Mazurenko M.O.";
String decimal = "15";
String hex = "F";
String binary = "1111";

byte m[8] = {
B10001,
B11011,
B10101,
B10001,
B10001,
B10001,
B10001,
B00000
};

byte y[8] = {
B10001,
B10001,
B01010,
B00100,
B00100,
B00100,
B00100,
B00000
};

byte k[8] = {
B10001,
B10010,
B10100,
B11000,
B10100,
B10010,
B10001,
B00000
};

byte t[8] = {
B11111,
B00100,
B00100,
B00100,
B00100,
B00100,
B00100,
B00000
};

byte a[8] = {
B00100,
B01010,
B01010,
B11111,
B10001,
B10001,
B10001,
B00000
};

void setup() {
lcd.begin(16, 2);
lcd.createChar(0, m);
lcd.createChar(1, y);
lcd.createChar(2, k);
lcd.createChar(3, t);
lcd.createChar(4, a);

lcd.clear();
}

void task1() {
lcd.clear();
lcd.print(group);
lcd.setCursor(0, 1);
lcd.print(name);
}

void task2() {
lcd.clear();
lcd.print(e.substring(0, 16));
for(int i = 16; i < e.length(); i++) {
delay(500);
lcd.scrollDisplayLeft();
lcd.setCursor(i, 0);
lcd.print(e[i]);
}
}

void task3() {
lcd.clear();
lcd.print("Decimal:" + decimal);
lcd.setCursor(11, 0);
lcd.print("Hex:" + hex);
lcd.setCursor(3, 1);
lcd.print("Binary:" + binary);
}

void task4() {
lcd.clear();
lcd.write(byte(0));
lcd.write(byte(1));
lcd.write(byte(2));
lcd.write(byte(1));
lcd.write(byte(3));
lcd.write(byte(4));
}

void loop() {
task1();
delay(1000);
task2();
delay(1000);
task3();
delay(5000);
task4();
delay(5000);
}
Працюючі моделі схем виведення заданих данних на на LCD 1602 за
допомогою мікропроцесора ATMega328 у середовищі Tinkercad (рис. 2)
Посилання на Tinkercad

Рисунок 2 – модель схеми у середовищі Tinkercad


Працюючі моделі схем виведення заданих данних на на LCD 1602 у
середовищі PROTEUS(рис. 3)

Рисунок 3 – модель схеми у середовищі PROTEUS

Результати виконання (рис 4, 5, 6, 7, 8, 9, 10, 11)


Рисунок 4- відображення імені та групи в TinkerCad

Рисунок 5- відображення значення e з 15 знаками після коми в TinkerCad

Рисунок 6- відображення номеру по списку у різних системах числення в TinkerCad


Рисунок 7- відображення імені рукописними буквами в TinkerCad

Рисунок 8- відображення імені та групи в PROTEUS


Рисунок 9- відображення значення e з 15 знаками після коми в PROTEUS

Рисунок 10- відображення номеру по списку у різних системах числення в


PROTEUS
Рисунок 11- відображення імені рукописними буквами в PROTEUS

Висновок: дослідили організацію процесу виводу інформації на LCD


індикатори на мікропроцесорі ATMega328 на платформі Arduino. Одержали
практичні навички видачі інформації на LCD індикатори з використанням
мікропроцесора ATMega328 на платі Arduino UNO R3.

You might also like