Innehållsförteckning:

Generic Switch Hijacker: 3 steg
Generic Switch Hijacker: 3 steg

Video: Generic Switch Hijacker: 3 steg

Video: Generic Switch Hijacker: 3 steg
Video: breaking anime :3 2024, November
Anonim
Generisk switchkapare
Generisk switchkapare

Den här artikeln beskriver hur man bygger en solid state -mikrokontroller -enhet som styr fysiska switchar. Det är mycket billigt att göra (4 $ eller så), förutsatt att du har en mikrokontroller programmerare. Kretsen i sig är av trivial komplexitet.

Detta projekt är väldigt enkelt och innehåller inga fantastiska nya tekniker. Det skulle fungera som ett bra första mikrokontrollerprojekt. Monteringskällkoden kommer att ges till dig i den här artikeln. Jag har en riktigt cool chef på jobbet. Ibland gillar vi att spela praktiska skämt om varandra. Tyvärr för honom är jag en vetenskapsman. Mitt syfte här är att få olika enheter på arbetsplatsen att slå på mystiskt under korta perioder. Radioer, bullriga skrivare, även de irriterande musikaliska födelsedagskorten gömda i något vanligt föremål. Utöver det är projektet ett exempel på hur du styr tyngre laster med en AVR än vad utgångsstiften klarar av sig själva. Detta är en mängd olika saker, eftersom utgångsstiften bara ger dig en liten spänning och mycket begränsad ström. Denna krets skulle kunna utökas med ett relä för att verkligen styra några mycket tunga laster.

Steg 1: Design och krets

Design och krets
Design och krets

För detta projekt kan du använda nästan alla mikrokontroller, 5v spänningsregulator och NPN -transistor. Jag använde:

1x ATtiny26L-8PU (~ 2 $) 1x TL780 5v spänningsregulator (~ 0.7 $) 1x N2222 transistor (~ 0.07 $) 1x 9v batteri eller 12v fjärrkontrollbatteri för att spara utrymme … och naturligtvis min pålitliga STK500, nu med ZIF uttag tillagda! Den grundläggande designen är följande: Mikrokontrollern går igenom två tidsslingor. En lång slinga för att bestämma när enheten ska slås på och en kort slinga för att avgöra hur länge enheten ska vara på. När det är dags att orsaka problem skickar mikrokontrollern en logik med högt stift 14 (Minsta signifikanta bit PORTA). Detta avfyrar transistorn. Om du har anslutit klämmorna till ledningarna på en omkopplare, orsakar det att motståndet över omkopplaren plötsligt sjunker från mycket högt till mindre än 1 ohm, vilket är tillräckligt för att de flesta enheter ska överväga omkopplaren. Tänk på att transistorer också är dioder, så om det inte fungerar … klämmornas polaritet är förmodligen fel, byt dem! Dessutom kräver denna enhet ett anständigt 9v batteri, säg med över 8v potential kvar … förutom att den inte använder mycket ström. Det finns många oanvända stift, så självklart kan du använda dem för att styra fler omkopplare för mer kaos, men det var tillräckligt för mina syften. Nästa steg är källkoden jag skrev för att få igång det här. Standardlängderna för "på" och "av" är cirka 10 sekunder respektive 13 minuter. Det finns kommentarer i koden om hur man ändrar dessa värden. Slutligen, ursäkta den omfattande användningen av "nop" -funktionen (den använder en CPU -cykel som inte gör någonting) för att justera timern. Det är oelegant eftersom det kan bryta rjmp -funktionen om du inte är försiktig med hur många du använder!

Steg 2: Källkod

START:

. INCLUDE "tn26def.inc"; Definitionsfil. Google för det om du behöver en kopia. 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 nopp nop nop nop nop nop nop nop nop 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 nej nopp nopp nopp nopp nopp nopp nopp nopp nopp nopp nopp nopp nopp nopp nopp nopp nopp napp napp nopp nopp napp napp nipp napp napp napp napp napp napp napp napp napp nopp napp nopp nopp nopp nopp nopp nopp nopp, 0x00 breq FUNC2 december R28 clr R30 clr R29 clr R25 ut PORTA, R28 rjmp TIMER FUNC2: NOP NOP inc R28 ut 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 nop nop nop nop nop nop inc r29 cpi r29, 0b11111 111 breq TIMER6 rjmp TIMER4 TIMER6: inc r25 cpi r25, 0b00000011; Öka detta antal för att öka "på" tiden breq FUNC rjmp TIMER4

Steg 3: Slutnotering

Ha kul, men kom ihåg att transistorn har gränser när det gäller hur mycket kraft du kan pumpa genom den. Det betyder ingen nätspänning! Förutom att det skulle överbelasta transistorn mycket snabbt, kommer den här enheten inte att styra alternerande signaler väl … om du inte tillämpar modifieringen som beskrivs nedan * och * lägger till ett relä: Om du oroar dig för klämpolaritet irriterar du dig bara genom att koppla in en andra transistor med basplattan ansluten till samma källa som den första transistorn, men med kollektorn och sändaren i motsatt konfiguration. På det sättet, oavsett hur du fäster klämmorna, kommer en logisk hög som kommer ut från mikrokontrollern alltid att "slå på" omkopplaren. Tänk på att läckströmmen i detta system kan räcka för att aktivera vissa känsliga omkopplare som tangentbordsmatriser, du kan behöva lägga till ett motstånd i serie för denna applikation. Kom ihåg att du kan ladda ström från målenheten istället för att använda ett batteri. Slutligen … Jag installerade enheten i en gammal bokföringsräknare, den typen som har utskriftsfunktioner. Jag omkonstruerade knappsatsmatrisen med hjälp av ett gem för att avgöra vilka IC-stift vid anslutning som skulle orsaka pappersmatning och kopplade rätt stift tillsammans med enheten. Sedan inaktiverade jag omkopplaren som låter dig stänga av utskriftsfunktionen. Jag anser att maskinen är korrekt undergrävd. Det slår på det ganska bullriga pappersmatningen var 10: e minut, i 10 sekunder, när enheten är på. Det fungerade också bra med kretsen från ett av de hyper-motbjudande musikaliska födelsedagskorten. Min arbetsplats är nu mer bisarr!

Rekommenderad: