Методические указания по лабораторным работам по курсу



Download 4,48 Mb.
bet15/18
Sana04.03.2022
Hajmi4,48 Mb.
#482029
TuriМетодические указания
1   ...   10   11   12   13   14   15   16   17   18
Bog'liq
методичка для 2 курса (2)

Необходимые детали:
► Arduino UNO R3 x 1 шт.
► Провод DuPont, 2,54 мм, 20 см x 1 шт.
► Кабель USB 2.0 A-B x 1 шт.
► Ультразвуковой датчик расстояния HC-SR04 x 1 шт.
Подключение: 
В данном примере с помощью HC SR04 будем замерять расстояние до объектов и полученные данные отобразим в окне «мониторинг порта» в среде разработки IDE Arduino. Сборка проекта несложная, нам надо четыре провода, вывод 11 (Arduino UNO) подключаем к выводу Trig (HC SR04), вывод 12 (Arduino UNO) подключаем к выводу Echo (HC SR04), осталось подключить питание VCC к +5V и GND к GND, да наглядности выложу схему таблицу подключения.
Собираем схему на макетной плате с механическими контактами.



Программа для работы с датчиком:



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

$regfile = "m8def.dat"
$crystal = 8000000
$baud = 9600
Config Portc.5 = Output
Trig Alias Portc.5
Config Portc.4 = Input
Dim S As Word
Dim R As Single
Do
Trig = 1
Waitus 15
Trig = 0
Waitus 10
Pulsein S , Pinc , 4 , 1
R = S * 0.1725
Print R
Waitms 50
Loop
End

В трёх первых строках программы мы назначаем микроконтроллер и его тактовую частоту, а также скорость работы UART (в данном случае 9600 бод). Далее мы конфигурируем порт PORTC.5 микроконтроллера на выход, так как сюда у нас подключен пин Trig датчика расстояния. Порту PORTC.5 мы назначили имя Trig чтобы нам было легче писать\читать код, при обращении к этому имени мы обращаемся к PORTC.5. Также мы сконфигурировали PORTC.4 на вход, поскольку сюда мы подключили Echo датчика. Потом мы задаём переменные в которых будем хранить данные для расчёта и отображения. И тут начинается самое интересное, открываем операторные скобки бесконечного цикла (Do, Loop) и видим следующий код:



1
2
3
4

Trig = 1
Waitus 15
Trig = 0
Waitus 10

Здесь мы подаём кратковременный импульс длительностью 15 микросекунд на Trig и ждём 10 микросекунд.
Командой Pulsein S , Pinc , 4 , 1 мы замеряем длительность импульса на PINC.4 и заносим эту длительность в переменную S. Дальше вычисляем длину и записываем её в переменную R (R = S * 0.1725). 0.1725 - коэффициент для расчёта расстояния из длинны импульса. Командой Print R выводим в UART расстояние до препятствия. 




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

/*
Тестирование производилось на Arduino IDE 1.6.12
Дата тестирования
*/
int trigPin = 11; // Номер вывод Trig
int echoPin = 12; // Номер вывод Echo
long duration, cm, inches; // Указываем тип данных для переменных duration, cm и inches 
void setup() {
Serial.begin (9600); // Задаем скорость передачи данных
pinMode(trigPin, OUTPUT); // Вывод trigPin установим как выход
pinMode(echoPin, INPUT); // вывод echoPin установим как вход
}
void loop()
{
digitalWrite(trigPin, LOW); // Устанавливаем на выходе trigPin 0
delayMicroseconds(5); // Ожидаем 5 микросекунд
digitalWrite(trigPin, HIGH); // Устанавливаем на выходе trigPin 1
delayMicroseconds(10); // Ожидаем 10 микросекунд
digitalWrite(trigPin, LOW); // Устанавливаем на выходе trigPin 0
duration = pulseIn(echoPin, HIGH); // Если на echoPin - HIGH, включаем таймер до появления LOW, данные записать в duration
cm = (duration/2) / 29.1; // Высчитываем значение
Serial.print(cm); // Выводим значение переменной cm
Serial.print("cm"); // Выводим символ cm
Serial.println(); // Новая строка
delay(250); // Ждем 250 мкс
}


Download 4,48 Mb.

Do'stlaringiz bilan baham:
1   ...   10   11   12   13   14   15   16   17   18




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish