INHOUDSOPGAWE:

Flatulant Boss Detector: 9 stappe (met foto's)
Flatulant Boss Detector: 9 stappe (met foto's)

Video: Flatulant Boss Detector: 9 stappe (met foto's)

Video: Flatulant Boss Detector: 9 stappe (met foto's)
Video: Я ПРОБУДИЛ ЗАПЕЧАТАННОГО ДЬЯВОЛА / I HAVE AWAKENED THE SEALED DEVIL 2024, November
Anonim
Flatulant Boss Detector
Flatulant Boss Detector
Flatulant Boss Detector
Flatulant Boss Detector

Hoe ouer ek word, hoe kleiner word my hok. Eintlik het ek nou nie eers 'n hokkie nie. Maar my baas het onopgemerk ingeloop en my laat ondersoek doen vir een of ander opdrag (WWW - vir die baas het dit soos webbranderry gelyk) en hy sou my vertel om aan die werk te gaan. Ek wou 'n koeiklok om hom sit, maar ek is seker dat hy dit nie sou doen nie, so ek moes iets anders bedink. (let wel - die titel moet "Flatulent." wees)

Stap 1: haal hierdie aangename geraasmaker vir ongeveer 6 dollar in die speelgoedafdeling van die voedselwinkel

Hierdie aangename geraasmaker het ongeveer 6 dollar in die speelgoedafdeling van die voedselwinkel opgetel
Hierdie aangename geraasmaker het ongeveer 6 dollar in die speelgoedafdeling van die voedselwinkel opgetel

U kan die pakket self lees. Dit het ongeveer 6 verskillende ewekansige "wysies". Maar die belangrikste item is die klein RF -afstandsknoppie wat daarmee saamgaan.

Stap 2: En ek het hierdie juweeltjie in WalMart gevind vir ongeveer $ 5,00

En ek het hierdie juweeltjie in WalMart gevind vir ongeveer $ 5,00
En ek het hierdie juweeltjie in WalMart gevind vir ongeveer $ 5,00

Dit is duidelik dat dit 'n bietjie lig (LED) aanskakel wanneer beweging opgespoor word en die kamer donker is. (Hmmmmm, ek wonder of ek kon …)

Stap 3: Goed. Kom ons maak die bewegingsensor oop en kyk …

Goed. Kom ons maak die bewegingsensor oop en kyk …
Goed. Kom ons maak die bewegingsensor oop en kyk …

Wel, ek het alles gemerk. Die fotosel (word nie getoon nie, maar vertrou my, dit is daar) om te voorkom dat die lig (LED) bedags aangaan, en dit verleng dus die batterylewe.

Die Fresnel-lens is daar om 'n wye gesigsveld vir die bewegingsensor te bied. Fresnel word uitgespreek as frie-nel, kyk op Wikipedia vir meer inligting.

Stap 4: Kom ons doen bietjie hackin '

Kom ons doen 'n bietjie hackin '
Kom ons doen 'n bietjie hackin '

Eerstens sien u die PIR -bewegingsdetektor. PIR beteken 'passiewe infrarooi'. Sommige mense noem dit 'n "Pyro infra-rooi." Ek weet nie hoekom nie. Ons sal dit nietemin hack. Ons het dalk later iets nodig.

Vervolgens het ons (wel, ek … maar die koninklike ons) die fotosel bedek waarvan ek u vertel het. U sien, ek wil hê dat my baas-detektor dag en nag aktief moet wees. Dus, deur dit toe te maak, dink dit dat dit in die donker is, selfs as die ligte aan is. Maar ons het pas die wol oor sy oë getrek (eintlik een oog), en hy/sy word nou in die donker gehou. En u kan sien dat ons ons eie fotosel langs die LED geïnstalleer het. Die klein truuk laat ons weet wanneer die LED aanskakel omdat beweging opgespoor is. Natuurlik kon ons 'n draad van die LED gehaal het om dieselfde doel te bereik, maar waar is die pret daarin? Die lekkerte van inbraak is om dit anders as ander hackers te hack, soos in die ander elektriese ingenieurs. En dit maak van u hack 'n ware oorspronklike.

Stap 5: Die fotoselbaan

Die fotoselbaan
Die fotoselbaan

Die fotosel, soos u by Radio Shack kan koop, het 'n weerstand van ongeveer 50k ohm sonder ligblootstelling, en ongeveer 5k ohm of minder as dit blootgestel word aan 'n helder lig. Dus, as ons 'n weerstand in serie met die fotosel gebruik, wat net 'n weerstand is, en dit aan 'n spanningsbron en grond bind, dan het ons 'n spanningsverdeler. Van daar af gee die tik tussen die twee weerstande 'n spanningssein wat hoog of laag gaan, en kan gebruik word om 'n toestel te aktiveer. In hierdie geval gebruik die bewegingsdetektor 3xAA -batterye, wat 4,5 volt is. En dit is hoe die kring bedraad is om die sein te verskaf wat nodig is om ander elektronika aan te dryf. As die LED af is, is die kringsein ongeveer 1,7 volt, terwyl die LED aan is, styg die sein tot ongeveer 3,5 volt, wat genoeg is om 'n mikrobeheerder te aktiveer

Stap 6: Hacking van die Whoopee -knoppie vir afstandbeheer

Die inbraak van die Whoopee -knoppie op afstandbeheer
Die inbraak van die Whoopee -knoppie op afstandbeheer

Daar is 'n knoppie, wat beteken dat daar êrens twee penne is, wat veroorsaak dat die kussing by 'n nabye kringloop die kussing doen. Die penne is redelik duidelik, so ek het die deel nie gewys nie. Maar ek het 'n gaatjie geboor en 'n paar drade na die knoppenne gehardloop. En met behulp van 'n 5v rietrelais van Radio Shack kan ek die twee penne verbind deur die rietrelais aan te wakker.

Stap 7: Nou vir die moeilike deel

Nou vir die moeilike deel
Nou vir die moeilike deel

Dit is eintlik nie so moeilik as u 'n bietjie van elektronika weet nie, maar die ooreenkoms is dat u die snellersein moet gebruik om die stelsel te aktiveer. U kan 'n eenmalige opnemer, 'n vergelyker of 'n 555-timer gebruik, maar vir my is die maklikste om 'n 8-pen mikrobeheerder te gebruik. Ek het 'n PIC Micro 12F675 gebruik. Daarmee kon ek die invoerverandering van 'n pen aktiveer en 'n rooi LED flits. As 5 mense instap, wil ek ook nie hê dat die ding vir 15 sekondes gek moet word nie, so ek sit 'n vertraging van 30 sekondes in sodat ek 'n doodskakelaar kan slaan en dit kan afskakel. Dus, ek sal net vinnig kyk en die eindresultaat van die produk aantoon. Let wel, ek het die LED bedek sodat die oud-baas nie elke keer as hy in my nederige 1/4 van 'n hokkie kom, 'n lig aanskakel nie. Hierdie foto is die eindproduk. Ek verlaat die elektronika as 'n oefening vir die student. Hier is die kode vir die PIC Micro 12F675:; *************************** *************************************************; Lêernaam: Flatulant_Boss; Verwerker: 12F675; Skrywer: Alan Mollick (alanmollick.com); Modus: Onderbreking by GP2 -verandering;; ~ GPIO REGISTERS ~; GP0 = INVOER - n/c; GP1 = UITGANG - aflos; GP2 = INVOER - Hoog = beweging opgespoor; GP3 = INVOER - n/c; GP4 = UITGANG - Rooi LED; **************************************** ********************************** lys p = 12F675; lysopdrag om verwerker te definieer#insluit; verwerker spesifieke veranderlike definitionserrorlevel -302; onderdruk boodskap 302 uit lyslêerCONFIG _CP_OFF & _CPD_OFF & _BODEN_OFF & _MCLRE_OFF & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT; ~ Veranderlikes ~ w_temp EQU 0x20; veranderlike gebruik vir konteksbesparing status_temp EQU 0x21; veranderlike wat gebruik word vir konteksbesparing hiB EQU 0x21; MSBytelowB EQU 0x22; LSBytetemp EQU 0x23 spaar EQU 0x24 temp1 EQU 0x25; sneller onderbreek flagtemp2 EQU 0x26 vertraging EQU 0x27; vertraag tydpinne EQU 0x28; pen statepare1 EQU 0x29spare2 EQU 0x2acount EQU 0x2b; lustellingtelling1 EQU 0x2c; telling van die buitenste lus2 EQU 0x2d; buitenste lus countd1 EQU 0x2e; vertraging counterd2 EQU 0x2f; vertraging counterd3 EQU 0x30; vertraging counterd4 EQU 0x31; vertragingsteller; ********************************************** *********************** RESET_VECTOR ORG 0x000; verwerker herstel vektor gaan hoof; gaan na die begin van programINT_VECTOR ORG 0x004; onderbreek vektor plek movwf w_temp; bespaar huidige W registerinhoud movf STATUS, w; skuif statusregister in W -register movwf status_temp; stoor die inhoud van die STATUS -register; isr -kode oproep motion_detect; stuur alarmseine banksel INTCON bcf INTCON, INTF; duidelik GP2/INT vlag movf status_temp, w; haal kopie van STATUS register movwf STATUS op; herstel vooraf STATUS register inhoud swapf w_temp, f swapf w_temp, w; herstel pre-isr W registerinhoud retfie; terugkeer van onderbreking; ********************************************* ******************* hoof:; hoofprogram; hierdie eerste 4 instruksies is nie nodig as die interne ossillator nie gebruik word nie, bel 0x3FF; haal fabriekskalibrasiewaarde bsf STATUS, RP0; stel lêerregisterbank op 1 movwf OSCCAL; werk register op met fabriekswaarde bcf STATUS, RP0; stel lêerregisterbank op 0; ************************************Inisialisering*; *** ********************************; GP0 = nie gebruik nie, GP1 = relaisuitset, GP2 = invoer (bewegingsopsporing),; GP3 = invoer vir cntrl/noodonderbreking, GP4 = uitset na LED -aanwyser,; GP5 = nie gebruik nie; stel rigting op van I/O -penne banksel TRISIO movlw b'00000101 '; xx ------ nie geïmplementeer nie; --0 ----- 0 = uitset, GP5 = n/c; --- 0 ---- 0 = uitset, GP4 = LED; ---- x --- nie gebruik nie, GP3, toegewy aan MCLR; ----- 1-- 1 = invoer, GP2-beweging opgespoor; ------ 0- 0 = uitset, GP1 = magneetklep; ------- 1 1 = invoer GP0 = A/D movwf TRISIO; opstel van A/D -omskakelaar banksel ANSEL movlw b'00010000 '; x ------- nie geïmplementeer nie; -001 ---- 001 = Focs/8 Omskakelingsklok; ---- 0 --- 0 = digitale I/O, GP4, Fosc/4 uitsluiting vir ontfoutingsdoeleindes.; ----- 0-- 0 = digitale I/O, GP2; ------ 0- 0 = digitale I/O, GP1, relais/ens; ------- 0 0 = digitale I/O, 1 = analoog GP0 movwf ANSEL banksel ADCON0 movlw b'00000000 '; 0 ------- 1 = regverdige resultaat; -0 ------ 0 = Vdd is spanningverwysing; --xx ---- nie geïmplementeer nie; ---- 00-- 00 = kies kanaal 0 (GP0); ------ 0- 0 = A/D-omskakeling nie begin nie; ------- 0 0 = A/D-omskakelingsmodule is af van movwf ADCON0; initialiseer uitsetpinsinit banksel GPIO movlw b'00000000 'movwf GPIO; inisialiseer onderbreek banksel INTCON movlw b'00000000 '; 0 ------- 0 = globale onderbrekings gedeaktiveer; -0 ------ 1 = aktiveer perifere onderbrekings; --0 ----- 0 = deaktiveer TMR0-oorlooponderbreking; --- 1 ---- 1 = aktiveer eksterne onderbreking van GP2/INT; ---- 0 --- 0 = deaktiveer GPIO-poortveranderingsonderbreking; ----- 0-- 0 = nee op TMR0-oorloop; ------ 0- 1 =; ------- 0 0 = geen verandering van GPIO-poort movwf INTCON; initialiseer onderbreking by pinverandering GP2 banksel IOC movlw b'00000100 '; x ------- nie geïmplementeer nie; -x ------ nie geïmplementeer nie; --0 ----- 0 = deaktiveer GP5; --- 0 ---- 0 = deaktiveer GP4; ---- 0 --- 0 = deaktiveer GP3; ----- 1-- 1 = aktiveer GP2/INTR *****; ------ 0- 0 = deaktiveer GP1; ------- 0 0 = deaktiveer GP0 movwf IOC banksel PIE1 movlw b'00000000 '; 0 ------- 0 = deaktiveer EE skryf volledige onderbreking; -0 ------ 0 = skakel A/D-omskakelaaronderbreking uit; --xx ---- nie geïmplementeer nie; ---- 0 --- 0 = vergelykingsonderbreking gedeaktiveer; ----- xx- nie geïmplementeer nie; ------- 0 1 = aktiveer TMR1 oorloop onderbreek movwf PIE1 banksel PIR1 movlw b'00000000 '; 0 ------- 0 = geen EE-skryf voltooi nie; -0 ------ 0 = geen A/D-omskakeling voltooi nie; --xx ---- nie geïmplementeer nie; ---- 0 --- 0 = geen vergelykingsonderbreking nie; ----- xx- nie geïmplementeer nie; ------- 0 0 = geen TMR1 oorloop movwf PIR1; ********************************** *************************; GP1 = uitset na relais; GP4 = uitset na LED; ******************************************** *************** banksel INTCON bsf INTCON, INTE; aktiveer GP2 onderbreek bsf INTCON, GIEMain_Loop:; as GP2 = 1, stuur dan alarmseine na GP1, GP4 via onderbreek slaap, gaan na Main_Loop; ******************************* ****************************; Bewegingsopsporing onderbreek hanteraar;; GP1 = uitset na relais, GP4 = uitset na LED; ************************************** ******************** motion_detect: bsf GPIO, 1; skakel relais vir 100 msek oproep pause_100ms bcf GPIO, 1; de-aktiveer aflos bsf GPIO, 4; aktiveer LED vir 0,5 sek. bel pause_500ms bcf GPIO, 4 terug; ***************************************** *****************; aanlyn Vertragingskode Generator; https://massmind.org/techref/piclist/codegen/delay.htm;******************************** ************************** pause_100msec:; Vertraging = 0,1 sekondes; Klokfrekwensie = 4 MHz movlw 0x1F; 99998 siklusse movwf d1 movlw 0x4F movwf d2Delay_100 decfsz d1, na $+2 decfsz d2, na Delay_100 na $+1; 2 siklusse terugkeerpause_500msec:; Vertraging = 0,5 sekondes; Klokfrekwensie = 4 MHz movlw 0x03; 499994 siklusse movwf d1 movlw 0x18 movwf d2 movlw 0x02 movwf d3Delay_500 decfsz d1, na $+2 decfsz d2, na $+2 decfsz d3, na vertraag $ 1; $+1 gaan na $+1 terugkeerpause_1sek; Vertraging = 1 sekonde; Klokfrekwensie = 4 MHz movlw 0x08; 999997 siklusse movwf d1 movlw 0x2F movwf d2 movlw 0x03 movwf d3Delay_1s decfsz d1, na $+2 decfsz d2, na $+2 decfsz d3, foto Delay_1sec goto $ terugkeer; *********************************************** *****************************

Stap 8: Finale woorde

Laaste Woorde
Laaste Woorde

Hierdie foto is 'n manier om alles te verberg.

Let wel - deur die gebruik van 'n mikrobeheerder is die aantal variasies op hierdie instruksies onbeperk. U kan die luidspreker so plaas dat die geluid agter u baas uitkom. Of u kan dit koppel aan die PA -stelsel van die onderneming. U kan selfs die stelsel na u rekenaar laat ping en 'n werksverwante bladsy binne 1/10 van 'n sekonde laat opduik, sodat daar altyd 'n sigblad of tegniese dokument is wanneer u eks-baas of iemand anders in u omtrek instap waaraan u moet werk. En 24/7 … enigiemand wat in jou hok instap of daaruit kan sê dat jy elke sekonde van die dag jou neus teen die slypsteen het. Dit maak van u 'n gewaardeerde werknemer. Jy is 'n verdomde workaholic. U het ook nie regtig die Fresnel -lens nodig nie. Trouens, om baas op te spoor, is dit beter om dit te verwyder, anders sal mense binne-in die hok wat dit beweeg, dit afskakel. U kan die Fresnel -lens uittrek en 'n stuk PVC -buis van 1 duim (1/2 duim in deursnee van Home Depot) op die PIR -detektor sit, en dit sal u 'n baie smal gesigsveld gee, soos direk by u deur (as u aanneem jy het 'n deur) maar die sensor werk net so goed. Die reikafstand is ongeveer 5-10 voet sonder die Fresnel-lens. U kan ook die PIR -detektor verwyder en met behulp van 3 drade, kan u die detector oral plaas om dit weg te steek. U kan selfs 'n klankmodule vir 6 dollar koop en u eie klanke opneem. U kan die internasionale sein gebruik vir 'baas kom nader', wat u keel skoonmaak. En u kan dit elke oggend verander. Of neem die geluid op van u wat koorsagtig tik, ens. Hier is 'n geluidseffek wat ek gemaak het uit die kussingkussing en dit op my rekenaar ingeloop, met Audacity gewysig en dit gebruik vir 'n Easy Button -hack wat ek eendag kan opsit.

Stap 9: 'n Variasie

'N Variasie
'N Variasie

Hier is nog 'n baas -detektor gebaseer op dieselfde konsep. Iemand wou ook 'n video hê, so ek sal binnekort 'n video hiervoor opstel. Die detektor vir hierdie een is natuurlik 'n Robo Sapien wat gekoppel is aan 'n bewegingsdetektor van Home Depot. As beweging opgespoor word, stuur die robot 'n IR -sein na die voëlhok, waar daar 'n verborge detektor van 38 kHz is. Die voëlmeganisme het verskeie opsies. Alle opsies kan individueel gekies word, maar met alles aangeskakel, begin die voël draai, tjirp, met 'n knipperende LED. Ek het ook 'n super -helder rooi LED daaronder aangebring wat 4 keer flikker, sodat u weet dat iemand kom sonder al die racket. Hierdie een het ook 'n vertraging van 30 sekondes, en u kan die hele ding uitskakel deur die potlood op te lig. Die potlood het 'n magneet aan die einde, wat, as dit in die voëlvoerder geplaas word, die stroombaan moontlik maak deur middel van 'n klein magnetiese rietrelais. Die enigste werklike verskil in hierdie stelsel is dat ek nie die fotosel -truuk gebruik het nie. Daar is 'n vier-op-amp in die bewegingsdetektor, en ek het net die uitsetpen van die laaste fase afgetrek. Ek het verskeie van hierdie voëlgoed by 'n drogistery gekoop omdat dit vir 5 dollar elk te koop was. Toe het ek klippe en plantegroei bygevoeg om die IR -detektor te verberg, en 'n boksie van kersiehout gemaak en dit vernis om die ekstra AA -battery wat ek nodig het, weg te steek. Die ding werk op 2 AA -batterye en is klank geaktiveer. Ek het dit minder sensitief gemaak vir klank, en ek het die ekstra battery nodig gehad, want die 38khz -detektor wat ek gebruik het, het minstens 4,5 volt nodig, wat 3 batterye beteken. Die bewegingsdetektor is gemaak om in 'n muuraansluiting aan te sluit, so ek sny die groot goed van die printplaat af en nou loop dit uit 'n 9v -battery wat geïnstalleer is waar die gloeilamp geleë was.

Hier is 'n skakel na 'n video van hierdie.video

Aanbeveel: