Innholdsfortegnelse:

Generic Switch Hijacker: 3 trinn
Generic Switch Hijacker: 3 trinn

Video: Generic Switch Hijacker: 3 trinn

Video: Generic Switch Hijacker: 3 trinn
Video: breaking anime :3 2024, November
Anonim
Generic Switch Hijacker
Generic Switch Hijacker

Denne artikkelen beskriver hvordan du bygger en solid state mikrokontroller enhet som styrer fysiske brytere. Det er veldig billig å lage (4 $ eller så), forutsatt at du har en mikrokontrollerprogrammerer. Selve kretsen er av triviell kompleksitet.

Dette prosjektet er veldig enkelt, og innebærer ingen fantastiske nye teknikker. Det ville tjene som et godt første mikrokontrollerprosjekt. Monteringskildekoden vil bli gitt deg i denne artikkelen. Jeg har en veldig kul sjef på jobben. Noen ganger liker vi å spille praktiske vitser om hverandre. Dessverre for ham er jeg en forsker. Mitt formål her er å få forskjellige enheter på arbeidsplassen til å slå på mystisk i korte perioder. Radioer, støyende skrivere, til og med de irriterende musikalske bursdagskortene som er gjemt i et vanlig objekt. Utover det er prosjektet et eksempel på hvordan du kontrollerer tyngre belastninger med en AVR enn utgangspinnene kan håndtere seg selv. Dette er et stort utvalg ting, siden utgangspinnene bare gir deg en liten spenning og svært begrenset strøm. Denne kretsen kan utvides med et relé for å kontrollere noen veldig tunge belastninger.

Trinn 1: Design og krets

Design og krets
Design og krets

For dette prosjektet kan du bruke nesten hvilken som helst mikrokontroller, 5v spenningsregulator og NPN -transistor. Jeg brukte:

1x ATtiny26L-8PU (~ 2 $) 1x TL780 5v spenningsregulator (~ 0.7 $) 1x N2222 transistor (~ 0.07 $) 1x 9v batteri, eller 12v fjernkontrollbatteri for å spare plass … og selvfølgelig min pålitelige STK500, nå med ZIF stikkontakter lagt til! Den grunnleggende designen er denne: Mikrokontrolleren går gjennom to tidssløyfer. En lang sløyfe for å bestemme når enheten skal slås på, og en kort sløyfe for å bestemme hvor lenge enheten skal holdes på. Når det er på tide å forårsake problemer, sender mikrokontrolleren en logikk high out pin 14 (Least Significant Bit of PORTA). Dette avfyrer transistoren. Hvis du har koblet klemmene til ledningene på en bryter, fører det til at motstanden over bryteren plutselig faller fra veldig høy til mindre enn 1 ohm, noe som er nok for de fleste enheter å vurdere bryteren på. Husk at transistorer også er dioder, så hvis det ikke fungerer … er polariteten til klemmene sannsynligvis feil, bytt dem! Denne enheten krever også et anstendig 9v batteri, si med over 8v potensial igjen … annet enn at den ikke bruker mye strøm. Det er mange ubrukte pinner, så selvfølgelig kan du bruke dem til å kontrollere flere brytere for mer kaos, men dette var tilstrekkelig for mine formål. Det neste trinnet er kildekoden jeg skrev for å få dette til å gå. Standardlengdene for tilstandene "på" og "av" er henholdsvis omtrent 10 sekunder og 13 minutter. Det er kommentarer i koden om hvordan du endrer disse verdiene. Til slutt, unnskyld den omfattende bruken av "nop" -funksjonen (den bruker en CPU -syklus som ikke gjør noe) for å justere timerne. Det er uelegant siden det kan bryte rjmp -funksjonen hvis du ikke er forsiktig med hvor mange du bruker!

Trinn 2: Kildekode

START:

. INCLUDE "tn26def.inc"; Definisjonsfil. Google for det hvis du trenger en kopi. clr r30 clr r29 clr r28 clr r27 ldi r28, 0b00000000 ldi r27, 0b11111111 ldi r26, 0b00000000 clr r25 ut DDRA, r27 ut PORTA, r28 TIMER: inc r30 nop nop nop nop nop nop nop nopp nop nop nop nop cpi r30, 0b11111111 breq TIMER2 rjmp TIMER TIMER2: nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop inc r29 cpi r29, 0b11113 nipp nipp nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop, 0x00 breq FUNC2 dec r28 clr r30 clr r29 clr r25 out PORTA, r28 rjmp TIMER FUNC2: nop nop inc r28 out PORTA, r28 clr r25 clr r30 clr r29 rjmp TIMER4 TIMER4: inc r30 nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop inc r29 cpi r29, 0b11111 111 breq TIMER6 rjmp TIMER4 TIMER6: inkl. R25 cpi r25, 0b00000011; Øk dette tallet for å øke "på" tid breq FUNC rjmp TIMER4

Trinn 3: Sluttnotat

Ha det gøy, men husk at transistoren har grenser når det gjelder hvor mye kraft du kan pumpe gjennom den. Det betyr ingen nettspenning! I tillegg til at det ville overbelaste transistoren veldig raskt, vil denne enheten ikke styre alternerende signaler godt … med mindre du bruker modifikasjonen beskrevet nedenfor * og * legger til et relé: Hvis du bekymrer deg for klemmepolaritet, er det bare å koble til en andre transistor med bunnplaten koblet til samme kilde som den første transistoren, men med kollektoren og emitteren i motsatt konfigurasjon. På den måten, uansett hvordan du fester klemmene, vil en logisk høy som kommer ut av mikrokontrolleren alltid "slå på" bryteren. Husk at lekkasjestrømmen i dette systemet kan være nok til å aktivere noen sensitive brytere som tastaturmatriser. Du må kanskje legge til en motstand i serie for denne applikasjonen. Husk at du kan tømme strøm fra målenheten i stedet for å bruke et batteri. Til slutt … Jeg installerte enheten inne i en gammel regnskapskalkulator, typen som har utskriftsfunksjoner. Jeg ombygde tastaturmatrisen ved hjelp av et binders for å avgjøre hvilke IC-pinner ved tilkobling som ville forårsake papirmating, og koblet de riktige pinnene sammen med enheten. Deretter deaktiverte jeg bryteren som lar deg slå av utskriftsfunksjonen. Jeg anser maskinen som undergravd. Den slår på den ganske støyende papirmating hvert 10. minutt, i 10 sekunder, når enheten er på. Den fungerte også godt med kretsen fra et av de hyper-motbydelige musikalske bursdagskortene. Min arbeidsplass er nå mer bisarr!

Anbefalt: