• Nie Znaleziono Wyników

контролю освітленості на базі Arduino Автоматизована система автоматизації ” Проектування систем з курсу ” Лабораторна робота № 18

N/A
N/A
Protected

Academic year: 2021

Share "контролю освітленості на базі Arduino Автоматизована система автоматизації ” Проектування систем з курсу ” Лабораторна робота № 18"

Copied!
13
0
0

Pełen tekst

(1)
(2)
(3)
(4)
(5)
(6)

Легко бачити, що у фотогенераторному режимі роботи (рис. 5 б) якщо струм через зовнішне коло не тече: I01 - exp VOut φТ + C Ф = 0 і вихідна напруга дорівнює: VOut = φТ ln C Ф + φТ φТ або наближено VOut = φТ ln    C φТ Ф . Тобто вихідна напруга пропорційна логарифму освітленості. а) VOut Vсс R1 VD1 VOut VD1 б) Рис. 5. Типові схеми включення фотодіодів а) фотодіодний режим, б) фотогенераторний режим Фрагмент програми, що контролює рівень освітленості об'єкта і залежно від рівня вмикає світлодіод наведено нижче. int led = 13; //змінна з номером піну світлодіоду int ldr = 0; //змінна з номером піну фоторезистора

void setup() //процедура setup

{

pinMode(led, OUTPUT); //вказуємо, що світлодіод - вихід

}

void loop() //процедура loop

{

if (analogRead(ldr) < 800) digitalWrite(led, HIGH);

//якщо показник освітленості менше 800, вмикаємо світлодіод

else digitalWrite(led, LOW); //в іншому випадку вимикаємо

(7)
(8)

підсилювача LM324. На основі U2D (DD1.4) побудовано підсилювач із коефіцієнтом підсилення 6. U2C - складає основу полосового фільтра, а його вихідний сигнал потім ще підсилюється мікросхемою U2B у 8 разів. Підсилювач U2A використовується разом з Q1 в якості компаратора із гістерезисом. Після того, як поступає вхідний сигнал запуску контролер давача вмикає живлення MAX232. Після чого очікує 250 мкс, і видає 8 імпульсів частотою 40 кHz і потім видає на лінію Echo логічну одиницю. Протягом видачі імпульсів вхід компаратора також підтримується у виключеному стані, щоб запобігти будь-яким паразитним сигналам, що можуть надійти на приймач. Далі схема переходить очікування відбитого сигналу. Як тільки перший імпульс виявлений в приймачі сигнал Echo скидається і можна визначати ширину відбитого імпульсу для обчислення відстані. Таким чином, для роботи з датчиком від електроніки приладу потрібно один цифровий керуючий вихід (Trig) і один вхід для сигналу датчика (Echo). Часові діаграми роботи датчика наведені на рис. 8. Рис. 8. Часові діаграми роботи давача Довжина імпульсу на виході Echo пропорційна відстані до перешкоди. І відстань обчислюється за формулою: S = F 5.8 де S - відстань у міліметрах, F - тривалість імпульсу у мікросекундах. Для визначення тривалості імпульсу на вході Arduino можна використовувати функцію pulseIn. Синтаксис функції наступний pulseIn(pin, value)

pulseIn(pin, value, timeout)

Параметри функції наступні

◊ pin: номер виводу, з котрого необхідно зчитати тривалість імпульсу int. ◊ value: тип імпульсу, що очікується: HIGH чи LOW (int)

◊ timeout час очікування імпульсу в мікросекундах; значення за замовчуванням - 1 секунда

Функція повертає значення тривалості імпульсу в мікросекундах або 0 у випадку відсутності імпульсу на протязі часу вимірювання (unsigned long).

Фрагмент програми, що зчитує значення з давача положення наведений нижче

const byte echoPin = 6; //задаємо значення вхідного

(9)

unsigned long SonarRead()

{//Функція зчитування даних із роботи з давача

delayMicroseconds(1); //очікуємо 1 мс

digitalWrite(trigPin, HIGH);//видаємо на лінію trigPin 1

delayMicroseconds(1); //очікуємо 1 мс

digitalWrite(trigPin, LOW); //видаємо на лінію trigPin 0

unsigned long F = pulseIn(echoPin, HIGH,5800*5);

//зчитуємо значення тривалості імпульсу //так як немає потреби контролювати відстань більшу //ніж 5 м навколо датчика тайм-аут обраний на рівні 5 м if(F == 0) // перевіряємо pulseIn на тайм-аут і інші проблеми {F = 5800*5;} // якщо надійшло нульове значення - замінюємо його на // максимально можливе return F; } //підпрограма підготовки void setup() { pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT);

digitalWrite(trigPin, LOW); //видаємо на лінію trigPin 0

(10)
(11)
(12)
(13)

Cytaty

Powiązane dokumenty

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

Опис масиву проходить у формі тип_елемента назва_масиву[число_елементів]; Кваліфікатор volatile Ключове слово (кваліфікатор) volatile, використовується перед

Вище був створений клас Button – кнопка, але він лишився не зручний при для використання у подальших проектах - кожен раз у нову програму необхідно

Характеристика чутливості давача На наступному рисунку (рис. 5) показана типова залежність вихідного опору MQ-2 від температури

Нехай система має 2 конвеєри для подачі палет та коробок (рис. Система призначена для складання коробок по дві штуки на одну палету і видачі їх

впадного вікна DRIVER слід вибирати OPC Client Data Access.. Вибір драйвера Якщо все вірно зроблено то вікно драйвера повинно мати такий вигляд:

Розрахуємо основні параметри кінематичної схеми сепаратора марки MSE 100-01-177 (рис.. Розрахунок корпуса ротора сепаратора MSE 100-01-177..

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ І СПОРТУ УКРАЇНИ Тернопільський національний технічний університет імені Івана Пулюя Кафедра комп’ютерних систем та мереж