DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Звіт з лабораторної роботи №2 з дисципліни Програмування Embedded System: Дослідження архітектури Arduino Uno

Оригінальна назва роботи

Звіт з лабораторної роботи №2 з дисципліни Програмування Embedded System

Інформація про навчальний заклад

ВУЗ:
Харківський національний університет радіоелектроніки
Інститут:
Харківський національний університет радіоелектроніки
Факультет:
Факультет комп'ютерної інженерії
Кафедра:
Кафедра електронних обчислювальних машин

Інформація про роботу

Рік:
2026
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Програмування Embedded System
Група:
SPZM20-01
Коротко про документ

Про що ця робота

У звіті досліджено архітектуру мікроконтролера Arduino Uno та розроблено віртуальний проєкт у середовищі Autodesk Tinkercad. Реалізовано управління LCD-дисплеєм WH1602 та датчиком температури TMP36 засобами мови C++.

У роботі розглядаються

  • Embedded systems
  • Arduino Uno
  • LCD WH1602
  • TMP36 temperature sensor
  • Autodesk Tinkercad
  • ATmega328P
  • C++ programming

Зміст і розділи

  1. Мета роботи
  2. Хід роботи
  3. Висновок
Для кого:Студенти технічних спеціальностей, викладачі та розробники вбудованих систем.
Викладачі:Лектор

Ключові поняття

Arduino UnoLCD WH1602TMP36ATmega328PAutodesk TinkercadLiquidCrystalтемпературний датчикнапругапрограмування

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО НАУКИ ТА ОСВІТИ УКРАЇНИ ХАРКІВСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ РАДІОЕЛЕКТРОНІКИ Звіт з лабораторної роботи №2 по предмету «Програмування Embedded System» за темою:”ДОСЛІДЖЕННЯ АРХІТЕКТУРИ ARDUINO UNО 3 ДЛЯ УПРАВЛІННЯ LCD WH1602 НА ОСНОВІ МІКРОКОНТРОЛЕРА - HD44780 І ТЕМПЕРАТУРНИМ ДАТЧИКОМ ТМР36” Харків Мета роботи: Дослідження архітектури ARDUINO UNО 3. Створення проекту в середовищі моделювання AUTODESK TINKERCAD на основі MCU ATmega 328P, з метою управління LCD-дисплеєм - WH1602 на основі мікроконтролера - HD44780 і температурним датчиком ТМР36. Хід роботи. Для виконання роботи я використовувала: 1) ARDUINO UNО 3. 2) Датчик температури TMP36 . Для перетворення напруги в температуру використовується залежність: де Темр - розрахована температура в приміщенні; Vout in mV - вихідна напруга в мілівольтах. 3)LCD WH1602 - дисплей на основі мікроконтролера - HD44780. Підключення LCD-дисплея відбувається наступним чином. - GND - земля (іноді пишуть Vss); - Vcc - напруга живлення +5 В (іноді пишуть Vdd); - Vo - напруга контрастності від 0В до + 5В, даний вихід треба підключити до потенціометра, для регулювання; - RS – вихід, за допомогою якого дисплей визначає, що в нього надходить: дані або команди; - RW - вихід за допомогою якого, дисплей визначає передавати або отримувати дані; - E - лінія синхронізації; - D0 - D7 – шина команд/даних - LED (+) - через резистор, що обмежує - 300Ом; - LED (-) - виходи для живлення підсвічування. Дисплей може працювати в 2-ох режимах: - режим № 1 - 8-и розрядний (тобто коли, для обміну інформацією використовуються контакти від D0 до D7), дані пересилаються за один такт; - режим № 2 - 4-х розрядний (для обміну використовуються тільки контакти D4 - D7), в цьому випадку дані пересилаються за 2 такту, спочатку старші 4 біти, потім молодші 4 біти. 4) Мультиметр - 2шт 5) Потенціометр - 2шт. 6) Резістори - 1 шт. В програмі Autodesk Tinkercad я створила проект для управління LCD-дисплеєм - WH1602 на основі мікроконтролера - HD44780 і температурним датчиком ТМР36. При зміні вхідної напруги змінюється температура Коли напруга зростає, то температура знижується Програма написана мовою C++, з використанням бібліотеки LiquidCrystal(). #include <LiquidCrystal.h> // Подключение библиотеки //#include <LiquidCrystal_PCF8574.h> // Подключение альтернативной библиотеки // initialize the library with the numbers of the interface pins LiquidCrystal lcd(12, 11, 5, 4, 3, 2); byte p20[8]= { B10000, B10000, B10000, B10000, B10000, B10000, B10000, }; byte p40[8]= { B11000, B11000, B11000, B11000, B11000, B11000, B11000, }; byte p60[8]= { B11100, B11100, B11100, B11100, B11100, B11100, B11100, }; byte p80[8]= { B11110, B11110, B11110, B11110, B11110, B11110, B11110, }; byte p100[8]= { B11111, B11111, B11111, B11111, B11111, B11111, B11111, }; byte avtor[8]= { B00010, B00001, B11001, B00001, B11001, B00001, B00010, }; void setup() { // вводим номера строк и колонок lcd.begin(16, 2); lcd.createChar(1, p20); lcd.createChar(2, p40); lcd.createChar(3, p60); lcd.createChar(4, p80); lcd.createChar(5, p100); lcd.createChar(6, avtor); } void loop() { // ставим курсор на колонку 0, линия 1 // (note: линия 1 секундный ряд, счёт начинается с нуля 0): lcd.setCursor(0,0); //очищаем экран clearScreen(); //ставим курсор на колонку 4, линия 0 lcd.setCursor(4,0); lcd.print("SPzm20-01"); lcd.setCursor(0,1); lcd.print("[ім’я автора приховано]"); delay(1200); clearScreen(); lcd.setCursor(7,0); lcd.print("\1"); lcd.print("\2"); lcd.print("\3"); lcd.print("\4"); lcd.print("\5"); lcd.print("\6"); lcd.setCursor(0,1); for(int i = 0; i<16; i++){ lcd.print("\6"); lcd.setCursor(i,1); delay(100); lcd.print(" "); } clearScreen(); delay(1000); printTemperature(); delay(1000); clearScreen(); } void clearScreen(){ lcd.setCursor(0,0); lcd.print(" "); lcd.setCursor(0,1); lcd.print(" "); } void printTemperature(){ lcd.setCursor(0,1); int voltage = analogRead(0); float temperature = (voltage - 500)/10; String s = " tem.C="; lcd.print(s); lcd.print(temperature); } Висновок Виконав[ім’я автора приховано]еєм - WH1602 на основі мікроконтролера - HD44780 і температурним датчиком ТМР36.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!