Flatulant Boss Detector: 9 steg (med bilder)
Flatulant Boss Detector: 9 steg (med bilder)
Anonim
Flatulant Boss Detector
Flatulant Boss Detector
Flatulant Boss Detector
Flatulant Boss Detector

Ju äldre jag blir, desto mindre blir min skåp. Jag har faktiskt inte ens en bås nu. Men min chef brukade gå in oupptäckt och fånga mig att forska för något uppdrag (WWW - för chefen såg det ut som webbsurfing) och han skulle säga åt mig att börja jobba. Jag ville sätta en ko -klocka runt honom, men jag är säker på att han inte skulle gå för det, så jag var tvungen att hitta på något annat. (Obs - rubriken ska vara "Flatulent.")

Steg 1: Hämtade den här snygga bullermakaren för cirka 6 dollar i leksaksdelen i livsmedelsbutiken

Plockade upp den här snygga bullermakaren för cirka 6 dollar i leksaksdelen i livsmedelsbutiken
Plockade upp den här snygga bullermakaren för cirka 6 dollar i leksaksdelen i livsmedelsbutiken

Du kan läsa paketet själv. Den har cirka 6 olika slumpmässiga "låtar". Men nyckelobjektet är den lilla RF -fjärrknappen som följer med.

Steg 2: Och jag hittade denna lilla pärla i WalMart för cirka $ 5,00

Och jag hittade denna lilla pärla i WalMart för cirka $ 5,00
Och jag hittade denna lilla pärla i WalMart för cirka $ 5,00

Uppenbarligen tänds det lite ljus (LED) när rörelse detekteras och rummet är mörkt. (Hmmmmm, jag undrar om jag kunde …)

Steg 3: Okej. Låt oss spricka upp rörelsessensorn och titta …

Okej. Låt oss spricka upp rörelsessensorn och titta …
Okej. Låt oss spricka upp rörelsessensorn och titta …

Jag har märkt allt. Fotocellen (visas inte, men lita på mig, den är där) är för att förhindra att ljuset (LED) tänds under dagtid och förlänger därför batteriets livslängd.

Fresnel-linsen är där för att ge ett brett synfält för rörelsesensorn. Fresnel uttalas frie-nel, leta upp det på Wikipedia för mer info.

Steg 4: Låt oss göra några hackin '

Låt oss göra några hackin '
Låt oss göra några hackin '

Först ser du den PIR -rörelsedetektorn. PIR betyder "passiv infraröd". Vissa människor kallar det en "Pyro infraröd". Jag vet inte varför. Oavsett kommer vi inte hacka det. Vi kan behöva något senare.

Därefter har vi (ja, jag … men den kungliga vi) täckt över den fotocellen jag berättade om. Du ser, jag vill att min chef-detektor ska vara aktiv dag och natt. Så, genom att täcka det, tror det att det är i mörkret även när lamporna är tända. Men vi har precis dragit ullen över hans ögon (faktiskt ett öga) och han/hon hålls nu i mörker. Och du kan se att vi har installerat vår egen fotocell alldeles intill lysdioden. Det lilla tricket låter oss veta när lysdioden tänds eftersom rörelse hade upptäckts. Naturligtvis kunde vi ha dragit en tråd från lysdioden för att uppnå samma syfte, men var är det roliga i det. Det roliga med hacking är att hacka det annorlunda än andra hackare, som hos de andra elingenjörerna. Och det gör ditt hack till ett riktigt original.

Steg 5: Fotocellkretsen

Fotocellkretsen
Fotocellkretsen

Fotocellen, som du kan köpa på Radio Shack, har ett motstånd på cirka 50 k ohm utan ljusexponering, och cirka 5 k ohm eller mindre när den utsätts för ett starkt ljus. Så om vi använder ett motstånd i serie med fotocellen, som bara är ett motstånd, och knyter dem till en spänningskälla och jord, så har vi en spänningsdelare. Därifrån ger en knackning mellan de två motstånden en spänningssignal som går högt eller lågt och kan användas för att utlösa en enhet. I detta fall använder rörelsedetektorn 3xAA -batterier, vilket är 4,5 volt. Och så här är kretsen ansluten för att ge den signal som behövs för att driva annan elektronik. Med lysdioden släckt är kretssignalen cirka 1,7 volt, med lysdioden på stiger signalen till cirka 3,5 volt, vilket är tillräckligt för att utlösa en mikrokontroller

Steg 6: Hacka fjärrkontrollens Whoopee -knapp

Hackar fjärrkontrollens Whoopee -knapp
Hackar fjärrkontrollens Whoopee -knapp

Det finns en knapp, vilket betyder någonstans att det finns två stift, som när de är nära kretsar får kudden att göra sitt. Stiften är ganska uppenbara, så jag visade inte den delen. Men jag borrade ett litet hål och sprang ett par ledningar till knappstiftarna. Och med ett 5v reedrelä från Radio Shack kan jag ansluta de två stiften genom att sätta på reedreläet.

Steg 7: Nu till den knepiga delen

Nu till den knepiga delen
Nu till den knepiga delen

Det är egentligen inte så knepigt om du kan lite om elektronik, men affären är att du måste använda triggersignalen för att aktivera systemet. Du kan använda en one-shot timer, eller en komparator, eller en 555 timer, men för mig är det enklaste att använda en 8-polig mikrokontroller. Jag använde en PIC Micro 12F675. Med det kan jag utlösa en ingångsbyte av en stift och blinka en röd lysdiod. Dessutom, om 5 personer kommer in vill jag inte att det ska bli galet i 15 sekunder, så jag lägger in en 30 sekunders fördröjning så att jag kan slå en dödsknapp och stänga av den. Så jag ska bara fast-fwd och visa slutresultatet av utrustningen. Observera, jag täckte lysdioden så att ex-chefen inte skulle se ett ljus tändas varje gång han trängde in i min ödmjuka 1/4 av en bås. Den här bilden är slutprodukten. Jag lämnar elektroniken som en övning för studenten. Här är koden för PIC Micro 12F675:; *************************** **************************************************; Filnamn: Flatulant_Boss; Processor: 12F675; Författare: Alan Mollick (alanmollick.com); Läge: Avbrott vid GP2 -ändring;; ~ GPIO -REGISTRERING ~; GP0 = INGÅNG - n/c; GP1 = UTGÅNG - relä; GP2 = INPUT - Hög = rörelse detekterad; GP3 = INGÅNG - n/c; GP4 = UTGÅNG - Röd LED; ****************************************** **********************************lista p = 12F675; listdirektiv för att definiera processor#inkluderar; processorspecifik variabel definitionserrorlevel -302; undertrycka meddelande 302 från listfilCONFIG _CP_OFF & _CPD_OFF & _BODEN_OFF & _MCLRE_OFF & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT; ~ Variabler ~ w_temp EQU 0x20; variabel som används för kontextsparande status_temp EQU 0x21; variabel som används för kontextsparande hiB EQU 0x21; MSBytelowB EQU 0x22; LSBytetemp EQU 0x23 reserv EQU 0x24 temp1 EQU 0x25; utlösningsavbrott flagtemp2 EQU 0x26 fördröjning EQU 0x27; fördröjningstimmar EQU 0x28; pin statspare1 EQU 0x29spare2 EQU 0x2acount EQU 0x2b; loop countcount1 EQU 0x2c; yttre slinga countcount2 EQU 0x2d; yttre slinga countd1 EQU 0x2e; fördröjning counterd2 EQU 0x2f; fördröjning counterd3 EQU 0x30; fördröjning counterd4 EQU 0x31; fördröjningsräknare; *********************************************** ************************ RESET_VECTOR ORG 0x000; processoråterställning vektor gå till huvud; gå till början av programINT_VECTOR ORG 0x004; avbryta vektorplats movwf w_temp; spara nuvarande W registerinnehåll movf STATUS, w; flytta statusregister till W -register movwf status_temp; spara av innehållet i STATUS -registret; isr -kodanrop motion_detect; skicka larmsignaler banksel INTCON bcf INTCON, INTF; rensa GP2/INT flagga movf status_temp, w; hämta kopia av STATUS register movwf STATUS; återställa pre-isr STATUS registerinnehåll swapf w_temp, f swapf w_temp, w; återställa pre-isr W registerinnehåll retfie; återvänd från avbrott; ********************************************** ******************* main:; huvudprogram; dessa fyra första instruktioner krävs inte om den interna oscillatorn inte används ring 0x3FF; hämta fabrikens kalibreringsvärde bsf STATUS, RP0; ställ filregisterbanken till 1 movwf OSCCAL; uppdatera register med fabriksvärde bcf STATUS, RP0; ställ in filregistreringsbanken till 0; **********************************;*Initialisering*; *** ********************************; GP0 = används inte, GP1 = reläutgång, GP2 = ingång (rörelsedetektor),; GP3 = ingång för cntrl/nödavstängning, GP4 = utgång till LED -indikator,; GP5 = används inte; ställ in riktning för I/O -stift banksel TRISIO movlw b'00000101 '; xx ------ inte implementerat; --0 ----- 0 = utgång, GP5 = n/c; --- 0 ---- 0 = utgång, GP4 = LED; ---- x --- används inte, GP3, dedikerad till MCLR; ----- 1-- 1 = ingång, GP2-rörelse detekterad; ------ 0- 0 = utgång, GP1 = magnetventil; ------- 1 1 = ingång GP0 = A/D movwf TRISIO; ställ in A/D -omvandlare banksel ANSEL movlw b'00010000 '; x ------- inte implementerat; -001 ---- 001 = Focs/8 omvandlingsklocka; ---- 0 --- 0 = digital I/O, GP4, Fosc/4 urkoppling för felsökningsändamål.; ----- 0-- 0 = digital I/O, GP2; ------ 0- 0 = digital I/O, GP1, relä/etc; ------- 0 0 = digital I/O, 1 = analog GP0 movwf ANSEL banksel ADCON0 movlw b'00000000 '; 0 ------- 1 = rätt motiverat resultat; -0 ------ 0 = Vdd är spänningsreferens; --xx ---- inte genomfört; ---- 00--00 = välj kanal 0 (GP0); ------ 0- 0 = A/D-konvertering har inte startat; ------- 0 0 = A/D-omvandlarmodul är avstängd movwf ADCON0; initiera utdatapinnarinit banksel GPIO movlw b'00000000 'movwf GPIO; initiera avbryter banksel INTCON movlw b'00000000 '; 0 ------- 0 = globala avbrott inaktiverade; -0 ------ 1 = aktivera perifera avbrott; --0 ----- 0 = inaktivera TMR0-överflödesavbrott; --- 1 ---- 1 = aktivera GP2/INT externt avbrott; ---- 0 --- 0 = inaktivera avbrott i GPIO-portändring; ----- 0-- 0 = nej vid TMR0-överflöd; ------ 0- 1 =; ------- 0 0 = ingen GPIO-portändring movwf INTCON; initiera avbrott vid stiftbyte GP2 banksel IOC movlw b'00000100 '; x ------- inte implementerat; -x ------ inte implementerat; --0 ----- 0 = inaktivera GP5; --- 0 ---- 0 = inaktivera GP4; ---- 0 --- 0 = inaktivera GP3; ----- 1-- 1 = aktivera GP2/INTR *****; ------ 0- 0 = inaktivera GP1; ------- 0 0 = inaktivera GP0 movwf IOC banksel PIE1 movlw b'00000000 '; 0 ------- 0 = inaktivera EE skriva fullständigt avbrott; -0 ------ 0 = inaktivera A/D-omvandlaravbrott; --xx ---- inte genomfört; ---- 0 --- 0 = komparatoravbrott inaktiverat; ----- xx- inte implementerat; ------- 0 1 = aktivera TMR1 överströmningsavbrott movwf PIE1 banksel PIR1 movlw b'00000000 '; 0 ------- 0 = ingen EE-skrivning klar; -0 ------ 0 = ingen A/D-konvertering klar; --xx ---- inte genomfört; ---- 0 --- 0 = inget komparatoravbrott; ----- xx- inte implementerat; ------- 0 0 = inget TMR1-överflöd movwf PIR1; *********************************** *************************; GP1 = utgång till relä; GP4 = utgång till LED; ******************************************** *************** banksel INTCON bsf INTCON, INTE; aktivera GP2 -avbrott bsf INTCON, GIEMain_Loop:; om GP2 = 1 matar sedan ut larmsignaler på GP1, GP4 via avbrotts sömn nop goto Main_Loop; ******************************* ****************************; Rörelsedetekteringsavbrottshanterare;; GP1 = utgång till relä, GP4 = utgång till LED; ************************************** ******************** motion_detect: bsf GPIO, 1; aktivera relä för 100 msek samtal pause_100ms bcf GPIO, 1; avaktivera relä bsf GPIO, 4; aktivera LED i 0,5 sek. ringa pause_500ms bcf GPIO, 4 retur; ****************************************** *****************; Fördröjningskodgenerator online; https://massmind.org/techref/piclist/codegen/delay.htm;********************************* ************************** pause_100msec:; Fördröjning = 0,1 sekunder; Klockfrekvens = 4 MHz movlw 0x1F; 99998 cykler movwf d1 movlw 0x4F movwf d2Delay_100 decfsz d1, f goto $+2 decfsz d2, f goto Delay_100 gå till $+1; 2 cykler returpaus_500msec:; Fördröjning = 0,5 sekunder; Klockfrekvens = 4 MHz movlw 0x03; 499994 cykler movwf d1 movlw 0x18 movwf d2 movlw 0x02 movwf d3Delay_500 decfsz d1, f goto $+2 decfsz d2, f goto $+2 decfsz d3, f gå till Delay_500 gå till $ 1; $+1 gå till $+1 returpaus_1sek; Fördröjning = 1 sekunder; Klockfrekvens = 4 MHz movlw 0x08; 999997 cykler 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_1sec goto $ 1 lämna tillbaka;************************************************ ******************************

Steg 8: Slutord

Slutliga ord
Slutliga ord

Den här bilden är ett sätt att dölja allt.

Obs - med hjälp av en mikrokontroller är antalet variationer på denna instruerbara obegränsat. Du kan placera högtalaren så att ljudet kommer från bakom din chef. Eller så kan du koppla det till företagets PA -system. Du kan till och med låta systemet pinga din dator och få en arbetsrelaterad sida att dyka upp på 1/10 sekund så att när din ex-chef eller någon annan går in i din omkrets finns det alltid ett kalkylblad eller ett tekniskt dokument som du borde arbeta med. Och 24/7 … vem som helst som går in i din bås eller går ur den kan säga att du har näsan mot slipstenen varannan dag. Det gör dig till en högt värderad medarbetare. Du är en jäkla arbetsnarkoman. Du behöver inte heller Fresnel -objektivet. Faktum är att för chefsdetektering är det bättre att ta bort det annars kommer människor inuti din skåp som rör sig att sätta av det. Du kan ta av Fresnel -linsen och sätta en 1 tum PVC -slang (1/2 tum diameter från Home Depot) på PIR -detektorn och det ger dig ett mycket smalt synfält, till exempel direkt vid din dörröppning (förutsatt att du har en dörr) men sensorn fungerar lika bra. Dess räckvidd är cirka 5-10 fot utan Fresnel-objektivet. Du kan också ta bort PIR -detektorn och med hjälp av tre ledningar kan du placera detektorn var som helst för att göra den dold. Du kan till och med köpa en ljudmodul för 6 dollar och spela in dina egna ljud. Du kan använda den internationella signalen för "chef närmar sig" som rensar halsen. Och du kan ändra det varje morgon. Eller spela in ljudet av att du skriver febrilt, etc. Här är en ljudeffekt som jag gjorde från den kikskudden och sprang in den i min dator, redigerade den med Audacity och använde den för ett Easy Button -hack som jag skulle kunna lägga upp en dag.

Steg 9: En variant

En variant
En variant

Här är en annan chefsdetektor baserad på samma koncept. Dessutom ville någon ha en video, så jag lägger upp en video för detta snart. Detektorn för den här är uppenbarligen en Robo Sapien parad med en rörelsedetektor från Home Depot. När rörelse detekteras skickar roboten en IR -signal till fågelburen där det finns en dold 38khz detektor. Fågelmekanismen har flera alternativ. Alla alternativ kan väljas individuellt, men när allt är påslaget börjar fågeln snurra, kvittra, med en blinkande lysdiod. Jag lade också till en superljus röd LED monterad under som blinkar 4 gånger så att du vet att någon kommer utan all racket. Den här har också en tidsfördröjning på 30 sekunder, och du kan inaktivera det hela genom att bara lyfta pennan. Blyertspennan har en magnet på änden som, när den sätts in i fågelmataren, möjliggör kretsen med ett litet magnetiskt vassrelä. Den enda verkliga skillnaden i detta system är att jag inte använde fotocellstricket. Det finns en quad op-amp i rörelsedetektorn, och jag knackade precis på utgångsstiften i det sista steget. Jag köpte flera av dessa fågelsaker på ett apotek eftersom de var till försäljning för 5 spänn styck. Sedan lade jag till stenar och vegetation för att dölja IR -detektorn och gjorde en liten låda av körsbärsträ och lackade den för att dölja det extra AA -batteri jag behövde. Saken körs på 2 AA -batterier och är ljudaktiverad. Jag gjorde det mindre känsligt för ljud och behövde extrabatteriet eftersom 38khz -detektorn jag använde behövde minst 4,5 volt, vilket betyder 3 batterier. Rörelsedetektorn gjordes för att anslutas till ett vägguttag, så jag klippte bort de stora grejerna från kretskortet och nu tar det slut på ett 9v batteri installerat där glödlampan var placerad.

Här är en länk till en video av denna. Video