Innholdsfortegnelse:
- Trinn 1: Hentet denne kjekke støymaskinen for omtrent 6 dollar i leketøyseksjonen i matbutikken
- Trinn 2: Og jeg fant denne lille perlen i WalMart for omtrent $ 5,00
- Trinn 3: Ok. La oss spreke opp bevegelsessensoren og se …
- Trinn 4: La oss gjøre noen hackin '
- Trinn 5: Fotocellkretsen
- Trinn 6: Hacking av fjernkontrollens Whoopee -knapp
- Trinn 7: Nå for den vanskelige delen
- Trinn 8: Siste ord
- Trinn 9: En variant
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Jo eldre jeg blir, jo mindre blir skapet mitt. Faktisk har jeg ikke engang et bås nå. Men sjefen min pleide å gå inn uoppdaget og få meg til å forske på et oppdrag (WWW - for sjefen så det ut som websurfing), og han ville fortelle meg å komme på jobb. Jeg ville sette en kuleklokke rundt ham, men jeg er sikker på at han ikke ville gå for det, så jeg måtte finne på noe annet. (merk - tittelen skal være "Flatulent.")
Trinn 1: Hentet denne kjekke støymaskinen for omtrent 6 dollar i leketøyseksjonen i matbutikken
Du kan lese pakken selv. Den har omtrent 6 forskjellige tilfeldige "låter". Men nøkkelen er den lille RF -fjernkontrollknappen som følger med.
Trinn 2: Og jeg fant denne lille perlen i WalMart for omtrent $ 5,00
Det lyser tydeligvis litt lys (LED) når bevegelse oppdages, og rommet er mørkt. (Hmmmmm, jeg lurer på om jeg kunne …)
Trinn 3: Ok. La oss spreke opp bevegelsessensoren og se …
Vel, jeg merket alt. Fotocellen (ikke vist, men tro meg, den er der) er for å forhindre at lyset (LED) tennes på dagtid, og derfor forlenger batterilevetiden.
Fresnel-objektivet er der for å gi et bredt synsfelt for bevegelsessensoren. Fresnel uttales frie-nel. Slå opp på Wikipedia for mer informasjon.
Trinn 4: La oss gjøre noen hackin '
Først ser du den PIR bevegelsesdetektoren. PIR betyr "passiv infrarød." Noen kaller det en "Pyro infrarød." Jeg vet ikke hvorfor. Uansett vil vi ikke hacke det. Vi kan trenge noe senere.
Deretter har vi (vel, meg … men den kongelige vi) dekket til den fotocellen jeg fortalte deg om. Du skjønner, jeg vil at sjefdetektoren min skal være aktiv dag og natt. Så ved å dekke det til tror det at det er i mørket selv når lysene er på. Men vi har nettopp trukket ullen over øynene hans (faktisk det ene øyet), og han/hun er nå holdt i mørket. Og du kan se at vi har installert vår egen fotocelle rett ved siden av LED -en. Det lille trikset gir oss beskjed når lysdioden tennes fordi bevegelse hadde blitt oppdaget. Selvfølgelig kunne vi ha kjørt en ledning fra LED -en for å oppnå samme formål, men hvor er moroa i det. Det morsomme med hacking er å hacke det annerledes enn andre hackere, som hos de andre elektriske ingeniørene. Og det gjør hacken din til en ekte original.
Trinn 5: Fotocellkretsen
Fotocellen, som du kan kjøpe på Radio Shack, har en motstand på omtrent 50k ohm uten lyseksponering, og omtrent 5k ohm eller mindre når den utsettes for sterkt lys. Så hvis vi bruker en motstand i serie med fotocellen, som bare er en motstand, og knytter dem til en spenningskilde og jord, så har vi en spenningsdeler. Derfra gir tapping mellom de to motstandene et spenningssignal som går høyt eller lavt, og kan brukes til å utløse en enhet. I dette tilfellet bruker bevegelsesdetektoren 3xAA batterier, som er 4,5 volt. Og dette er hvordan kretsen er koblet til for å gi signalet som trengs for å drive annen elektronikk. Med lysdioden av er kretssignalet omtrent 1,7 volt, med lysdioden på stiger signalet til omtrent 3,5 volt, noe som er nok til å utløse en mikrokontroller
Trinn 6: Hacking av fjernkontrollens Whoopee -knapp
Det er en knapp, som betyr et sted to pins, som når den er nært lukket, får kuppeputen til å gjøre det. Pinnene er ganske åpenbare, så jeg viste ikke den delen. Men jeg boret et lite hull og kjørte et par ledninger til knappene. Og ved hjelp av et 5v sivrelé fra Radio Shack kan jeg koble de to pinnene ved å aktivere sivreléet.
Trinn 7: Nå for den vanskelige delen
Det er egentlig ikke så vanskelig hvis du kan litt om elektronikk, men avtalen er at du må bruke utløsersignalet for å aktivere systemet. Du kan bruke en one-shot timer, eller en komparator, eller en 555 timer, men for meg er det enkleste å bruke en 8-pinners mikrokontroller. Jeg brukte en PIC Micro 12F675. Med det kunne jeg utløse en inngangsendring av en pinne og blinke med en rød LED. Også, hvis 5 personer kommer inn, vil jeg ikke at tingen skal gå gal i 15 sekunder, så jeg legger inn en forsinkelse på 30 sekunder slik at jeg kan slå en drepebryter og slå den av. Så jeg skal bare fast-fwd og vise sluttresultatet av utstyret. Vær oppmerksom på at jeg dekket LED-lampen slik at eks-sjefen ikke skulle se et lys tennes hver gang han tappet inn i min ydmyke 1/4 av et bås. Dette bildet er sluttproduktet. Jeg lar elektronikken være en øvelse for studenten. Her er koden for PIC Micro 12F675:; *************************** *************************************************; Filnavn: Flatulant_Boss; Prosessor: 12F675; Forfatter: Alan Mollick (alanmollick.com); Modus: Avbrudd ved GP2 -endring;; ~ GPIO REGISTERER ~; GP0 = INNGANG - n/c; GP1 = UTGANG - relé; GP2 = INNGANG - Høy = bevegelse oppdaget; GP3 = INNGANG - n/c; GP4 = UTGANG - Rød LED; ****************************************** ********************************** list p = 12F675; listedirektiv for å definere prosessor#inkluderer; prosessorspesifikke variable definitionserrorlevel -302; undertrykke melding 302 fra listefilCONFIG _CP_OFF & _CPD_OFF & _BODEN_OFF & _MCLRE_OFF & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT; ~ Variabler ~ w_temp EQU 0x20; variabel som brukes for kontekst lagring status_temp EQU 0x21; variabel som brukes for kontekstbesparende hiB EQU 0x21; MSBytelowB EQU 0x22; LSBytetemp EQU 0x23 reservedeler EQU 0x24 temp1 EQU 0x25; trigger avbryte flagtemp2 EQU 0x26 forsinkelse EQU 0x27; forsinkelse timepins EQU 0x28; pin Statespare1 EQU 0x29spare2 EQU 0x2acount EQU 0x2b; loop countcount1 EQU 0x2c; ytre sløyfe countcount2 EQU 0x2d; ytre sløyfe countd1 EQU 0x2e; forsinkelse counterd2 EQU 0x2f; forsinkelse counterd3 EQU 0x30; forsinkelse counterd4 EQU 0x31; forsinkelse teller; *********************************************** *********************** RESET_VECTOR ORG 0x000; prosessor tilbakestill vektor gå til hoved; gå til begynnelsen av programINT_VECTOR ORG 0x004; avbryte vektorplassering movwf w_temp; lagre nåværende W registrere innhold movf STATUS, w; flytte statusregister til W -register movwf status_temp; lagre innholdet i STATUS -registeret; isr code call motion_detect; sende alarmsignaler banksel INTCON bcf INTCON, INTF; tøm GP2/INT flagg movf status_temp, w; hente kopi av STATUS register movwf STATUS; gjenopprette pre-isr STATUS register innhold swapf w_temp, f swapf w_temp, w; gjenopprette pre-isr W registrere innhold retfie; retur fra avbrudd; ******************************************* ******************* main:; hovedprogrammet; disse fire første instruksjonene er ikke nødvendig hvis den interne oscillatoren ikke brukes, ring 0x3FF; hente fabrikk kalibreringsverdi bsf STATUS, RP0; sett filregisterbanken til 1 movwf OSCCAL; oppdater register med fabrikk cal verdi bcf STATUS, RP0; sett filregisterbank til 0; **********************************;*Initialisering*; *** ********************************; GP0 = ikke brukt, GP1 = reléutgang, GP2 = inngang (bevegelsesdetektering),; GP3 = inngang for cntrl/nødavbrudd, GP4 = utgang til LED -indikator,; GP5 = ikke brukt; sette opp retning for I/O -pinner banksel TRISIO movlw b'00000101 '; xx ------ ikke implementert; --0 ----- 0 = utgang, GP5 = n/c; --- 0 ---- 0 = utgang, GP4 = LED; ---- x --- ikke brukt, GP3, dedikert til MCLR; ----- 1-- 1 = inngang, GP2 bevegelse oppdaget; ------ 0- 0 = utgang, GP1 = magnetventil; ------- 1 1 = input GP0 = A/D movwf TRISIO; sette opp A/D -omformer banksel ANSEL movlw b'00010000 '; x ------- ikke implementert; -001 ---- 001 = Focs/8 konverteringsklokke; ---- 0 --- 0 = digital I/O, GP4, Fosc/4 timeout for feilsøkingsformå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 = riktig begrunnet resultat; -0 ------ 0 = Vdd er spenningsreferanse; --xx ---- ikke implementert; ---- 00--00 = velg kanal 0 (GP0); ------ 0- 0 = A/D-konvertering ikke startet; ------- 0 0 = A/D-omformermodul er slått av movwf ADCON0; initialisere output pinsinit banksel GPIO movlw b'00000000 'movwf GPIO; initialisere avbryter banksel INTCON movlw b'00000000 '; 0 ------- 0 = globale avbrudd deaktivert; -0 ------ 1 = aktiver perifere avbrudd; --0 ----- 0 = deaktiver TMR0 overløpsavbrudd; --- 1 ---- 1 = aktiver GP2/INT eksternt avbrudd; ---- 0 --- 0 = deaktiver avbrudd i GPIO-portendring; ----- 0-- 0 = nei ved TMR0 overløp; ------ 0- 1 =; ------- 0 0 = ingen endring i GPIO-port movwf INTCON; initialiser avbrudd ved pin -endring GP2 banksel IOC movlw b'00000100 '; x ------- ikke implementert; -x ------ ikke implementert; --0 ----- 0 = deaktiver GP5; --- 0 ---- 0 = deaktiver GP4; ---- 0 --- 0 = deaktiver GP3; ----- 1-- 1 = aktiver GP2/INTR *****; ------ 0- 0 = deaktiver GP1; ------- 0 0 = deaktiver GP0 movwf IOC banksel PIE1 movlw b'00000000 '; 0 ------- 0 = deaktiver EE skrive fullstendig avbrudd; -0 ------ 0 = deaktiver avbrudd i A/D-omformer; --xx ---- ikke implementert; ---- 0 --- 0 = komparatoravbrudd deaktivert; ----- xx- ikke implementert; ------- 0 1 = aktiver TMR1 overløp avbryte movwf PIE1 banksel PIR1 movlw b'00000000 '; 0 ------- 0 = ingen EE-skriving fullført; -0 ------ 0 = ingen A/D-konvertering fullført; --xx ---- ikke implementert; ---- 0 --- 0 = ingen komparatoravbrudd; ----- xx- ikke implementert; ------- 0 0 = ingen TMR1 overløp movwf PIR1; ********************************** *************************; GP1 = utgang til relé; GP4 = utgang til LED; ******************************************** *************** banksel INTCON bsf INTCON, INTE; aktiver GP2 interrupt bsf INTCON, GIEMain_Loop:; hvis GP2 = 1, send deretter alarmsignaler på GP1, GP4 via avbryt søvn, ikke gå til Main_Loop; ******************************* ****************************; Bevegelsesdeteksjon Interrupt Handler;; GP1 = utgang til relé, GP4 = utgang til LED; ************************************** ******************** motion_detect: bsf GPIO, 1; energiser relé for 100 msek samtale pause_100ms bcf GPIO, 1; deaktiver relé bsf GPIO, 4; Aktiver LED i 0,5 sek. ring pause_500ms bcf GPIO, 4 retur; ****************************************** *****************; online forsinkelse kode generator; https://massmind.org/techref/piclist/codegen/delay.htm;******************************** ************************** pause_100msec:; Forsinkelse = 0,1 sekunder; Klokkefrekvens = 4 MHz movlw 0x1F; 99998 sykluser movwf d1 movlw 0x4F movwf d2Delay_100 decfsz d1, f goto $+2 decfsz d2, f goto Delay_100 gå til $+1; 2 sykluser returpause_500msec:; Forsinkelse = 0,5 sekunder; Klokkefrekvens = 4 MHz movlw 0x03; 499994 sykluser 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 goto $ 1 $+1 gå til $+1 returpause_1sek; Forsinkelse = 1 sekund; Klokkefrekvens = 4 MHz movlw 0x08; 999997 sykluser movwf d1 movlw 0x2F movwf d2 movlw 0x03 movwf d3Delay_1s decfsz d1, f goto $+2 decfsz d2, f goto $+2 decfsz d3, f goto Delay_1sec goto $ 1 komme tilbake;************************************************ *****************************
Trinn 8: Siste ord
Dette bildet er en måte å skjule alt.
Merk - ved bruk av en mikrokontroller er antall variasjoner på denne instruksjonsboken ubegrenset. Du kan plassere høyttaleren slik at lyden kommer bak sjefen din. Eller du kan knytte det til selskapets PA -system. Du kan til og med få systemet til å pinge datamaskinen din og få en arbeidsrelatert side til å dukke opp på 1/10 sekund, slik at når som helst din tidligere sjef eller noen andre kommer inn i omkretsen din, er det alltid et regneark eller et teknisk dokument som du burde jobbe med. Og 24/7 … alle som går inn i skapet ditt, eller ut av det, kan si at du har nesen til slipesteinen hvert sekund på dagen. Det gjør deg til en høyt verdsatt medarbeider. Du er en skikkelig arbeidsnarkoman. Dessuten trenger du ikke egentlig Fresnel -objektivet. Faktisk, for sjefsdeteksjon, er det bedre å fjerne det, ellers vil folk inne i skapet ditt bevege seg. Du kan ta av Fresnel -objektivet og legge et 1 -tommers stykke PVC -rør (1/2 tommer diameter fra Home Depot) på PIR -detektoren, og det vil gi deg et veldig smalt synsfelt, for eksempel direkte ved døren (forutsatt at du har en dør), men sensoren fungerer like bra. Rekkevidden er omtrent 5-10 fot uten Fresnel-objektivet. Du kan også fjerne PIR -detektoren og ved hjelp av 3 ledninger kan du plassere detektoren hvor som helst for å gjøre den skjult. Du kan til og med kjøpe en lydmodul for 6 dollar og spille inn dine egne lyder. Du kan bruke det internasjonale signalet for "sjef nærmer seg", som renner halsen. Og du kan endre den hver morgen. Eller registrer lyden av at du skriver febrilsk, etc. Her er en lydeffekt jeg lagde fra puten, og kjørte den inn på datamaskinen min, redigerte den med Audacity og brukte den til et Easy Button -hack som jeg kunne sette opp en dag.
Trinn 9: En variant
Her er en annen sjefsdetektor basert på det samme konseptet. Noen ville også ha en video, så jeg legger ut en video for dette snart. Detektoren for denne er åpenbart en Robo Sapien parret med en bevegelsesdetektor fra Home Depot. Når det oppdages bevegelse, sender roboten et IR -signal til fugleburet der det er en skjult 38 khz detektor. Fuglemekanismen har flere alternativer. Alle alternativene kan velges individuelt, men med alt slått på begynner fuglen å snurre, kvitre, med en blinkende LED. Jeg la også til en superlys rød LED montert under som blinker 4 ganger slik at du vet at noen kommer uten all racketen. Denne har også en forsinkelse på 30 sekunder, og du kan deaktivere det hele ved å løfte blyanten. Blyanten har en magnet på enden som, når den settes inn i fuglemateren, muliggjør kretsløpet ved hjelp av et lite magnetisk sivrelé. Den eneste virkelige forskjellen i dette systemet er at jeg ikke brukte fotocelle -trikset. Det er en quad op-amp i bevegelsesdetektoren, og jeg tappet nettopp utgangspinnen til siste etappe. Jeg kjøpte flere av disse fugletingene på et apotek fordi de var i salg for 5 dollar hver. Deretter la jeg til steiner og vegetasjon for å skjule IR -detektoren, og lagde en liten eske av kirsebærtre og lakkerte den for å skjule det ekstra AA -batteriet jeg trengte. Tingen går på 2 AA -batterier, og er lydaktivert. Jeg gjorde det mindre følsomt for lyd, og trengte ekstra batteri fordi 38khz detektoren jeg brukte trengte minst 4,5 volt, noe som betyr 3 batterier. Bevegelsesdetektoren ble laget for å koble til en stikkontakt, så jeg kuttet de store tingene av kretskortet, og nå går det av et 9v batteri installert der lyspæren var plassert.
Her er en lenke til en video av denne. Video