Detektor šefa naduvavanja: 9 koraka (sa slikama)
Detektor šefa naduvavanja: 9 koraka (sa slikama)
Anonim
Detektor naduvavanja šefa
Detektor naduvavanja šefa
Detektor naduvavanja šefa
Detektor naduvavanja šefa

Što sam stariji, moja kabina postaje sve manja. Zapravo, sada čak nemam ni kabinu. Ali moj šef je znao ući neopažen i uhvatiti me kako istražujem neki zadatak (WWW - šefu je to izgledalo kao surfanje internetom) i rekao bi mi da se bacim na posao. Htjela sam staviti zvonce oko njega, ali sigurna sam da ne bi pristao na to, pa sam morala smisliti nešto drugo. (napomena - naslov bi trebao biti "Naduvan".)

Korak 1: Pokupili ste ovaj sjajni proizvođač buke za oko 6 dolara u odjeljku igračaka u trgovini prehrambenih proizvoda

Pokupio sam ovaj sjajni proizvođač buke za oko 6 dolara u odjeljku igračaka u trgovini prehrambenih proizvoda
Pokupio sam ovaj sjajni proizvođač buke za oko 6 dolara u odjeljku igračaka u trgovini prehrambenih proizvoda

Paket možete sami pročitati. Ima oko 6 različitih slučajnih "melodija". No, ključna stavka je malo RF daljinsko dugme koje dolazi s njim.

Korak 2: Pronašao sam ovaj mali dragulj u WalMart -u za oko 5,00 USD

Pronašao sam ovaj mali dragulj u WalMart -u za oko 5,00 USD
Pronašao sam ovaj mali dragulj u WalMart -u za oko 5,00 USD

Očigledno uključuje malo svjetla (LED) kada se detektira kretanje, a soba je mračna. (Hmmmmm, pitam se da li bih mogao …)

Korak 3: U redu. Otvorimo senzor pokreta i pogledajmo …

U redu. Otvorimo senzor pokreta i pogledajmo …
U redu. Otvorimo senzor pokreta i pogledajmo …

Pa, sve sam označio. Fotoćelija (nije prikazana, ali vjerujte mi, tu je) služi za sprječavanje paljenja svjetla (LED) tokom dana i time produžava vijek trajanja baterije.

Fresnelovo sočivo je tu da pruži široko vidno polje senzoru pokreta. Fresnel se izgovara fri-nel, potražite više informacija na Wikipediji.

Korak 4: Hajdemo hakirati

Hajdemo hakirati
Hajdemo hakirati

Prvo vidite taj PIR detektor pokreta. PIR znači "pasivno infracrveno". Neki ga zovu "Pyro infra-red". Ne znam zašto. Bez obzira na to, nećemo to hakovati. Možda će nam kasnije nešto trebati.

Zatim smo (pa ja … ali kraljevski mi) prikrili tu fotoćeliju o kojoj sam vam pričao. Vidite, želim da moj šef-detektor bude aktivan dan i noć. Dakle, prikrivajući ga, misli da je u mraku čak i kad su svjetla upaljena. Ali, upravo smo mu navukli vunu na oči (zapravo jedno oko), i on/ona se sada drži u mraku. I možete vidjeti da smo instalirali vlastitu fotoćeliju tik uz LED. Taj mali trik nam daje do znanja kada se LED upali jer je detektirano kretanje. Naravno da smo mogli voditi žicu od LED -a da bismo postigli istu svrhu, ali gdje je tu zabava. Zabavna stvar kod hakiranja je hakirati ga drugačije od ostalih hakera, kao u drugim elektroinženjerima. I to čini vaš hack pravim originalom.

Korak 5: Krug fotoćelije

Krug fotoćelije
Krug fotoćelije

Fotoćelija, kakvu možete kupiti u Radio Shacku, ima otpor od oko 50k ohma bez izlaganja svjetlosti i oko 5k ohma ili manje kada je izložena jakom svjetlu. Dakle, ako upotrijebimo otpornik serijski s fotoćelijom, koja je samo otpornik, i povežemo ih s izvorom napona i masom, tada imamo razdjelnik napona. Odatle, dodirivanje između dva otpornika daje signal napona koji ide visoko ili nisko i može se koristiti za pokretanje uređaja. U ovom slučaju detektor pokreta koristi 3xAA baterije, što je 4,5 volti. Ovo je način na koji je kolo ožičeno za pružanje signala potrebnog za pogon neke druge elektronike. S isključenom LED diodom, signal kruga je oko 1,7 volti, dok je LED uključena, signal raste na oko 3,5 volti, što je dovoljno za aktiviranje mikrokontrolera

Korak 6: Hakiranje Whoopee dugmeta na daljinskom upravljaču

Hakiranje Whoopee dugmeta na daljinskom upravljaču
Hakiranje Whoopee dugmeta na daljinskom upravljaču

Postoji dugme, što znači da negdje postoje dvije igle, koje, kada su blisko spojene, uzrokuju da jastuk jauk učini svoje. Igle su prilično očigledne, pa nisam pokazao taj dio. Ali, izbušio sam malu rupu i provukao par žica do iglica dugmeta. I pomoću releja od tv -a od 5v iz Radio Shacka, mogu spojiti dva pina napajanjem releja trske.

Korak 7: Sada za lukavi dio

A sada na škakljivi dio
A sada na škakljivi dio

Nije baš tako zeznuto ako znate malo o elektronici, ali dogovor je da morate koristiti signal okidača za aktiviranje sistema. Možete koristiti mjerač vremena za jedan snimak, usporedbu ili mjerač vremena 555, ali za mene je najjednostavnije koristiti 8-pinski mikrokontroler. Koristio sam PIC Micro 12F675. Time bih mogao aktivirati promjenu pina na ulazu i treptati crvenom LED diodom. Također, ako uđe 5 ljudi, ne želim da stvar poludi 15 sekundi, pa sam stavio kašnjenje od 30 sekundi kako bih mogao pritisnuti prekidač za isključivanje i isključiti ga. Pa ću samo brzo pregledati i pokazati krajnji rezultat naprave. Napomena, prekrila sam LED diodu kako bivši šef ne bi vidio svjetlo koje se pali svaki put kad bi upao u moju skromnu 1/4 kabine. Ova slika je krajnji proizvod. Ostavit ću elektroniku kao vježbu za studente. Evo koda za PIC Micro 12F675:; *************************** ************************************************; Naziv datoteke: Flatulant_Boss; Procesor: 12F675; Autor: Alan Mollick (alanmollick.com); Režim: Prekid na promeni GP2;; ~ GPIO REGISTRI ~; GP0 = ULAZ - n/c; GP1 = IZLAZ - relej; GP2 = ULAZ - Visoko = detektovano kretanje; GP3 = ULAZ - n/c; GP4 = IZLAZ - Crvena LED dioda; **************************************** *********************************** lista p = 12F675; lista direktiva za definisanje procesora#include; definicija varijable specifična za procesorserlerlevel -302; potisnuti poruku 302 iz datoteke s popisomCONFIG _CP_OFF & _CPD_OFF & _BODEN_OFF & _MCLRE_OFF & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT; ~ Varijable ~ w_temp EQU 0x20; varijabla koja se koristi za spremanje konteksta status_temp EQU 0x21; varijabla koja se koristi za spremanje konteksta hiB EQU 0x21; MSBytelowB EQU 0x22; LSBytetemp EQU 0x23 rezervni EQU 0x24 temp1 EQU 0x25; aktiviranje prekida flagtemp2 EQU 0x26 kašnjenje EQU 0x27; vremenske pinove kašnjenja EQU 0x28; pin stanjapare1 EQU 0x29spare2 EQU 0x2acount EQU 0x2b; count loopcount1 EQU 0x2c; vanjska petlja countcount2 EQU 0x2d; vanjska petlja countd1 EQU 0x2e; brojač kašnjenja EQU 0x2f; brojač kašnjenja3 EQU 0x30; brojač kašnjenja4 EQU 0x31; brojač kašnjenja; *********************************************** *********************** RESET_VECTOR ORG 0x000; vektor za resetiranje procesora goto main; idi na početak programaINT_VECTOR ORG 0x004; lokacija vektora prekida movwf w_temp; uštedjeti trenutni sadržaj W registra movf STATUS, w; premjestiti statusni registar u W registar movwf status_temp; sačuvati sadržaj STATUS registra; isr kôd poziv motion_detect; šalji alarmne signale bankovno INTCON bcf INTCON, INTF; obriši GP2/INT zastavu movf status_temp, w; dohvatiti kopiju registra STATUS movwf STATUS; vratiti sadržaj registra STATUS-a prije isra swapf w_temp, f swapf w_temp, w; vratiti sadržaj registra W-pre-isr retfie; povratak iz prekida; ********************************************** ****************** main:; glavni program; ove prve 4 upute nisu potrebne ako se ne koristi interni oscilator pozovite 0x3FF; dohvati tvorničku vrijednost kalibracije bsf STATUS, RP0; postaviti banku registra datoteka na 1 movwf OSCCAL; ažuriranje registra sa tvorničkom kalc. vrijednošću bcf STATUS, RP0; postavite banku registra datoteka na 0; ***********************************;*Inicijalizacija*; *** ********************************; GP0 = ne koristi se, GP1 = relejni izlaz, GP2 = ulaz (detekcija pokreta),; GP3 = ulaz za cntrl/prekid u slučaju nužde, GP4 = izlaz na LED indikator,; GP5 = ne koristi se; postaviti smjer I/O pinova banksel TRISIO movlw b'00000101 '; xx ------ nije implementirano; --0 ----- 0 = izlaz, GP5 = n/c; --- 0 ---- 0 = izlaz, GP4 = LED; ---- x --- ne koristi se, GP3, Posvećeno MCLR-u; ----- 1-- 1 = ulaz, otkriveno kretanje GP2; ------ 0- 0 = izlaz, GP1 = elektromagnetni ventil; ------- 1 1 = ulaz GP0 = A/D movwf TRISIO; postaviti bankarski A/D pretvarač ANSEL movlw b'00010000 '; x ------- nije implementirano; -001 ---- 001 = Focs/8 sat za konverziju; ---- 0 --- 0 = digitalni I/O, GP4, Fosc/4 clockout radi otklanjanja grešaka.; ----- 0-- 0 = digitalni U/I, GP2; ------ 0- 0 = digitalni U/I, GP1, relej/itd; ------- 0 0 = digitalni U/I, 1 = analogni GP0 movwf ANSEL banka ADCON0 movlw b'00000000 '; 0 ------- 1 = desno opravdan rezultat; -0 ------ 0 = Vdd je referentni napon; --xx ---- nije implementirano; ---- 00--00 = odabir kanala 0 (GP0); ------ 0- 0 = A/D konverzija nije započela; ------- 0 0 = Modul A/D pretvarača je isključen movwf ADCON0; inicijalizirati izlazni pinsinit bankarski GPIO movlw b'00000000 'movwf GPIO; inicijalizirati prekide banksel INTCON movlw b'00000000 '; 0 ------- 0 = globalni prekidi onemogućeni; -0 ------ 1 = omogući periferne prekide; --0 ----- 0 = onemogući prekid prelivanja TMR0; --- 1 ---- 1 = omogući GP2/INT vanjski prekid; ---- 0 --- 0 = onemogući prekid promjene GPIO porta; ----- 0-- 0 = ne na TMR0 preljevu; ------ 0- 1 =; ------- 0 0 = nema promjene GPIO porta movwf INTCON; inicijalizirati prekid pri promjeni pina GP2 banka IOC movlw b'00000100 '; x ------- nije implementirano; -x ------ nije implementirano; --0 ----- 0 = onemogući GP5; --- 0 ---- 0 = onemogući GP4; ---- 0 --- 0 = onemogući GP3; ----- 1-- 1 = omogući GP2/INTR *****; ------ 0- 0 = onemogući GP1; ------- 0 0 = onemogući GP0 movwf IOC banku PIE1 movlw b'00000000 '; 0 ------- 0 = onemogući potpuni prekid EE upisivanja; -0 ------ 0 = onemogući prekid A/D pretvarača; --xx ---- nije implementirano; ---- 0 --- 0 = prekid komparatora je onemogućen; ----- xx- nije implementirano; ------- 0 1 = omogućiti prekid prelivanja TMR1 movwf PIE1 banka PIR1 movlw b'00000000 '; 0 ------- 0 = nema upisivanja EE dovršeno; -0 ------ 0 = nema A/D konverzije dovršene; --xx ---- nije implementirano; ---- 0 --- 0 = nema prekida komparatora; ----- xx- nije implementirano; ------- 0 0 = nema TMR1 prelijevanja movwf PIR1; ********************************** ************************; GP1 = izlaz na relej; GP4 = izlaz na LED; ******************************************** ************** banksel INTCON bsf INTCON, INTE; omogući GP2 prekid bsf INTCON, GIEMain_Loop:; ako je GP2 = 1, tada emitirajte alarmne signale na GP1, GP4 putem prekida za spavanje nop goto Main_Loop; ******************************* ***************************; Rukovalac prekida detekcije pokreta;; GP1 = izlaz na relej, GP4 = izlaz na LED; ************************************** ******************** detekcija pokreta: bsf GPIO, 1; relej za napajanje za 100 msec pauza poziva_100ms bcf GPIO, 1; deaktivirati relej bsf GPIO, 4; aktivirajte LED na 0,5 sek. poziv pause_500ms bcf GPIO, 4 povratka; **************************************** ****************; mrežni generator koda odgode; https://massmind.org/techref/piclist/codegen/delay.htm;******************************** ************************** pause_100msec:; Odgoda = 0,1 sekunda; Taktna frekvencija = 4 MHz movlw 0x1F; 99998 ciklusa movwf d1 movlw 0x4F movwf d2Delay_100 decfsz d1, f goto $+2 decfsz d2, f goto Delay_100 goto $+1; 2 ciklusa returnpause_500msec:; Odgoda = 0,5 sekundi; Taktna frekvencija = 4 MHz movlw 0x03; 499994 ciklusa 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 gole odlaganje_500; $+1 goto $+1 returnpause_1sec; Odgoda = 1 sekunda; Taktna frekvencija = 4 MHz movlw 0x08; 999997 ciklusa 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_1c; povratak; ********************************************** *****************************

Korak 8: Završne riječi

Završne riječi
Završne riječi

Ova slika je jedan od načina da sve sakrijete.

Napomena - upotrebom mikrokontrolera broj varijacija ovog uputstva je neograničen. Zvučnik možete postaviti tako da zvuk izvire iza vašeg šefa. Ili ga možete povezati u sistem kompanije PA. Možete čak i zatražiti da sistem pinguje vaš računar i da se pojavi stranica koja se odnosi na posao za 1/10 sekunde, tako da svaki put kada vaš bivši šef ili bilo ko drugi uđe u vaš opseg, uvijek postoji tabela ili tehnički dokument na čemu bi trebalo da radite. I 24/7 … bilo ko uđe u vašu kabinu ili izađe iz nje, može reći da imate nos do žrvnja svake sekunde u danu. To vas čini visoko cijenjenim zaposlenikom. Ti si prokleti radoholičar. Također, Fresnelovo sočivo vam zapravo ne treba. Zapravo, radi otkrivanja šefa, bolje ga je ukloniti, inače će ga pokrenuti ljudi u vašoj kabini koji se kreću. Možete skinuti Fresnelovo sočivo i staviti komad PVC cijevi od 1 inča (promjera 1/2 inča od Home Depota) na PIR detektor, što će vam dati vrlo usko vidno polje, poput izravno na vratima (pod pretpostavkom imate vrata), ali senzor radi jednako dobro. Domet mu je oko 5-10 stopa bez Fresnelove leće. Također možete ukloniti PIR detektor i pomoću 3 žice detektor možete postaviti bilo gdje kako biste ga sakrili. Možete čak kupiti zvučni modul za 6 dolara i snimiti vlastite zvukove. Međunarodni signal možete upotrijebiti za "šef se približava" koji vam čisti grlo. I možete ga mijenjati svako jutro. Ili snimite zvuk vašeg grozničavog kucanja, itd. Evo zvučnog efekta koji sam napravio od tog jastuka, zaletio ga u računar, uredio sa Audacity -om i iskoristio za hakiranje Easy Buttona koji bih jednog dana mogao staviti.

Korak 9: Varijacija

A Variacija
A Variacija

Evo još jednog detektora šefa zasnovanog na istom konceptu. Također, neko je htio video, pa ću uskoro postaviti i video za ovo. Ovaj detektor je očigledno Robo Sapien uparen s detektorom pokreta iz Home Depota. Kada se detektira kretanje, robot šalje IC signal u kavez za ptice gdje se nalazi skriveni detektor od 38 kHz. Ptičji mehanizam ima nekoliko opcija. Sve opcije se mogu pojedinačno odabrati, ali kada je sve uključeno, ptica se počinje vrtjeti, cvrkućući, s trepćućom LED. Takođe sam dodao sjajno crvenu LED diodu montiranu ispod koja treperi 4 puta tako da znate da neko dolazi bez reketa. Ovaj također ima vremensko kašnjenje od 30 sekundi, a cijelu stvar možete onemogućiti jednostavnim podizanjem olovke. Olovka ima magnet na kraju koji, kada se umetne u hranilicu za ptice, omogućava strujno kolo pomoću malog magnetnog releja od trske. Jedina stvarna razlika u ovom sistemu je ta što nisam koristio trik sa fotoćelijama. U detektoru pokreta nalazi se četveroop-pojačalo, a ja sam upravo isključio izlazni pin zadnje faze. Kupio sam nekoliko ovih ptičjih stvari u apoteci jer su bile na rasprodaji po 5 dolara. Zatim sam dodao kamenje i vegetaciju kako bih sakrio IC detektor, te napravio malu kutiju od drveta trešnje i lakirao je kako bih sakrio dodatnu AA bateriju koja mi je potrebna. Radi na 2 AA baterije i aktivira se zvukom. Učinio sam ga manje osjetljivim na zvuk i trebala mi je dodatna baterija jer je detektoru od 38 kHz koji sam koristio trebao najmanje 4,5 volti, što znači 3 baterije. Detektor pokreta je napravljen za uključivanje u zidnu utičnicu, pa sam izrezao krupne stvari s ploče i sada se napaja od 9v baterije instalirane na mjestu gdje se nalazila žarulja.

Evo linka do videa ovog.videa