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

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

ВУЗ:
ХАРКІВСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ РАДІОЕЛЕКТРОНІКИ
Інститут:
Не вказано
Факультет:
Комп'ютерна інженерія
Кафедра:
Не вказано

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

Рік:
2021
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Програмування 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 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
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.
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

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

Останні оголошення

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

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

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Новини