- Необходими компоненти:
- Електрическа схема и обяснение:
- Работно обяснение:
- Обяснение на програмирането:
Сигурността винаги е била основна грижа за всички нас и на пазара се предлагат много системи за сигурност и наблюдение, базирани на Hi tech и IoT. Intruder или Burglar Alarm е един от класическите и популярни проекти сред студентите и любителите на електрониката. Създали сме и много аларми за взлом, базирани на различни технологии:
- Лазерна алармена верига
- IR базирана аларма за сигурност
- Аларма за кражба с използване на PIR
- GSM базирана система за сигурност
Днес добавяме още една аларма за сигурност в нашия списък, която се основава на ултразвуков сензор. Тази аларма с контролирана врата Arduino може да се инсталира близо до вратата, за да се открие присъствието на някой на вратата. Всеки път, когато някой попадне в обхвата на ултразвуков сензор, зумерът започва да издава звуков сигнал. Можете да регулирате обхвата на откриване на сензора според вашата врата. Тази система може да служи и за целта на детектора на движение.
Необходими компоненти:
- Макет
- Ултразвуков сензор
- Звънец
- Arduino Mega (всеки модел)
- Джъмперни проводници
- USB кабел за Arduino или 12v, 1A адаптер.
Ултразвуков сензорен модул:
Ултразвуков сензор HC-SR04 се използва тук, за да открие присъствието на всеки човек пред вратата. Сензорният модул се състои от ултразвуков предавател, приемник и контролна верига. Ултразвуковият сензор се състои от две кръгови очи, от които едното се използва за предаване на ултразвуковата вълна, а другото за приемането му.
Можем да изчислим разстоянието на обекта въз основа на времето, необходимо на ултразвуковата вълна да се върне обратно към сензора. Тъй като времето и скоростта на звука са известни, можем да изчислим разстоянието по следните формули.
- Разстояние = (Време х Скорост на звука) / 2
Стойността се разделя на две, тъй като вълната пътува напред и назад, покривайки едно и също разстояние. Но в този проект използвахме библиотеката NewPing.h и тази библиотека се грижи за това изчисление и просто трябва да използваме някои ключови думи, обяснението е дадено в раздела за програмиране по-долу.
Проверете проекта по-долу, за да измерите разстоянието до който и да е обект и да разберете правилно работата на ултразвуковия сензор:
- Измерване на разстояние на базата на Arduino с помощта на ултразвуков сензор
- Измерване на разстояние с помощта на HC-SR04 и AVR микроконтролер
Електрическа схема и обяснение:
Верижните връзки за тази ултразвукова аларма са много прости. Задействащият щифт на ултразвуков сензор е свързан към щифт №. 12 от Arduino и Echo щифтът на сензора е свързан към щифт № 11 на Arduino. Vcc на сензора е свързан към 5V щифт на Arduino, а GND на сензора е свързан към GND на Arduino. Единият щифт на зумера е свързан към GND на Arduino, а другият щифт е свързан към 8 -ми щифт на Arduino.
Работно обяснение:
Работата с тази аларма за врати Arduino е много лесна. Винаги, когато някой попадне в пътя / обхвата на ултразвуковия сензор, микроконтролерът разпознава разстоянието на обекта от сензора и ако обектът е в определения обхват, той изпраща сигнала High до зумера и зумерът започва да издава звуков сигнал.
Можете да тествате веригата, като поставите нещо пред сензора в обхвата, проверете видеото за демонстрация. Тази функция на ултразвуковия сензор може да се използва и за изграждане на робот, избягващ препятствия.
Обяснение на програмирането:
В този проект използвахме библиотеката NewPing.h за ултразвуков сензор, разработена от Тим Екъл. Въпреки че можем да използваме ултразвуков сензор без тази библиотека, както направихме в предишния ни проект, но тази библиотека предлага много добри функции за ултразвуков сензор и става лесно да се кодира ултразвуков сензор с помощта на тази библиотека. Можем да използваме функциите на ултразвуковия сензор лесно, използвайки тази библиотека, без да пишем твърде много редове код; това е като другите библиотеки, които се използват за справяне със сложността на по-ниско ниво.
#include
Можете да проверите всички функции, употреби и примерни кодове на тази библиотека, като следвате тази връзка. Също така проверете официалната страница на Arduino на тази библиотека.
Последната версия на библиотеката може да бъде изтеглена от дадената по-горе връзка. Освен това изтеглихме връзката „Библиотека“ отдолу, която е модифицирана за Teensy:
github.com/PaulStoffregen/NewPing
Първо трябва да тествате сензора чрез изгаряне на примерни кодове, дадени на неговата страница. Също така използвахме примерните кодове за нашия проект и ги модифицирахме в съответствие с нашия проект за аларма за врати.
Задействащият щифт е свързан към щифт 12 на Arduino, а ехо-щифтът е свързан към щифт 11 на Arduino. MAX_DISTANCE означава, че разстоянието, до което сензорът може да открие препятствието, е 500 cm или 5 m.
#define TRIGGER_PIN 12 #define ECHO_PIN 11 #define MAX_DISTANCE 500
Под реда се посочва скоростта на предаване, при която данните се изпращат към серийния порт на Arduino от ултразвуков сензор.
Serial.begin (115200);
Пин № 10 е конфигуриран като изходен щифт и е свързан към зумер. Друг щифт на зумера е свързан към GND на Arduino.
pinMode (10, ИЗХОД);
Във функцията void echoCheck () , sonar.ping_result / US_ROUNDTRIP_CM се използва за изчисляване на разстоянието на препятствие от сензора. флаг се използва за изпълнение на зумера, когато препятствието е в обхват от 50 см от ултразвуковия сензор. Можете да промените това „разстояние“ според вашите изисквания или размера на вашата врата.
ако ((sonar.ping_result / US_ROUNDTRIP_CM) <50) флаг = 1; иначе ако ((sonar.ping_result / US_ROUNDTRIP_CM)> 50) флаг = 0;
Кодексът е много добре коментиран от автора на библиотеката NewPing.h и може лесно да бъде разбран. Освен това можете да проверите самата страница на библиотеката, за да получите по-добро разбиране за нея и да използвате тази библиотека, за да направите сложен проект с помощта на ултразвуков сензор. Пълният код за този проект за аларма за врати е даден по-долу.
Главно Ултразвуков сензор се използва за измерване разстоянието от всеки обект, но тук можем да видим, че тя може да се използва като аларма за сигурност или аларма Врата с Arduino. По същия начин можем да създадем много полезни проекти, използвайки това като: Автоматичен индикатор за нивото на водата и контролер с помощта на Arduino