ДОСЛІДЖЕННЯ АРХІТЕКТУРИ ARDUINO UNО 3 ДЛЯ УПРАВЛІННЯ СИСТЕМОЮ РОЗУМНОГО ПОЛИВУ НА ОСНОВІ ДАТЧИКА ВОЛОГОСТІ ГРУНТУ WAVESHARE 9527

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

ВУЗ:
Харківський національний університет радіоелектроніки
Інститут:
Не вказано
Факультет:
Комп'ютерна інженерія
Кафедра:
Не вказано

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

Рік:
2024
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Програмування Embedded System

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

МІНІСТЕРСТВО НАУКИ ТА ОСВІТИ УКРАЇНИ ХАРКІВСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ РАДІОЕЛЕКТРОНІКИ Звіт з лабораторної роботи №4 по предмету «Програмування Embedded System» за темою:”ДОСЛІДЖЕННЯ АРХІТЕКТУРИ ARDUINO UNО 3 ДЛЯ УПРАВЛІННЯ СИСТЕМОЮ РОЗУМНОГО ПОЛИВУ НА ОСНОВІ ДАТЧИКА ВОЛОГОСТІ ГРУНТУ WAVESHARE 9527” Харків Мета роботи: Дослідження архітектури ARDUINO UNО 3. Створення проекту в середовищі моделювання AUTODESK TINKERCAD на основі MCU ATmega 328P, з метою управління системою розумного поливу на основі датчика вологості грунту WAVESHARE 9527. Хід роботи: Для виконання лабораторної роботи я використовувала: 1) ARDUINO UNО 3. 2) Датчик вологості грунту WAVESHARE 9527. Сенсор при роботі споживає струм близько 35 мА. Напруга живлення 3,3 -5 В. Сигнал, що повертається при живленні від 5 В: 0 - 4,2 В. Відобразивши ці значення на 10-бітний діапазон, можна скористатися наступними приближениями: - 0 - 300: сухий грунт; - 300 - 850: вологий грунт; - 850 - 1023: датчик в воді. 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) Потенціометр - 3шт. 6) Датчик рівня води глибиномір T1592. Характеристики: - робоча напруга: DC3-5V; - робочий струм: менш ніж 20 мА; - тип сенсора: аналоговий; - зона виявлення: 40 мм x 16 мм; - робоча температура: 10-30; - вологість: 10% -90% без конденсації; - розміри: 62 мм x 20 мм x 8 мм. Відобразивши ці значення у 5-вольтовому діапазоні, можна скористатися наступними приближениями: - 0 - 500mV: відсутність води в баку; - 500mV - 1V: мало води в баку; - 1V - 4,5V: досить води в баку; - 4,5V - 5V: верхня межа води в баку. 7) Резістори - 2 шт. В програмі Autodesk Tinkercad я створила проект з метою управління системою розумного поливу на основі датчика вологості грунту WAVESHARE 9527./ Глибокомір вимірює кількість води в баці та виводить на екран “Tank is empty” і потім “Tank filling”, коли бак стає порожнім/ Коли грунт сухий на екран виведено інформацію “Watering”/ Коли грунт вологий, то на екран виведено “watering rejected”/ Програма написана мовою C++, з використанням бібліотеки LiquidCrystal(). // подключаем библиотеку #include <LiquidCrystal.h> // инициализируем библиотеку с номерами LiquidCrystal lcd(7, 6, 5, 4, 3, 2); void setup() { // вводим LCD номера колонок и рядов: lcd.begin(16, 2); } void loop() { float voltage; // ставим курсор в колонку 0, линию 1 lcd.setCursor(0,0); //очищаем экран clearScreen(); //ставим курсор в столбик 4, рядок 0 lcd.setCursor(4,0); lcd.print("SPzm20-01"); lcd.setCursor(0,1); lcd.print("Pushkar O.O."); delay(1000); clearScreen(); while(true){ amountWater(); showWaterGrade(); showSoilMoisture(); watering(); delay(300); } } void clearScreen(){ lcd.setCursor(0,0); lcd.print(" "); lcd.setCursor(0,1); lcd.print(" "); } void watering(){ if(getSoilMoisture() < 300.0){ clearScreen(); digitalWrite(8, 5); lcd.setCursor(0,1); lcd.print("watering"); for(int i = 0; i < 3; i++){ delay(500); lcd.print("."); } } else if(getSoilMoisture() > 300.0){ clearScreen(); digitalWrite(8, 5); lcd.setCursor(0,1); lcd.print("watering rejected"); for(int i = 0; i < 3; i++){ delay(500); lcd.print("."); } digitalWrite(8, 0); clearScreen(); } } void amountWater(){ float level = getWaterGrade(); if(level < 1.0){ clearScreen(); digitalWrite(8, 5); lcd.setCursor(0,1); lcd.print("Tank is empty"); delay(500); boolean motorIsWorking = true; while(level < 4.5){ lcd.setCursor(0,1); lcd.print("tank filling"); level = getWaterGrade(); delay(300); } motorIsWorking = false; digitalWrite(8, 0); clearScreen(); } } void showWaterGrade(){ float value = getWaterGrade(); lcd.setCursor(7,1); lcd.print(value); } void showSoilMoisture(){ lcd.setCursor(7,0); float moisture = getSoilMoisture(); lcd.print(moisture,1); } float getWaterGrade(){ float value = analogRead(0); value = value/200; return value; } float getSoilMoisture(){ float moisture = analogRead(1); return moisture; } Висновок Виконавши лабораторну роботу, я розглянула архітектуру ARDUINO UNО 3. І створила проект в середовищі моделювання AUTODESK TINKERCAD на основі MCU ATmega 328P, з метою управління системою розумного поливу на основі датчика вологості грунту WAVESHARE 9527.
Антиботан аватар за замовчуванням

15.04.2021 22:04-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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