Flatulant Boss Detector: 9 кадам (Сүрөттөр менен)
Flatulant Boss Detector: 9 кадам (Сүрөттөр менен)
Anonim
Flatulant Boss детектору
Flatulant Boss детектору
Flatulant Boss детектору
Flatulant Boss детектору

Мен чоңойгон сайын кубогум кичирейет. Чынында, азыр менде кубик да жок. Бирок менин кожоюнум билинбей басып, мени кандайдыр бир тапшырманы изилдөө үчүн кармап турган (WWW - начальникке веб -серфингге окшош) жана ал мага жумушка киришимди айтчу. Мен анын айланасына уй коңгуроосун койгум келди, бирок ал андайга барбайт деп ишенем, ошондуктан башка нерсени ойлоп табууга туура келди. (эскертүү - аталышы "Flatulent" болушу керек)

1 -кадам: Азык -түлүк дүкөнүнүн оюнчуктар бөлүмүндө болжол менен 6 долларга бул укмуштуудай ызы -чуу чыгаруучу алынды

Азык -түлүк дүкөнүнүн оюнчуктар бөлүмүндө болжол менен 6 Бакс үчүн бул тыкан ызы -чууну чыгарды
Азык -түлүк дүкөнүнүн оюнчуктар бөлүмүндө болжол менен 6 Бакс үчүн бул тыкан ызы -чууну чыгарды

Сиз өзүңүз үчүн пакетти окуй аласыз. Анда болжол менен 6 түрдүү туш келди "обондор" бар. Бирок, негизги нерсе - бул кичинекей RF баскычы.

2 -кадам: Жана мен бул кичинекей асыл ташты WalMartтан болжол менен $ 5.00гө таптым

Мен бул кичинекей асыл ташты WalMartтан болжол менен $ 5.00 үчүн таптым
Мен бул кичинекей асыл ташты WalMartтан болжол менен $ 5.00 үчүн таптым

Албетте, кыймыл аныкталганда кичине жарык (LED) күйөт жана бөлмө караңгы. (Ммммм, мен аламбы деп ойлоп жатам …)

3 -кадам: Макул. Келгиле, кыймыл сенсорун ачып, карап көрөлү …

Болуптур. Келгиле, кыймыл сенсорун ачып, карап көрөлү …
Болуптур. Келгиле, кыймыл сенсорун ачып, карап көрөлү …

Ооба, мен баарын белгилеп койдум. Фотоэлемент (көрсөтүлгөн эмес, бирок мага ишениңиз, ал бар) күндүз жарыктын (LED) күйүп кетишине жол бербөө үчүн, демек, батареянын иштөө мөөнөтүн узартат.

Fresnel линзасы кыймыл сенсорунун кеңири көрүнүшүн камсыз кылуу үчүн бар. Fresnel frie-nel деп айтылат, көбүрөөк маалымат үчүн Википедиядан издеңиз.

4 -кадам: Келгиле, Hackin кылалы

Келгиле, Hackin кылалы
Келгиле, Hackin кылалы

Биринчиден, сиз PIR кыймыл детекторун көрөсүз. PIR "Пассивдүү инфра-кызыл" дегенди билдирет. Кээ бир адамдар муну "Pyro инфра-кызыл" деп аташат. Эмнеге экенин билбейм. Кандай болбосун, биз муну бузбайбыз. Бизге кийинчерээк бир нерсе керек болушу мүмкүн.

Андан кийин, биз (жакшы, мен… бирок падышалык биз) мен айткан фотоэлементти жаап койдук. Көрдүңүзбү, мен башчы-детекторумдун күнү-түнү активдүү болушун каалайм. Ошентип, аны жаап коюу менен, жарыктар күйүп турганда деле караңгыда деп ойлойт. Бирок, биз жүндү анын көзүнүн үстүнө сүйрөдүк (чынында бир көзү), ал азыр караңгыда кармалып турат. Жана биз өзүбүздүн фотоэлементти LEDдин жанына орнотконубузду көрө аласыз. Бул кичинекей трюк бизге LED аныкталганда кабар берет, анткени кыймыл аныкталды. Албетте, биз ошол эле максатка жетүү үчүн LEDден зым чуркасак болмок, бирок мунун кызык жери кайда. Хакерликтин кызыктуу жери - башка электр инженерлериндегидей, башка хакерлерге караганда башкача бузуу. Бул сиздин хакыңызды чыныгы оригиналдуу кылат.

5 -кадам: Photocell Circuit

Photocell Circuit
Photocell Circuit

Фотоэлементтерди, мисалы, Radio Shackтен сатып алсаңыз болот, эч кандай жарык тийгизбестен болжол менен 50к ом каршылыкка ээ, ал эми жаркыраган жарыкта 5к ом же андан аз. Ошентип, эгерде биз резисторду фотоэлектр менен катар колдонуп, аларды чыңалуу булагына жана жерге байласак, анда бизде чыңалуу бөлүүчү бар. Ал жерден, эки резистордун ортосунда таптоо жогорку же төмөн болгон чыңалуу сигналын берет жана түзмөктү иштетүү үчүн колдонулушу мүмкүн. Бул учурда кыймыл детектору 4,5 вольт болгон 3xAA батареяларын колдонот. Жана башка бир электрониканы айдоого керектүү сигналды берүү үчүн схема ушундайча туташтырылган. Светодиод өчкөндө, райондук сигнал болжол менен 1,7 вольтту түзөт, LED күйүп турганда, сигнал 3,5 вольтко чейин көтөрүлөт, бул микро контроллерди иштетүү үчүн жетиштүү

6 -кадам: Алыстан башкаруунун вупи баскычын бузуу

Алыстан башкаруу пультунун кнопкасын бузуу
Алыстан башкаруу пультунун кнопкасын бузуу

Кнопка бар, башкача айтканда, бир жерде эки түйрөөч бар, бул тыгыз байланышта болгондо, виски жаздыктын өз ишин кылат. Пиндер абдан ачык, ошондуктан мен бул бөлүктү көрсөткөн жокмун. Бирок, мен кичине тешип, баскычтын казыктарына бир жуп зым чуркадым. Ал эми, Radio Shackтен келген 5в камыш релесин колдонуп, мен камыш релесин кубаттоо менен эки төөнөгүчтү туташтыра алам.

7 -кадам: Эми татаал бөлүккө

Эми татаал бөлүккө
Эми татаал бөлүккө

Электроника жөнүндө бир аз билсеңиз, бул анчалык деле татаал эмес, бирок келишим - системаны активдештирүү үчүн триггер сигналын колдонуу керек. Сиз бир ок атуучу таймерди, же салыштыргычты же 555 таймерди колдонсоңуз болот, бирок мен үчүн эң оңой нерсе-8 пиндүү микроконтроллерди колдонуу. Мен PIC Micro 12F675 колдондум. Муну менен, мен пиндин киришин өзгөртүп, кызыл LEDди жаркырата алам. Ошондой эле, эгер 5 адам кирсе, мен 15 секундага жинди болушун каалабайм, ошондуктан 30 секундга кечиктирдим, ошондо мен өлтүргүчтү басып, өчүрүп коём. Ошентип, мен жөн эле тез учуп келип, карама-каршылыктын акыркы натыйжасын көрсөтөм. Эскертүү, мен экс-босс кубогумдун 1/4 бөлүгүнө кирген сайын жарыктын күйүп турганын көрбөшү үчүн, LEDди жаап койгом. Бул сүрөт акыркы продукт. Мен электрониканы студент үчүн көнүгүү катары калтырам. Бул жерде PIC Micro 12F675тин коду бар: *************************** ************************************************; Файлдын аты: Flatulant_Boss; Процессор: 12F675; Автор: Алан Моллик (alanmollick.com); Mode: GP2 өзгөртүү боюнча үзгүлтүккө; ~ GPIO REGISTERS ~; GP0 = INPUT - жок/к; GP1 = OUTPUT - реле; GP2 = INPUT - Жогорку = кыймыл аныкталды; GP3 = INPUT - n/c; GP4 = OUTPUT - Кызыл LED; **************************************** *********************************** тизмеси p = 12F675; #камтыган процессорду аныктоо үчүн тизме директивасы; процессордун конкреттүү өзгөрмөлөрүнүн аныктамаларыerrorlevel -302; тизме файлынан 302 билдирүүнү басууCONFIG _CP_OFF & _CPD_OFF & _BODEN_OFF & _MCLRE_OFF & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT; ~ Variables ~ w_temp EQU 0x20; контекстти сактоо үчүн колдонулуучу өзгөрмө status_temp EQU 0x21; hiB EQU 0x21 контекстти сактоо үчүн колдонулуучу өзгөрмө; MSBytelowB EQU 0x22; LSBytetemp EQU 0x23 бош EQU 0x24 temp1 EQU 0x25; trigger interrupt flagtemp2 EQU 0x26 кечигүү EQU 0x27; кечигүү таймпиндери EQU 0x28; мамлекеттик штаттар 1 EQU 0x29spare2 EQU 0x2acount EQU 0x2b; цикл countcount1 EQU 0x2c; тышкы цикл countcount2 EQU 0x2d; сырткы цикл countd1 EQU 0x2e; кечигүү counterd2 EQU 0x2f; кечигүү counterd3 EQU 0x30; кечигүү counterd4 EQU 0x31; кечиктиргич эсептегич; ********************************************* *********************** RESET_VECTOR ORG 0x000; процессорду кайра коюу вектору goto main; programINT_VECTOR ORG 0x004 башына өтүү; үзгүлтүктүү вектордук жайгашуу movwf w_temp; учурдагы W реестринин мазмунун сактоо movf STATUS, w; абалдын регистрин W реестрине жылдыруу movwf status_temp; STATUS реестринин мазмунун сактоо; isr коду call_detect; сигнал сигналдарын жөнөтүү банкел INTCON bcf INTCON, INTF; ачык GP2/INT желеги movf status_temp, w; STATUS регистринин көчүрмөсүн алуу movwf STATUS; isr чейинки STATUS регистринин мазмунун swapf w_temp, f swapf w_temp, w; isr W регистринин мазмунун калыбына келтирүү; үзгүлтүккө кайтуу; ******************************************** ****************** негизги:; негизги программа; ички осциллятор колдонулбаса 0x3FF деп аталган биринчи 4 көрсөтмө талап кылынбайт; фабриканын калибрлөө маанисин алуу bsf STATUS, RP0; файлды каттоо банкын 1 movwf OSCCALга коюу; фабриканын калдыктары менен реестрди жаңыртуу bcf STATUS, RP0; файл реестрин банкка 0 коюңуз; *********************************;*Баштоо*; *** **********************************; GP0 = колдонулбайт, GP1 = релелик чыгуу, GP2 = киргизүү (кыймылды аныктоо),; GP3 = cntrl/авариялык өчүрүү үчүн киргизүү, GP4 = LED индикаторуна чыгаруу; GP5 = колдонулган эмес; I/O казыктарынын багытын түзүү 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 конвертерин орнотуу ANSEL movlw b'00010000 '; x ------- аткарылган эмес; -001 ---- 001 = Фокс/8 Конверсия сааты; ---- 0 --- 0 = санариптик I/O, GP4, Fosc/4 мүчүлүштүктөрдү оңдоо максатында.; ----- 0-- 0 = санариптик I/O, GP2; ------ 0- 0 = санариптик I/O, GP1, реле/ж.б. ------- 0 0 = санариптик I/O, 1 = аналогдук GP0 movwf ANSEL банктык ADCON0 movlw b'00000000 '; 0 ------- 1 = туура негизделген жыйынтык; -0 ------ 0 = Vdd-чыңалуу шилтемеси; --xx ---- аткарылган жок; ---- 00-- 00 = 0 канал тандоо (GP0); ------ 0- 0 = A/D конверсиясы башталган жок; ------- 0 0 = A/D конвертер модулу movwf ADCON0 өчүрүлгөн; чыгаруу баштапкы абалга келтирүү банктык GPIO movlw b'00000000 'movwf GPIO; баштоо bankel 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 банкел ЭОК 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 банкелинин PIE1 movlw b'00000000 'өчүрүү; 0 ------- 0 = өчүрүү EE жазуу толук үзгүлтүккө; -0 ------ 0 = A/D конвертеринин үзүлүшүн өчүрүү; --xx ---- аткарылган жок; ---- 0 --- 0 = компаратордун үзүлүүсү өчүрүлгөн; ----- xx- аткарылган жок; ------- 0 1 = иштетүү TMR1 толуп кетүүсүн movwf PIE1 банкел PIR1 movlw b'00000000 '; 0 ------- 0 = жок EE толук жазуу; -0 ------ 0 = А/К которуу жок; --xx ---- аткарылган жок; ---- 0 --- 0 = салыштыруучу үзгүлтүк жок; ----- xx- аткарылган жок; ------- 0 0 = жок TMR1 ашуусу movwf PIR1; ******************************** ************************; GP1 = релеге чыгуу; GP4 = LEDге чыгаруу; ****************************************** ************** банктык INTCON bsf INTCON, INTE; иштетүү GP2 interrupt bsf INTCON, GIEMain_Loop:; эгер GP2 = 1 анда GP1, GP4 сигнал сигналдары үзгүлтүккө учурабоо жолу менен Main_Loop; ***************************** *****************************; Кыймылды аныктоо үзгүлтүккө учурагыч;; GP1 = релеге чыгуу, GP4 = LEDге чыгаруу; ************************************ ******************** motion_detect: bsf GPIO, 1; 100 мсек үчүн энергияны берүү релеси pause_100ms bcf GPIO, 1; релесин өчүрүү bsf GPIO, 4; LEDди 0,5 сек күйгүзүңүз. чалуу pause_500ms bcf GPIO, 4 кайтаруу; ************************************** ****************; онлайн кечигүү коду генератору; https://massmind.org/techref/piclist/codegen/delay.htm;****************************** ************************** pause_100msec:; Кечигүү = 0.1 секунд; Саат жыштыгы = 4 MHz movlw 0x1F; 99998 цикл movwf d1 movlw 0x4F movwf d2Delay_100 decfsz d1, f goto $+2 decfsz d2, f goto Delay_100 goto $+1; 2 cycles 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 goto $ 1 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_1scles кайтуу; ********************************************** *****************************

