МІНІСТЕРСТВО НАУКИ ТА ОСВІТИ УКРАЇНИ
ХАРКІВСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ
РАДІОЕЛЕКТРОНІКИ
Звіт з лабораторної роботи №3
по предмету «Програмування Embedded System»
за темою:”ДОСЛІДЖЕННЯ АРХІТЕКТУРИ ARDUINO UNО 3 ДЛЯ УПРАВЛІННЯ PARKING SENSORS НА ОСНОВІ УЛЬТРАЗВУКОВОГО ДАТЧИКА ВІДСТАНІ HC - SR04”
Мета роботи: Дослідження архітектури ARDUINO UNО 3. Створення проекту в середовищі моделювання AUTODESK TINKERCAD на основі MCU ATmega 328P, з метою управління parking sensors на основі ультразвукового датчика відстані HC - SR04.
Хід роботи.
Для виконання лабораторної роботи я використовувала:
1) ARDUINO UNО 3.
2) Ультразвуковий датчик відстані HC - SR04.
Технічні характеристики HC-SR04:
- напруга живлення: +5 В - постійний струм;
- робоча сила струму: 15 мА;
- ефективний робочий кут: < 15°;
- роздільна здатність: 0.3 см;
- кут вимірювань: 30 градусів;
- ширина імпульсу тригеру: 10 мікросекунд;
- розміри: 45 мм x 20 мм x 15 мм.
Відобразивши ці значення у 5-вольтовому діапазоні, я скористалася наступними приближениями:
- 0 - 500mV: небезпечна зона парковки - червоний колір;
- 500mV - 4V: зона парковки - зелений колір;
- 4V - 5V: далека зона парковки - жовтий колір.
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) Мультиметр.
5) Потенціометр - 2шт.
6) Світлодіод - 3 шт (червоний, зелений, жовтий).
7) Резістори - 4 шт.
В програмі Autodesk Tinkercad я створила імітацію системи управління PARKING SENSORS./
Відстань ми імітуємо за допомогою потенціометра. Коли відстань більше ніж 4 метри, то світиться жовтий світлодіод./
Коли відстань до датчика становить більше ніж 0,5 метри та менше ніж 4 метри, то світиться зелений світлодіод./
Коли видстань менше ніж 0,5 метри, то світиться червоний світлодіод./
Програма написана мовою 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 и линию 0
//
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(1200);
clearScreen();
while(true){
voltage = getVoltage();
showLength(voltage);
delay(100);
}
clearScreen();
}
void clearScreen(){
lcd.setCursor(0,0);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print(" ");
}
int getVoltage(){
float voltage = analogRead(0);
return voltage;
}
void showLength(float voltage){
lcd.setCursor(6,1);
float length = voltage/200;
lcd.print(length);
turnOnLED(length);
}
void turnOnLED(float length){
if(length > 4.0){
digitalWrite(11, 5);
digitalWrite(12, 0);
digitalWrite(13, 0);
}else if(length > 0.5){
digitalWrite(11, 0);
digitalWrite(12, 5);
digitalWrite(13, 0);
}else{
digitalWrite(11, 0);
digitalWrite(12, 0);
digitalWrite(13, 5);
}
}
Висновок
Виконавши лабораторну роботу, я розглянула архітектуру ARDUINO UNО 3. І створила проект в середовищі моделювання AUTODESK TINKERCAD на основі MCU ATmega 328P, з метою управління parking sensors на основі ультразвукового датчика відстані HC - SR04.