Съдържание:

Детектор за шевове на газове: 9 стъпки (със снимки)
Детектор за шевове на газове: 9 стъпки (със снимки)

Видео: Детектор за шевове на газове: 9 стъпки (със снимки)

Видео: Детектор за шевове на газове: 9 стъпки (със снимки)
Видео: Стоян колев се кара с яница 2024, Ноември
Anonim
Детектор за шевове на газове
Детектор за шевове на газове
Детектор за шевове на газове
Детектор за шевове на газове

Колкото повече остарявам, толкова по -малка става кабината ми. Всъщност сега дори нямам кабинка. Но шефът ми влизаше неоткрит и ме хващаше да правя изследвания за някаква задача (WWW - на шефа изглеждаше като сърфиране в мрежата) и той ми казваше да се захващам за работа. Исках да сложа кравешки звънец около него, но съм сигурен, че той не би се съгласил, затова трябваше да измисля нещо друго. (забележка - заглавието трябва да е „Метеоризъм“.)

Стъпка 1: Взехте този изящен шум за около 6 долара в секцията за играчки в магазина за храни

Взехте този изискан шумогенератор за около 6 долара в секцията за играчки в магазина за храни
Взехте този изискан шумогенератор за около 6 долара в секцията за играчки в магазина за храни

Можете сами да прочетете пакета. Той има около 6 различни случайни „мелодии“. Но ключовият елемент е малкият бутон за дистанционно управление, който се доставя с него.

Стъпка 2: И намерих този малък скъпоценен камък в WalMart за около $ 5,00

И намерих този малък скъпоценен камък в WalMart за около $ 5,00
И намерих този малък скъпоценен камък в WalMart за около $ 5,00

Очевидно той включва малко светлина (LED), когато се открие движение и стаята е тъмна. (Хмммм, чудя се дали бих могъл …)

Стъпка 3: Добре. Нека отворим сензора за движение и да видим…

Добре. Нека отворим сензора за движение и да видим…
Добре. Нека отворим сензора за движение и да видим…

Е, маркирах всичко. Фотоклетката (не е показана, но повярвайте ми, тя е там) е да предотврати светлината (LED) да се включва през деня и следователно удължава живота на батерията.

Обективът на Френел е там, за да осигури широко зрително поле на сензора за движение. Френел се произнася fri-nel, потърсете го в Wikipedia за повече информация.

Стъпка 4: Нека направим хакване

Нека направим хакване
Нека направим хакване

Първо виждате този PIR детектор за движение. PIR означава „пасивен инфрачервен“. Някои хора го наричат „Pyro infra-red“. Не знам защо. Независимо от това, няма да хакнем това. Може да се нуждаем от нещо по -късно.

След това (добре, аз … но кралските ние) прикрихме онази фотоклетка, за която ви разказах. Виждате ли, искам моят детектор-шеф да бъде активен ден и нощ. Така че, прикривайки го, той мисли, че е на тъмно, дори когато светлините са включени. Но току -що изтеглихме вълната върху очите му (всъщност едното око) и сега той/тя се държи на тъмно. И можете да видите, че сме инсталирали собствена фотоклетка точно до светодиода. Този малък трик ни уведомява, когато светодиодът се включи, защото е открито движение. Разбира се, можехме да прокараме проводник от светодиода, за да постигнем същата цел, но къде е забавлението в това. Забавното при хакерството е да го хакнете по различен начин от другите хакери, както в другите електроинженери. И това прави вашия хак истински оригинал.

Стъпка 5: Схемата на фотоелемента

Веригата на фотоклетката
Веригата на фотоклетката

Фотоклетката, каквато можете да закупите в Radio Shack, има съпротивление от около 50k ома без излагане на светлина и около 5k ohm или по -малко, когато е изложено на ярка светлина. Така че, ако използваме резистор последователно с фотоклетката, която е просто резистор, и ги свържем с източник на напрежение и земя, тогава имаме делител на напрежение. От там, подслушването между двата резистора осигурява сигнал за напрежение, който става висок или нисък и може да се използва за задействане на устройство. В този случай детекторът на движение използва 3xAA батерии, което е 4,5 волта. И по този начин веригата е свързана, за да осигури сигнала, необходим за задвижване на друга електроника. При изключен светодиод сигналът на веригата е около 1,7 волта, при включен светодиод, сигналът се повишава до около 3,5 волта, което е достатъчно за задействане на микроконтролер

Стъпка 6: Хакване на бутона за дистанционно управление Whoopee

Хакване на бутона за дистанционно управление Whoopee
Хакване на бутона за дистанционно управление Whoopee

Има бутон, което означава, че някъде там има два щифта, които при близко свързване предизвикват възглавницата на шумотевицата да свърши своята работа. Иглите са доста очевидни, така че не показах тази част. Но пробих малка дупка и прокарах чифт проводници до щифтовете на бутоните. И с помощта на 5v тръстиково реле от Radio Shack, мога да свържа двата щифта, като задействам тръстиковото реле.

Стъпка 7: Сега за трудната част

Сега за сложната част
Сега за сложната част

Всъщност не е толкова сложно, ако знаете малко за електрониката, но сделката е, че трябва да използвате задействащия сигнал, за да активирате системата. Можете да използвате таймер за едно изстрелване, или компаратор, или таймер 555, но за мен най-лесното нещо е да използвате 8-пинов микроконтролер. Използвах PIC Micro 12F675. С това мога да задействам при смяна на вход на щифт и да мигна червен светодиод. Освен това, ако влизат 5 души, не искам нещо да полудее за 15 секунди, затова пуснах 30 секундно забавяне, за да мога да натисна ключа за убиване и да го изключа. Така че, аз просто бързо ще покажа и ще покажа крайния резултат от измислицата. Забележете, покрих светодиода, така че бившият шеф да не вижда светлината да се включва всеки път, когато влезе в скромната ми 1/4 от кабината. Тази снимка е крайният продукт. Ще оставя електрониката като упражнение за ученика. Ето кода за PIC Micro 12F675:; *************************** **************************************************; Име на файл: Flatulant_Boss; Процесор: 12F675; Автор: Алън Молик (alanmollick.com); Режим: Прекъсване при смяна на GP2;; ~ GPIO РЕГИСТРИ ~; GP0 = ВХОД - n/c; GP1 = ИЗХОД - реле; GP2 = ВХОД - Високо = открито движение; GP3 = ВХОД - n/c; GP4 = ИЗХОД - Червен светодиод; **************************************** *********************************** списък p = 12F675; списък директива за определяне на процесор#include; дефиниция на променлива специфична за процесора ниво на грешка -302; потискане на съобщение 302 от списъчен файлCONFIG _CP_OFF & _CPD_OFF & _BODEN_OFF & _MCLRE_OFF & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT; ~ Променливи ~ w_temp EQU 0x20; променлива, използвана за запазване на контекст status_temp EQU 0x21; променлива, използвана за запазване на контекста hiB EQU 0x21; MSBytelowB EQU 0x22; LSBytetemp EQU 0x23 резервен EQU 0x24 temp1 EQU 0x25; задействане на прекъсване flagtemp2 EQU 0x26 забавяне EQU 0x27; времеви закъснения EQU 0x28; състояния на щифтове1 EQU 0x29spare2 EQU 0x2 акаунт EQU 0x2b; count loopcount1 EQU 0x2c; брой външни контури2 EQU 0x2d; външен контур countd1 EQU 0x2e; закъснение counterd2 EQU 0x2f; брояч на забавяне3 EQU 0x30; закъснение counterd4 EQU 0x31; брояч на забавяне; *********************************************** *********************** RESET_VECTOR ORG 0x000; вектор за нулиране на процесора goto main; отидете в началото на програматаINT_VECTOR ORG 0x004; прекъсване на векторно местоположение movwf w_temp; запазване на текущото съдържание на W регистър movf СЪСТОЯНИЕ, w; преместете регистъра на състоянието в W регистър movwf status_temp; запазете съдържанието на регистъра STATUS; ISR код повикване motion_detect; изпраща алармени сигнали banksel INTCON bcf INTCON, INTF; изчистване на GP2/INT флаг movf status_temp, w; извличане на копие на регистъра STATUS movwf STATUS; възстановяване на съдържанието на регистъра на предварително състоянието swapf w_temp, f swapf w_temp, w; възстановяване на съдържанието на предварителния W регистър retfie; връщане от прекъсване; ********************************************** ****************** main:; основна програма; тези първи 4 инструкции не са необходими, ако не се използва вътрешният осцилатор, обадете се на 0x3FF; извличане на фабрична стойност за калибриране bsf STATUS, RP0; задайте банка регистър на файлове на 1 movwf OSCCAL; регистър за актуализиране с фабрична кал. стойност bcf STATUS, RP0; задайте банка регистър на файлове на 0; ***********************************;*Инициализация*; *** ********************************; GP0 = не се използва, GP1 = релеен изход, GP2 = вход (откриване на движение),; GP3 = вход за cntrl/аварийно изключване, GP4 = изход към LED индикатор,; GP5 = не се използва; настройка на посоката на I/O щифтове banksel TRISIO movlw b'00000101 '; xx ------ не се изпълнява; --0 ----- 0 = изход, GP5 = n/c; --- 0 ---- 0 = изход, GP4 = LED; ---- x --- не се използва, GP3, посветен на MCLR; ----- 1-- 1 = вход, открито движение на GP2; ------ 0- 0 = изход, GP1 = електромагнитен клапан; ------- 1 1 = вход GP0 = A/D movwf TRISIO; настройте A/D конвертор banksel ANSEL movlw b'00010000 '; x ------- не е изпълнено; -001 ---- 001 = Focs/8 Часовник за преобразуване; ---- 0 --- 0 = цифров вход/изход, GP4, Fosc/4 clockout за отстраняване на грешки.; ----- 0-0 = цифров I/O, GP2; ------ 0- 0 = цифрови входове/изходи, GP1, реле/и т.н.; ------- 0 0 = цифров I/O, 1 = аналогов GP0 movwf ANSEL banksel ADCON0 movlw b'00000000 '; 0 ------- 1 = оправдан вдясно резултат; -0 ------ 0 = Vdd е референтно напрежение; --xx ---- не се прилага; ---- 00--00 = изберете канал 0 (GP0); ------ 0- 0 = A/D преобразуването не е започнало; ------- 0 0 = A/D преобразувателният модул е изключен movwf ADCON0; инициализирайте изходния pinsinit banksel GPIO movlw b'00000000 'movwf GPIO; инициализира прекъсвания banksel INTCON movlw b'00000000 '; 0 ------- 0 = глобалните прекъсвания са деактивирани; -0 ------ 1 = разрешаване на периферни прекъсвания; --0 ----- 0 = деактивиране на прекъсване при преливане на TMR0; --- 1 ---- 1 = разрешаване на GP2/INT външно прекъсване; ---- 0 --- 0 = забранете прекъсването при смяна на GPIO порта; ----- 0-- 0 = не при препълване на TMR0; ------ 0- 1 =; ------- 0 0 = няма промяна на GPIO порта movwf INTCON; инициализирайте прекъсване при смяна на щифт GP2 banksel IOC movlw b'00000100 '; x ------- не е изпълнено; -x ------ не се изпълнява; --0 ----- 0 = деактивиране на GP5; --- 0 ---- 0 = забранете GP4; ---- 0 --- 0 = забранете GP3; ----- 1-- 1 = активиране на GP2/INTR *****; ------ 0- 0 = забранете GP1; ------- 0 0 = забранете GP0 movwf IOC banksel PIE1 movlw b'00000000 '; 0 ------- 0 = забрана на EE запис пълно прекъсване; -0 ------ 0 = забранете прекъсването на A/D преобразувателя; --xx ---- не се прилага; ---- 0 --- 0 = прекъсването на компаратора е забранено; ----- xx- не е изпълнено; ------- 0 1 = разрешаване на прекъсване на TMR1 преливане movwf PIE1 banksel PIR1 movlw b'00000000 '; 0 ------- 0 = няма запис на EE завършен; -0 ------ 0 = няма завършена A/D конверсия; --xx ---- не се прилага; ---- 0 --- 0 = няма прекъсване на компаратора; ----- xx- не е изпълнено; ------- 0 0 = няма TMR1 препълване movwf PIR1; ********************************** ************************; GP1 = изход към реле; GP4 = изход към LED; ******************************************** ************** banksel INTCON bsf INTCON, INTE; активиране на GP2 прекъсване bsf INTCON, GIEMain_Loop:; ако GP2 = 1, тогава извеждайте алармени сигнали на GP1, GP4 чрез прекъсване на сън nop goto Main_Loop; ******************************* ***************************; Манипулатор на прекъсвания при откриване на движение;; GP1 = изход към реле, GP4 = изход към LED; ************************************** ******************** Motion_detect: bsf GPIO, 1; реле за захранване за 100 msec разговор пауза_100ms bcf GPIO, 1; деактивиране на реле bsf GPIO, 4; активирайте светодиода за 0,5 сек. обадете се на пауза_500ms bcf GPIO, 4 връщане; ****************************************** ****************; онлайн генератор на кодове за забавяне; https://massmind.org/techref/piclist/codegen/delay.htm;******************************** ************************** пауза_100msec:; Забавяне = 0,1 секунди; Тактова честота = 4 MHz movlw 0x1F; 99998 цикъла movwf d1 movlw 0x4F movwf d2 Закъснение_100 decfsz d1, f goto $+2 decfsz d2, f goto Delay_100 goto $+1; 2 цикъла returnpause_500msec:; Забавяне = 0,5 секунди; Тактова честота = 4 MHz movlw 0x03; 499994 цикъла movwf d1 movlw 0x18 movwf d2 movlw 0x02 movwf d3Delay_500 decfsz d1, f goto $+2 decfsz d2, f goto $+2 decfsz d3, f goto delay_500; $+1 goto $+1 returnpause_1sec; Забавяне = 1 секунди; Тактова честота = 4 MHz movlw 0x08; 999997 цикъла movwf d1 movlw 0x2F movwf d2 movlw 0x03 movwf d3Delay_1sec decfsz d1, f goto $+2 decfsz d2, f goto $+2 decfsz d3, f goto delay_1; връщане; ************************************************ *****************************