8 -кадам: Акыркы сөздөр

Акыркы сөздөр
Акыркы сөздөр

Бул сүрөт баарын жашыруунун бир жолу.

Эскертүү - микро контроллерди колдонуу менен, бул нускамада вариациялардын саны чексиз. Сиз спикерди койсоңуз болот, ал үн сиздин жетекчиңиздин артынан чыгат. Же, сиз аны компаниянын PA системасына байлап алсаңыз болот. Сиз системаңызды компьютериңизге киргизип, секунданын 1/10 бөлүгүндө ишке байланышкан баракчаны ачып койсоңуз болот, ошондо сиздин мурунку кожоюнуңуз же башка бирөө сиздин периметриңизге кирип кеткенде, дайыма жадыбал же техникалык документ болот. үстүндө иштешиңиз керек. Жана 24/7 … кимдир бирөө сиздин камераңызга кирип баратса, же анын ичинен чыкса, мурдуңузду күндүн ар бир секундасында жаргылчакка таштап койгон деп айта алат. Бул сизди жогору бааланган кызматкер кылат. Сиз кудай жалгап иштейсиз. Ошондой эле, сизге Fresnel линзасынын кереги жок. Чындыгында, кожоюнду аныктоо үчүн, аны алып салсаңыз жакшы болот, антпесе сиздин кабинаңыздын ичинде жүргөн адамдар аны өчүрүп салышат. Сиз Fresnel линзасын чечип, PIR детекторуна 1 дюймдук PVC түтүктү (Home Depotтон 1/2 дюймдук диапазон) салып койсоңуз болот, бул сизге абдан тар чөйрөнү берет, мисалы эшиктин алдында эшик бар), бирок сенсор жакшы иштейт. Анын диапазону Fresnel линзасы жок болжол менен 5-10 фут. Сиз ошондой эле PIR детекторун алып салсаңыз болот жана 3 зымдын жардамы менен детекторду каалаган жерге койсоңуз болот. Сиз 6 долларга үн модулун сатып алып, өз үнүңүздү жаздырсаңыз болот. Тамакты тазалап жаткан "кожоюн жакындап калды" деген эл аралык сигналды колдонсоңуз болот. Жана аны эртең менен алмаштырса болот. Же сиздин үнүңүздү кызуу жазып жатканыңызды жазыңыз. Бул жерде мен муну жаздыкчадан жасап, компьютериме чуркап, Audacity менен оңдоп, бир күнү коюп коюшум мүмкүн болгон Easy Button хакына колдондум.

9 -кадам: Ар түрдүүлүк

A Variation
A Variation

Мына ушул эле түшүнүккө негизделген дагы бир босс детектору. Ошондой эле, кимдир бирөө видеону каалаган, ошондуктан мен жакында бул үчүн видео чыгарам. Бул детектор, албетте, Home Depotтун кыймыл детектору менен жупташкан Robo Sapien. Кыймыл аныкталганда, робот жашыруун 38 кГц детектору бар канаттуулардын торуна IR сигналын жөнөтөт. Канаттуулар механизминин бир нече варианттары бар. Бардык варианттар жекече тандалып алынат, бирок баары күйгүзүлгөндө, чымчык айланат, чырылдайт, жаркыраган LED менен. Ошондой эле мен астына 4 жолу жаркыраган кызыл түстөгү LED диапазонун коштум, ошондо сиз кимдир бирөөнүн рэкетсиз келерин билесиз. Бул дагы 30 секундага кечигүү бар, жана сиз карандашты көтөрүү менен баарын өчүрө аласыз. Карандаштын учунда магнит бар, ал канаттууларды азыктандыруучу жайга киргизилгенде, кичинекей магниттик камыш релеси аркылуу схеманы иштетет. Бул системанын бирден -бир реалдуу айырмасы - мен фотоэлементти колдонбойм. Кыймыл детекторунда төрт оп-амп бар, мен акыркы этаптын чыккычын таптадым. Мен бул канаттуулардын бир нечесин дарыканадан сатып алдым, анткени алар ар бири 5 доллардан сатылган. Андан кийин мен IR детекторун жашыруу үчүн таштарды жана өсүмдүктөрдү кошуп, алчанын жыгачынан кичинекей кутуча жасап, лактап, мага керектүү кошумча АА батареясын жашырдым. Бул нерсе 2 АА батарейкасында иштейт жана үн иштетилген. Мен аны үнгө азыраак сезгич кылдым жана кошумча батареяга муктаж болдум, анткени мен колдонгон 38 кГц детекторго жок дегенде 4,5 вольт керек болчу, бул 3 батареяны билдирет. Кыймыл детектору розеткага туташтырылган, ошондуктан мен чоң нерселерди схемадан кесип салдым, эми ал лампочка орнотулган 9В батареясынан өчөт.

Бул жерде бул видеонун шилтемеси.видео

Сунушталууда: