Sisukord:
- Samm: võtke see tore müra tekitaja umbes 6 dollari eest toidupoe mänguasjade sektsioonist
- 2. samm: ja ma leidsin selle väikese kalliskivi WalMartist umbes 5 dollari eest
- 3. samm: Olgu. Avame liikumisanduri ja vaatame…
- 4. samm: teeme häkkimist
- Samm 5: fotoelemendi ahel
- 6. samm: häkkimine kaugjuhtimispuldi täisnuppu
- Samm: nüüd keeruka osa jaoks
- 8. samm: lõppsõnad
- 9. samm: variatsioon
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
Mida vanemaks ma saan, seda väiksemaks mu kabiin läheb. Tegelikult pole mul nüüd isegi kabiini. Kuid mu ülemus astus avastamata sisse ja tabas mind mõne ülesande täitmisel (WWW - ülemusele nägi see välja nagu veebis surfamine) ja ta käskis mul tööle hakata. Tahtsin tema ümber lehmakella panna, kuid olen kindel, et ta selle peale ei läheks, nii et pidin midagi muud välja mõtlema. (märkus - pealkiri peaks olema "Kõhupuhitus").
Samm: võtke see tore müra tekitaja umbes 6 dollari eest toidupoe mänguasjade sektsioonist
Pakendit saate ise lugeda. Sellel on umbes 6 erinevat juhuslikku "viisi". Kuid võtmeelement on kaasas olev väike RF kaugjuhtimispult.
2. samm: ja ma leidsin selle väikese kalliskivi WalMartist umbes 5 dollari eest
Ilmselgelt süttib see liikumise tuvastamisel veidi valgust (LED) ja ruum on pime. (Hmmm, ma ei tea, kas ma saaksin …)
3. samm: Olgu. Avame liikumisanduri ja vaatame…
Noh, ma sildistasin kõik. Fotoelement (pole näidatud, kuid uskuge mind, see on olemas) peab takistama valguse (LED) päevavalgust süttimist ja pikendab seetõttu aku kasutusaega.
Fresneli objektiiv pakub liikumisandurile laia vaatevälja. Fresnel hääldatakse frie-nel, vaadake lisateabe saamiseks Vikipeediast.
4. samm: teeme häkkimist
Esiteks näete seda PIR -liikumisandurit. PIR tähendab "passiivset infrapuna". Mõned inimesed nimetavad seda "Pyro infrapuna". Ma ei tea miks. Sellest hoolimata ei hakka me seda häkkima. Meil võib hiljem midagi vaja minna.
Järgmisena oleme (noh, mina … aga kuninglik meie) varjanud selle fotoelemendi, millest ma teile rääkisin. Näete, ma tahan, et mu ülemus-detektor oleks päeval ja öösel aktiivne. Niisiis, kattes selle, arvab ta, et see on pimedas isegi siis, kui tuled põlevad. Kuid me tõmbasime just talle villa üle silmade (tegelikult ühe silma) ja teda hoitakse nüüd pimedas. Ja näete, et oleme paigaldanud oma fotoelemendi otse LED -i kõrvale. See väike trikk annab meile teada, millal LED süttib, kuna liikumine oli tuvastatud. Muidugi oleksime võinud sama eesmärgi saavutamiseks juhtme LED -ist juhtida, kuid kus on selles lõbu. Häkkimise juures on lõbus see, et häkkida seda teistest häkkeritest erinevalt, nagu teistegi elektriinseneride puhul. Ja see muudab teie häkkimise tõeliseks originaaliks.
Samm 5: fotoelemendi ahel
Fotoelemendi, näiteks Radio Shackist ostetud, takistus on umbes 50 oomi ilma valguse käes ja umbes 5 k oomi või vähem, kui see puutub kokku ereda valgusega. Niisiis, kui me kasutame fotosilmaga järjestikku takistit, mis on lihtsalt takisti, ja seome need pingeallika ja maandusega, siis on meil pingejagur. Sealt kahe takisti vahele koputamine annab pingesignaali, mis läheb kõrgele või madalale ja mida saab kasutada seadme käivitamiseks. Sel juhul kasutab liikumisandur 3xAA patareid, mis on 4,5 volti. Ja nii on ahel ühendatud mõne muu elektroonika juhtimiseks vajaliku signaaliga. Kui LED on välja lülitatud, on vooluahela signaal umbes 1,7 volti, LED-i sisselülitamisel tõuseb signaal umbes 3,5 voltini, millest piisab mikrokontrolleri käivitamiseks
6. samm: häkkimine kaugjuhtimispuldi täisnuppu
Seal on nupp, mis tähendab, et kuskil on kaks tihvti, mis suletud ahelas panevad kõhupatja oma asja ajama. Nööpnõelad on üsna ilmsed, nii et ma ei näidanud seda osa. Kuid ma puurisin väikese augu ja juhtisin paar juhtmest nööpnõelte juurde. Ja kasutades Radio Shacki 5v pilliroo releed, saan need kaks tihvti ühendada, toites pilliroo relee.
Samm: nüüd keeruka osa jaoks
See pole tegelikult nii keeruline, kui teate natuke elektroonikast, kuid asi on selles, et peate süsteemi aktiveerimiseks kasutama päästiku signaali. Võite kasutada ühe võtte taimerit või võrdlevat taimerit või 555 taimerit, kuid minu jaoks on kõige lihtsam kasutada 8-kontaktilist mikrokontrollerit. Kasutasin PIC Micro 12F675. Sellega saaksin käivitada tihvti sisendi muutmisel ja vilkuda punase LED -iga. Samuti, kui sisse astub 5 inimest, ei taha ma, et asi 15 sekundiks hulluks läheks, seega panin 30 -sekundilise viivituse sisse, et saaksin tapmislülitit vajutada ja selle välja lülitada. Niisiis, ma lihtsalt näen kiirelt ja näitan seadme lõpptulemust. Pange tähele, ma katsin LED-i nii, et endine ülemus ei näeks iga kord, kui ta minu tagasihoidlikku 1/4 kabiini sisse tungis, kergelt põlema. See pilt on lõpptoode. Jätan elektroonika õpilasele harjutuseks. Siin on PIC Micro 12F675 kood:; ************************** *************************************************; Faili nimi: Flatulant_Boss; Protsessor: 12F675; Autor: Alan Mollick (alanmollick.com); Režiim: katkestamine GP2 vahetamisel;; ~ GPIO REGISTRID ~; GP0 = SISEND - n/c; GP1 = OUTPUT - relee; GP2 = SISEND - kõrge = tuvastatud liikumine; GP3 = SISEND - n/c; GP4 = VÄLJUND - punane LED; ****************************************** ********************************** nimekiri p = 12F675; loetelu direktiiv protsessori määratlemiseks#include; protsessorispetsiifilised muutuja definitsiooniderrorlevel -302; summuta sõnum 302 loendifailistCONFIG _CP_OFF & _CPD_OFF & _BODEN_OFF & _MCLRE_OFF & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT; ~ Muutujad ~ w_temp EQU 0x20; muutuja, mida kasutatakse konteksti salvestamiseks status_temp EQU 0x21; muutuja, mida kasutatakse kontekstisäästmiseks hiB EQU 0x21; MSBytelowB EQU 0x22; LSBytetemp EQU 0x23 varu EQU 0x24 temp1 EQU 0x25; päästiku katkestuse lipptemp2 EQU 0x26 viivitus EQU 0x27; viivitusajad EQU 0x28; tihvti olekuteade 1 EQU 0x29pare2 EQU 0x2konto EQU 0x2b; silmuste arv 1 EQU 0x2c; välise silmuse loendur2 EQU 0x2d; välise silmuse loendamine 1 EQU 0x2e; viivitus counterd2 EQU 0x2f; viivitus counterd3 EQU 0x30; viivitus counterd4 EQU 0x31; viivitusloendur; ********************************************** *********************** RESET_VECTOR ORG 0x000; protsessori lähtestamise vektor goto main; mine programmi algusesseINT_VECTOR ORG 0x004; katkestusvektori asukoht movwf w_temp; salvestada praegune W registri sisu movf STATUS, w; teisalda olekuregister W -registrisse movwf status_temp; salvestada STATUS registri sisu; isr -kood kõne motion_dect; saada häiresignaale panga INTCON bcf INTCON, INTF; selge GP2/INT lipp movf status_temp, w; laadida STATUS registri koopia movwf STATUS; taastada ISR-i eelseisundi STATUS registri sisu swapf w_temp, f swapf w_temp, w; ennista isr W-registri sisu taastamine; katkestusest naasmine; ********************************************** ****************** peamine:; põhiprogramm; need esimesed 4 juhist ei ole vajalikud, kui sisemist ostsillaatorit ei kasutata, helistage 0x3FF; tehase kalibreerimisväärtuse hankimine bsf STATUS, RP0; määrake failiregistri panga väärtuseks 1 movwf OSCCAL; uuendage registrit tehase kalleeritud väärtusega bcf STATUS, RP0; määrake failiregistri pank väärtuseks 0; ***********************************;*Initsialiseerimine*; *** ********************************; GP0 = ei kasutata, GP1 = releeväljund, GP2 = sisend (liikumistuvastus),; GP3 = sisend cntrl/hädaseiskamiseks, GP4 = väljund LED -indikaatorile,; GP5 = ei kasutata; seadistage I/O tihvtide suund bankel TRISIO movlw b'00000101 '; xx ------ pole rakendatud; --0 ----- 0 = väljund, GP5 = n/c; --- 0 ---- 0 = väljund, GP4 = LED; ---- x --- ei kasutata, GP3, pühendatud MCLR-le; ----- 1-- 1 = sisend, tuvastatud GP2 liikumine; ------ 0- 0 = väljund, GP1 = solenoidventiil; ------- 1 1 = sisend GP0 = A/D movwf TRISIO; seadistage A/D muunduripank ANSEL movlw b'00010000 '; x ------- rakendamata; -001 ---- 001 = Focs/8 teisenduskell; ---- 0 --- 0 = digitaalne I/O, GP4, Fosc/4 clockout silumise eesmärgil.; ----- 0-- 0 = digitaalne I/O, GP2; ------ 0- 0 = digitaalne I/O, GP1, relee/jne; ------- 0 0 = digitaalne I/O, 1 = analoog GP0 movwf ANSEL banksel ADCON0 movlw b'00000000 '; 0 ------- 1 = õige põhjendatud tulemus; -0 ------ 0 = Vdd on pinge võrdlus; --xx ---- rakendamata; ---- 00-- 00 = valige kanal 0 (GP0); ------ 0- 0 = A/D teisendust ei alustatud; ------- 0 0 = A/D muunduri moodul on välja lülitatud movwf ADCON0; initsialiseerida väljundi pininit bankel GPIO movlw b'00000000 'movwf GPIO; initsialiseerimine katkestab panga INTCON movlw b'00000000 '; 0 ------- 0 = globaalsed katkestused on keelatud; -0 ------ 1 = lubage perifeersed katkestused; --0 ----- 0 = keela TMR0 ülevoolu katkestus; --- 1 ---- 1 = lubage GP2/INT väline katkestus; ---- 0 --- 0 = keela GPIO pordi muutmise katkestus; ----- 0-- 0 = ei TMR0 ülevoolul; ------ 0-1 =; ------- 0 0 = GPIO pordi muutus puudub movwf INTCON; initsialiseeri katkestus tihvtivahetusel GP2 bankel IOC movlw b'00000100 '; x ------- rakendamata; -x ------ pole rakendatud; --0 ----- 0 = keelab GP5; --- 0 ---- 0 = keelab GP4; ---- 0 --- 0 = keelab GP3; ----- 1-- 1 = lubage GP2/INTR *****; ------ 0- 0 = keela GP1; ------- 0 0 = keelab GP0 movwf IOC bankel PIE1 movlw b'00000000 '; 0 ------- 0 = keela EE kirjutamise täielik katkestus; -0 ------ 0 = keelake A/D muunduri katkestus; --xx ---- rakendamata; ---- 0 --- 0 = võrdluskatkestus on keelatud; ----- xx- rakendamata; ------- 0 1 = lubada TMR1 ülevoolu katkestus movwf PIE1 banksel PIR1 movlw b'00000000 '; 0 ------- 0 = EE kirjutamine pole täielik; -0 ------ 0 = A/D konverteerimine pole lõppenud; --xx ---- rakendamata; ---- 0 --- 0 = võrdluskatkestus puudub; ----- xx- rakendamata; ------- 0 0 = puudub TMR1 ülevool movwf PIR1; ********************************** ************************; GP1 = väljund releele; GP4 = väljund LED -ile; ******************************************** ************** banksel INTCON bsf INTCON, INTE; lubage GP2 katkestus bsf INTCON, GIEMain_Loop:; kui GP2 = 1, väljastab häiresignaalid GP1 -l, GP4 -l katkestamise une kaudu nop goto Main_Loop; ******************************* ***************************; Liikumistuvastuse katkestuste käitleja;; GP1 = väljund releele, GP4 = väljund LED -ile; ************************************** ******************** motion_dect: bsf GPIO, 1; pingestada relee 100 msekõne paus_100ms bcf GPIO, 1; relee deaktiveerimine bsf GPIO, 4; aktiveerige LED 0,5 sekundiks. helista pause_500ms bcf GPIO, 4 tagasi; ***************************************** *****************; online viivituskoodi generaator; https://massmind.org/techref/piclist/codegen/delay.htm;******************************* ************************* paus_100 ms:; Viivitus = 0,1 sekundit; Kella sagedus = 4 MHz movlw 0x1F; 99998 tsüklit movwf d1 movlw 0x4F movwf d2Delay_100 decfsz d1, f goto $+2 decfsz d2, f goto Delay_100 goto $+1; 2 tsüklit returnpause_500msec:; Viivitus = 0,5 sekundit; Kella sagedus = 4 MHz movlw 0x03; 499994 tsüklit 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 läks $+1 returnpause_1sec; Viivitus = 1 sekund; Kella sagedus = 4 MHz movlw 0x08; 999997 tsüklit movwf d1 movlw 0x2F movwf d2 movlw 0x03 movwf d3 tagasi; *********************************************** *****************************
8. samm: lõppsõnad
See pilt on üks võimalus kõike varjata.
Märkus - mikrokontrolleri kasutamisel on selle juhendi variatsioonide arv piiramatu. Saate kõlari paigutada nii, et see kõlab ülemuse tagant. Või saate selle siduda ettevõtte PA süsteemiga. Võite isegi lasta süsteemil teie arvutit pingutada ja lasta tööga seotud leht ilmuda 1/10 sekundi jooksul, nii et igal ajal, kui teie endine ülemus või keegi teine teie perimeetrile siseneb, on alati arvutustabel või tehniline dokument mille kallal peaksite töötama. Ja 24/7 … igaüks, kes siseneb teie kabinetti või sealt välja, võib öelda, et teil on nina jahvatuskivini iga päev päevas. See teeb sinust kõrgelt hinnatud töötaja. Sa oled pagana töönarkomaan. Lisaks ei vaja te tegelikult Fresneli objektiivi. Tegelikult on ülemuse tuvastamiseks parem see eemaldada, vastasel juhul panevad inimesed teie kabiinis ringi liikuma. Võite Fresneli objektiivi ära võtta ja panna 1 -tollise tüki PVC torusid (1/2 tolli läbimõõduga Home Depotist) PIR -detektorile ja see annab teile väga kitsa vaatevälja, näiteks otse teie ukseava poole (eeldades teil on uks), kuid andur töötab sama hästi. Selle vahemik on umbes 5-10 jalga ilma Fresneli läätseta. Samuti saate PIR -detektori eemaldada ja kolme juhtme abil saate detektori varjata. Saate isegi osta 6 dollari eest helimooduli ja salvestada oma helisid. Võite kasutada rahvusvahelist signaali "boss läheneb", mis puhastab kurku. Ja saate seda igal hommikul muuta. Või salvestage palavikuliselt trükkimise heli jne. Siin on heliefekt, mille tegin sellest pehmest padjast ja jooksin selle oma arvutisse, redigeerisin selle Audacity abil ja kasutasin seda Easy Buttoni häkkimiseks, mille võin ühel päeval üles panna.
9. samm: variatsioon
Siin on veel üks ülemuse detektor, mis põhineb samal kontseptsioonil. Samuti tahtis keegi videot, nii et panen selle jaoks peagi video üles. Selle detektor on ilmselgelt Robo Sapien, mis on ühendatud Home Depoti liikumisanduriga. Liikumise tuvastamisel saadab robot IR -signaali linnupuuri, kus on peidetud 38 kHz detektor. Linnumehhanismil on mitu võimalust. Kõik valikud on individuaalselt valitavad, kuid kui kõik on sisse lülitatud, hakkab lind vilkuva LED -iga pöörlema, piiksuma. Samuti lisasin selle alla monteeritud ülikerge punase LED -i, mis vilgub neli korda, nii et teate, et keegi tuleb ilma kogu reketita. Sellel on ka 30 sekundiline viivitus ja saate kogu asja lihtsalt pliiatsi tõstes keelata. Pliiatsi otsas on magnet, mis lindude söötjasse sisestamisel võimaldab vooluringi väikese magnetilise pilliroo abil. Ainus tõeline erinevus selles süsteemis on see, et ma ei kasutanud fotoelemendi trikki. Liikumisanduris on quad op-amp ja ma koputasin just viimase etapi väljundpoldi ära. Ostsin apteegipoest mitu sellist linnuasja, sest need olid müügil 5 dollari eest. Seejärel lisasin IR -detektori peitmiseks kive ja taimestikku ning tegin kirsipuust väikese karbi ja lakkisin selle, et peita vajalik AA -patarei. Asi töötab 2 AA patareiga ja on heli aktiveeritud. Muutsin selle heli suhtes vähem tundlikuks ja vajasin lisaaku, sest 38khz detektor, mida kasutasin, vajas vähemalt 4,5 volti, mis tähendab 3 akut. Liikumisandur pandi vooluvõrku pistikupessa, nii et lõikasin suured asjad trükkplaadilt ära ja nüüd töötab see 9 -voldise akuga, mis on paigaldatud sinna, kus lambipirn asus.
Siin on link selle video videole