IR АЛАРМА
Здравейте - реших да изработя радио "скотство", като видях в интернет куп лазер - фоторезистор - тиристор. Младите хора представиха всичко толкова известно, макар и за хора, които не са особено запознати с електрониката. Да, всичко това са глупости, реших да завъртя тази аларма, да хвърля всякакви екстри, да внедря настройката на лазерното огледало. Да, много повече - накратко, по същество. На вашето внимание е готов тип сигнализация:

Принципът на действие на защитното устройство
Насочваме лазерния лъч към фоторезистора - на разстоянието от предполагаемата защитена зона, свързваме захранването - зеленият светодиод светва, натискаме червения бутон или черния механичен бутон на дистанционното управление - устройството е в режим на аларма, когато лазерният лъч е прекъснат - без значение какво условно "ръка" RGB LED светва и от високоговорителя звучи мелодията "Аксел - полицай от Бевърли Хилс". Черният бутон (вляво от червения) на дистанционното управление за пропускане или излизане от условно защитената зона - след това активирайте отново защитата с червения бутон или черния механичен.
Можете да изключите мелодията и да нулирате алармата само като свържете отново захранването на цялото устройство - направих го умишлено, така че човекът да разбере причината за алармата.
Ще направя резервацията, че това е аматьорска алармена система и не е реализирана от професионалист, за по-сериозно изпълнение са необходими по-задълбочени познания и опит в разработката на подобни системи, надеждни части, автономно захранване и др. и така нататък. LetsGO - нека започнем с концепцията:
Електрическа схема


На диаграмата вместо: фоторезистор - променлив резистор, IR сензор - лампа; захранване (5 волта) на микроконтролера - 7 и 20 фута - +; 8 и 22 крака - -. Да започнем с механизма за фиксиране на прекъсването на лъча на двойката лазер-фотосензор. В разделителната верига R1 -Фоторезистор, основният елемент е фоторезистор, който променя съпротивлението си в зависимост от нивото на осветеност, колкото по-лек, толкова по-малко е съпротивлението му. Провокиращо устройство - намаляване на съпротивлението - ще бъде лазерен лъч. Като ключ се използва тиристор, този полупроводник работи като диод само когато към неговия управляващ изход се подаде необходимото напрежение на отваряне (според референтния лист - 0,8 волта), от нашия делител. Всичко е просто, когато създавате бариера между лазера и фоторезистора под формата на условна ръка, тиристорният ключ се отваря и светодиодът, свързан последователно с RGB тиристора, светва. Всяка секция от веригата беше дебъгвана на макетната платка:

Реле RL2, свързано паралелно RGB, ще симулира бутон, тоест подаването на логически към 13-ия вход на контролера. Този механизъм е необходим за сигнализиране на комуникацията с микроконтролера. Изпълнява се по следния начин - контактите за захранване на релето са свързани паралелно на светодиода, контактите на HP имат един изход към захранващия плюс, вторият през издърпващия резистор към минуса, от този изход вземаме нашата "1" към вход 13, когато нашата аларма се задейства. На този етап микроконтролерът ще управлява следните процеси:
- ще включи зеления светодиод от изход 15 и ще го изключи при аларма, свържете BUZZER към изход 17 на контролера и пуснете мелодията на сирената.
Дебъг номер 2

Инфрачервеният сензор е замислен да може да изключва и включва захранването на алармената верига. Реле RL1 превключва NO контактите, когато се получи сигнал от дистанционното управление към IR (4-ти Atmeg вход), NO контактите на релето (получават сигнал, усилен от транзистора от 6-ти изход) се затварят и "захранват" механизма за фиксиране на прекъсването на лъча на лазерната двойка -фотосензор. С друг сигнал от дистанционното управление прекъсваме контактите на релето - като цяло това е необходимо за дистанционно включване и изключване на алармата.
Устройството има механична част - бутон при повреда на IR сензора, може да се използва и за нулиране на цялата алармена система.
Веригата съдържа стандартно свързване на микроконтролера Atmega, зашит на платката Arduino - кварцов резонатор 16 MHz и 2 кондензатора 22 pF.
За да усилим изходния сигнал на 17-ия изход на контролера, свързваме транзистор и ще регулираме силата на звука с променлив резистор.
За да минимизирам проекта си, заших буутлоудъра на Arduino в контролера Atmeg съгласно инструкциите, описани в тази статия.

Току-що извадих собствения контролер от Arduino Uno и вкарах микроконтролера със записания буутлоудър и заших моята скица. Моля, обърнете внимание, че изходите на Arduino Uno и микроконтролера ще бъдат различни, така че се придържайте към тази диаграма:

Малко за кода
За да свържете IR и контролера в средата на Arduino, е написана библиотеката IREMOTE.H, в нея избираме скицата DUMP, сглобяваме схемата за свързване на IR сензора към контролера, отваряме серийния монитор и чрез натискане на бутоните на дистанционното управление четем кода на самия бутон.
Относно мелодията - добре, всичко е само музикален съпровод, можете да избирате от 180 песни, които са свободно достъпни в интернет. Всички кодове по-долу:
irrecv.enableIRIn(); // започнете да получавате pinMode (SoundPin, OUTPUT);// 17 pin 328 pinMode (4, OUTPUT);// 6 pin 328 pinMode (7, INPUT);// 13 pin 328 pinMode (9, OUTPUT);// 15 pin 328 > //ЦЯЛЪТ ДОПЪЛНИТЕЛЕН КОД СЕ ИЗИСКВА ЗА ПУСКАНЕ НА ИЗБРАНИТЕ МЕЛОДИИ int extractNumber(int& myNumber, char Muz[], int& curPosition) intdigitsNumber=0; int curDigit=0; myNumber=0; do if ((Muz[curPosition]> 47) && (Muz[curPosition] ': generalOktava++; > break; case ' 6) oktava=6; if (isNota isPause) < curPosition=i+1; pointsNum= pointsCount (Muz, curPosition); if (pointsNum) i=curPosition-1; curMultipl=1.0; for (int j=1; j 11) Nota=11; tempLong= freq[oktava][Nota]; ton(SoundPin,tempLong,currentNotaDuration); закъснение(currentNotaPa useDuration); > if (isPause) pauseDuration=takt*curPause*curMultipl; delay(pauseDuration); > i++; > while (Muz[i]!= '\0'); >
void loop() digitalWrite(9,HIGH);// прави зеления светодиод активен if ( irrecv.decode( &results )) < // ако данните идват от дистанционното управление превключвател (резултати.стойност) case 0xFF02FD:// това е, което четем от дистанционното управление digitalWrite(4, HIGH); // свързване на реле прекъсване; case 0xFF827D:// е това, което четем от дистанционното digitalWrite(4, LOW); // прекъсване на релето break; > irrecv.resume(); // приемете следната команда >

Допълнителни монтажни работи и накрая окончателно пускане в експлоатация:

След това направих още такива платна:

И сглобих схема, наречена "Ъгълът на падане е равен на ъгъла на отражение" - настройката беше дълга, но всичко мина с гръм и трясък!

Благодаря ви за вниманието - с уважение към всички същите начинаещи радиолюбители като мен и просто изгубени души. С вас бешеTogliatti Embedder (1945).