Стъпка 8: Заключителни думи

Заключителни думи
Заключителни думи

Тази снимка е един от начините да скриете всичко.

Забележка - с помощта на микроконтролер броят на вариациите на тази инструкция е неограничен. Можете да поставите високоговорителя така, че звукът да излиза зад шефа ви. Или можете да го свържете към системната система на компанията. Можете дори да накарате системата да пингва компютъра ви и за 1/10 от секундата да се покаже страница, свързана с работата, така че всеки път, когато бившият ви шеф или някой друг влезе в периметъра ви, винаги да има електронна таблица или технически документ върху които трябва да работите. И 24/7 … всеки, който влиза във вашата кабина или излиза от нея, може да каже, че имате нос към точилния камък всяка секунда от деня. Това ви прави високо ценен служител. Ти си проклет работохолик. Също така, всъщност не се нуждаете от обектива на Френел. Всъщност, за откриване на шеф, по-добре е да го премахнете, в противен случай хората във вашата кабина, които се движат, ще го задействат. Можете да свалите обектива на Френел и да поставите 1 -инчово парче PVC тръба (диаметър 1/2 инча от Home Depot) на PIR детектора и това ще ви даде много тясно зрително поле, като например директно пред вратата ви (ако приемете, че имате врата), но сензорът работи също толкова добре. Обхватът му е около 5-10 фута без обектива на Френел. Можете също така да премахнете PIR детектора и с помощта на 3 проводника можете да поставите детектора навсякъде, за да го скриете. Можете дори да закупите звуков модул за 6 долара и да запишете свои собствени звуци. Можете да използвате международния сигнал за „шефът се приближава“, който прочиства гърлото ви. И можете да го променяте всяка сутрин. Или запишете звука, когато пишете трескаво и т. Н. Ето един звуков ефект, който направих от тази възглавница, и го пуснах в компютъра си, редактирах го с Audacity и го използвах за хак на Easy Button, който може би ще пусна някой ден.

Стъпка 9: Вариация

Вариация
Вариация

Ето още един детектор -шеф, базиран на същата концепция. Също така, някой искаше видео, така че скоро ще пусна видео за това. Детекторът за този очевидно е Robo Sapien, свързан с детектор за движение от Home Depot. Когато се открие движение, роботът изпраща инфрачервен сигнал до клетката за птици, където има скрит детектор от 38 kHz. Птичият механизъм има няколко опции. Всички опции се избират индивидуално, но с всичко включено, птицата започва да се върти, чурулика, с мигащ светодиод. Също така добавих супер ярко червен светодиод, монтиран отдолу, който мига 4 пъти, така че да знаете, че някой идва без цялата ракета. Този също има 30 секундно закъснение и можете да деактивирате всичко, просто като повдигнете молива. Моливът има магнит на края, който, когато се постави в хранилката за птици, позволява електрическата верига чрез малко магнитно реле от тръстика. Единствената реална разлика в тази система е, че не използвах трика с фотоклетката. В детектора за движение има четириядрен операционен усилвател и току-що изключих изходния щифт на последния етап. Купих няколко от тези неща за птици в аптека, защото се продаваха за по 5 долара всяка. След това добавих камъни и растителност, за да скрия инфрачервения детектор, и направих малка кутия от черешово дърво и я лакирах, за да скрия допълнителната AA батерия, от която се нуждаех. Нещото работи с 2 батерии АА и се активира звук. Направих го по -малко чувствителен към звук и се нуждаех от допълнителна батерия, тъй като използваният от мен детектор с 38 кхц се нуждаеше от поне 4,5 волта, което означава 3 батерии. Детекторът на движение е направен, за да се включи в електрически контакт, така че отрязах големите неща от платката и сега той се изтощава от 9v батерия, инсталирана там, където е била крушката.

Ето линк към видеоклип на това видео

Препоръчано: