Talaan ng mga Nilalaman:

Generic Switch Hijacker: 3 Hakbang
Generic Switch Hijacker: 3 Hakbang

Video: Generic Switch Hijacker: 3 Hakbang

Video: Generic Switch Hijacker: 3 Hakbang
Video: breaking anime :3 2024, Hulyo
Anonim
Generic Switch Hijacker
Generic Switch Hijacker

Inilalarawan ng artikulong ito kung paano bumuo ng isang solidong aparato ng microcontroller ng estado na kumokontrol sa mga pisikal na switch. Napakamura upang gumawa ng (4 $ o higit pa), sa pag-aakalang mayroon kang isang programmer ng microcontroller. Ang circuit mismo ay walang gaanong kumplikado.

Ang proyektong ito ay napaka-simple, at hindi nagsasangkot ng mga nakamamanghang bagong mga diskarte. Magsisilbi itong isang mahusay na proyekto ng unang microcontroller. Ang code ng mapagkukunan ng pagpupulong ay ibibigay sa iyo sa artikulong ito. Mayroon akong talagang cool na boss sa trabaho. Minsan, gusto naming maglaro ng mga praktikal na biro sa bawat isa. Sa kasamaang palad para sa kanya, isang siyentista ako. Ang aking layunin dito ay upang gawing misteryosong buksan ang iba't ibang mga aparato sa lugar ng trabaho para sa maikling panahon. Mga radio, maingay na mga printer, kahit na ang mga nakakainis na kard ng kaarawan ng musika na nakatago sa ilang karaniwang bagay. Higit pa rito, ang proyekto ay isang halimbawa ng kung paano mo makokontrol ang mas mabibigat na karga sa isang AVR kaysa sa mga kinalabasan na pin na maaaring harapin ang kanilang sarili. Ito ay isang malawak na pagkakaiba-iba ng mga bagay, dahil ang mga output pin ay bibigyan ka lamang ng isang maliit na boltahe, at napaka-limitadong kasalukuyang. Ang circuit na ito ay maaaring pinalawak na may isang relay upang makontrol ang ilang mga napakabibigat na karga.

Hakbang 1: Disenyo at Circuit

Disenyo at Circuit
Disenyo at Circuit

Para sa proyektong ito, maaari mong gamitin ang halos anumang microcontroller, 5v voltage regulator, at NPN transistor. Ginamit ko:

1x ATtiny26L-8PU (~ 2 $) 1x TL780 5v voltage regulator (~ 0.7 $) 1x N2222 transistor (~ 0.07 $) 1x 9v na baterya, o 12v na remote control na baterya upang makatipid ng puwang … at syempre ang aking mapagkakatiwalaan na STK500, ngayon ay may ZIF dagdag na sockets! Ang pangunahing disenyo ay ito: Ang microcontroller ay dumadaan sa dalawang mga loop ng tiyempo. Isang mahabang loop para sa pagtukoy kung kailan bubukas ang aparato, at isang maikling loop upang matukoy kung gaano katagal panatilihin ang aparato. Kapag oras na upang magdulot ng problema, ang microcontroller ay nagpapadala ng isang lohika na mataas na pin 14 (Pinakaunting Makabuluhang Bit ng PORTA). Pinaputok nito ang transistor. Kung nakakonekta mo ang mga clamp sa mga lead sa isang switch, sanhi ito ng paglaban sa kabuuan ng switch na biglang bumaba mula sa napakataas hanggang sa mas mababa sa 1 ohm, na sapat para sa karamihan sa mga aparato upang isaalang-alang ang switch. Tandaan na ang mga transistors ay diode din, kaya kung hindi ito gumana … ang polarity ng clamp ay maaaring mali, ilipat ang mga ito! Gayundin, nangangailangan ang aparatong ito ng disenteng 9v na baterya, sabihin na may mahigit na 8v potensyal na natitira … bukod sa hindi ito gumagamit ng maraming lakas. Mayroong maraming mga hindi nagamit na mga pin, kaya syempre maaari mong gamitin ang mga ito upang makontrol ang higit pang mga switch para sa mas maraming kaguluhan, ngunit sapat ito para sa aking mga hangarin. Ang susunod na hakbang ay ang source code na isinulat ko upang maganap ang bagay na ito. Ang mga default na haba para sa mga "on" at "off" na estado ay humigit-kumulang 10 segundo at 13 minuto ayon sa pagkakabanggit. Mayroong mga komento sa code kung paano baguhin ang mga halagang ito. Sa wakas, mangyaring patawarin ang malawak na paggamit ng "nop" na pag-andar (gumugugol ito ng isang siklo ng CPU na walang ginagawa) upang mai-tweak ang mga timer. Inelegant ito dahil maaari nitong masira ang pagpapaandar ng rjmp kung hindi ka maingat tungkol sa kung ilan ang iyong ginagamit!

Hakbang 2: Source Code

SIMULA:

. MAGSASAMA ng "tn26def.inc"; Definition file. Google para dito kung kailangan mo ng isang kopya. clr r30 clr r29 clr r28 clr r27 ldi r28, 0b00000000 ldi r27, 0b11111111 ldi r26, 0b00000000 clr r25 out DDRA, r27 out PORTA, r28 TIMER: 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 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 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 nop nop nop nop inc r29 cpi r29, 0b1111113 breq TIMER2 TIMER2: 0 nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop inc r25 cpi r25, 0b11111111; Ibaba ang numerong ito upang bawasan ang "off" time breq FUNC rjmp TIMER FUNC: nop nop cpi r28, 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 nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop cpi r30, 0b11111111 breq TIMER5 rjmp TIMER4 TIMER5: 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; Taasan ang bilang na ito upang madagdagan ang "sa" oras breq FUNC rjmp TIMER4

Hakbang 3: Pangwakas na Tandaan

Magsaya, ngunit tandaan na ang transistor ay may mga limitasyon sa mga tuntunin ng kung magkano ang lakas na maaari mong ibomba sa pamamagitan nito. Nangangahulugan iyon na walang boltahe ng mains! Bukod sa ang katunayan na ito ay labis na mag-overload ng transistor, ang aparato na ito ay hindi makokontrol nang maayos ang mga alternating signal … maliban kung ilalapat mo ang pagbabago na inilarawan sa ibaba * at * magdagdag ng isang relay: Kung ang pag-aalala tungkol sa polarity ng clamp ay nakakainis sa iyo, mag-wire lamang sa isang pangalawang transistor na may ang base plate na konektado sa parehong mapagkukunan tulad ng unang transistor, ngunit kasama ang kolektor at emitter sa kabaligtaran na pagsasaayos. Sa ganoong paraan, hindi mahalaga kung paano mo ikabit ang mga clamp, ang isang mataas na lohika na lalabas sa microcontroller ay palaging "bubuksan" ang switch. Tandaan na ang kasalukuyang tagas sa system na ito ay maaaring sapat upang maisaaktibo ang ilang mga sensitibong switch tulad ng mga keyboard matrice, maaaring kailanganin mong magdagdag ng isang risistor sa serye para sa application na ito. Tandaan na maaari kang makakuha ng lakas mula sa target na aparato sa halip na gumamit ng isang baterya. Sa wakas … na-install ko ang aparato sa loob ng isang sinaunang calculator ng accounting, ang uri na mayroong mga pagpapaandar sa pag-print. In-engineer ko ang keypad matrix gamit ang isang paperclip upang matukoy kung aling mga IC pin kapag nakakonekta ang magiging sanhi ng feed ng papel, at ikinonekta ang tamang mga pin kasama ang aparato. Pagkatapos, hindi ko pinagana ang switch na nagbibigay-daan sa iyo upang patayin ang pag-print na function. Isinasaalang-alang ko ang makina nang maayos na ibinalik. Ito ay nakabukas sa medyo maingay na feed ng papel tuwing 10 minuto, sa loob ng 10 segundo, tuwing nakabukas ang aparato. Gumawa rin ito ng maayos sa circuit mula sa isa sa mga hyper-obnoxious na musical card ng kaarawan. Ang aking lugar ng trabaho ay mas kakaiba ngayon!

Inirerekumendang: