Magandang hapon, ngayon kinuha ko ang ideya ng paglikha ng isang aparato para sa pagkopya electronic mga susi tulad ng Memorya ng memorya o ibuttom. Kilala rin bilang "tabletas." Ang nasabing mga susi, kahit na napunta na sa lipas na, napalitan sila ng contactless Rfid, ngunit madalas pa ring ginagamit para sa mga intercom o mga alarm ng burglar. Ang batayan ng aming aparato ay magsisilbi Arduino Uno. Maaari mong gamitin ang anumang iba pang mga katugmang board ng Arduino. Upang magamit ang aming aparato nang awtomatikong, nang walang isang computer, kailangan mo ng isang suplay ng kuryente mula 6 hanggang 12 volts. Upang ipahiwatig ang katayuan ng aparato, gagamitin namin ang graphic screen ng WG12864B. Kailangan din namin ng isang kaso, sa kasong ito ang kahon mula sa kartilya ng Sega ay perpekto.
Upang maipatupad ang ideyang ito kakailanganin mo:
- Arduino UNO (O Arduino katugmang board)
- WG12864B graphic screen
- Resistor 100 Ohm 0.25 W
- Ang suplay ng kuryente 6 - 12 V
- Resistor 2.2 KOhm 0.25 W
- Resistor 10 KOhm 0.25 W
- Kahon mula sa kartutso ng SEGA console
- de-koryenteng tape
- pagkonekta ng mga wire
- Button
- Isang maliit na piraso ng hindi kinakalawang na asero
- gunting ng metal
- kutsilyo ng kagamitan
- paghihinang bakal
- Solder, rosin
- Double-panig na tape
Hakbang 1 Medyo tungkol sa mga Ibuttom key mismo.
Upang maging malinaw na iButton ay isang chip na crammed lamang sa isang round na hindi kinakalawang na asero. Diameter ng kaso 16.3 mm. Ang kaso na hindi kinakalawang na asero ay lumalaban sa pagkabigla, dumi at kahalumigmigan. Ang pamantayan sa pabahay ay tinatawag na iButton MicroCan. Magagamit sa dalawang karaniwang kapal: 3.1 mm (bersyon F3) at 5.9 mm (bersyon F5). Ang mikrocircuit ay tumatanggap ng kapangyarihan mula sa linya ng data ng master na aparato. Ang diameter ng takip ay pareho para sa lahat ng mga bersyon. Samakatuwid, ang parehong tasa ng pagbabasa ay angkop para sa lahat. I-block ang diagram ng aming mga susi:
Ang mga susi ay muling isinusulat at hindi. Upang makagawa ng isang duplicate, kakailanganin mo, ayon sa pagkakabanggit, muling pagsulat. Mayroong 3 bersyon ng mga tag: RW1990, TM08v2 at TM-08 VZT F. Naiiba sila sa loob ng microcircuit sa loob. Ang pinaka-karaniwang RW1990. Maaari silang mabili sa aliexpress o isang fire alarm retail store.
Hakbang 2 Screen.
Gumagamit kami ng isang likidong pagpapakita ng kristal, isang resolusyon ng 128 sa pamamagitan ng 64 na mga pixel. Karamihan sa kanila ay nagtatrabaho sa mga ks0107 / ks0108 chips, kaya hindi dapat magkaroon ng isang problema sa pagiging tugma. Ang lahat ng mga screen na ito ay maaaring nahahati sa 4 na uri. Iba't ibang koneksyon:
Pinakamabuting kunin ang WG12864B3 V2.0, madali itong matagpuan sa parehong mga tindahan ng Tsino at Ruso. Maaaring mayroong maraming mga uri ng backlighting, ngunit hindi ito nakakaapekto sa pag-andar sa anumang paraan.Mayroon ding dalawang mga pagpipilian sa koneksyon: kahanay at serial. Kapag pumipili ng isang kahanay na uri, kailangan namin ng 13 libreng mga pin ng Arduino. Pumili ng sunud-sunod. 3 mga konklusyon lamang ang nasangkot dito. At huwag kalimutan ang tungkol sa nutrisyon:
WG12864B - Arduino UNO
1 (GND) - GND
2 (VCC) - + 5V
4 (RS) - 10
5 (R / W) - 11
6 (E) - 13
15 (PSB) - GND
19 (BLA) - sa pamamagitan ng isang 100 Ohm risistor - + 5V
20 (BLK) - GND
Ang ningning ng screen ay kinokontrol ng isang potensyomiter na matatagpuan sa board na may screen. Kung ito ay - ang kakayahang ayusin ang ningning ay wala, ngunit bihirang mangyari ito:
Ang isang pagtutol ng 100 ohms ay ginagamit upang mabawasan ang boltahe para sa backlighting ng screen. Ipinasok namin ito sa seksyon ng kawad na pinapakain ang backlight:
Hakbang 3 Tasa sa pabahay at pagbabasa.
Upang hindi tayo magkaroon ng isang "dzhigurdy", at ang lahat ay mukhang normal, sisimulan natin ang paggawa ng kaso. Ang anumang plastic box na umaangkop sa Arduino Uno at perpekto ang screen. Ang pinakamahusay na solusyon ay isang kahon ng kartutso.
Gupitin ang kahon ng loop at alisin ang pelikula:
Kinuha namin ang isang clerical kutsilyo at nagsisimula na gupitin ang mga puwang. Una, gupitin ang pinakamalaking isa sa tuktok ng kahon, laki 37x69. Ito ay kinakailangan para sa screen.
I-glue ang dobleng panig na malagkit sa loob ng kahon:
Ngayon ay nagtataka kami ng isang mababasa na tasa. Maaari kang bumili at gamitin ang tapos na. Ito ang pinakamadaling pagpipilian. Ipakita ko sa iyo kung paano ko gawin ang aking tasa sa aking sarili. Pinutol namin ang dalawang parihaba mula sa isang hindi kinakalawang na asero: 20x20 mm at 20x8 mm:
Gumagawa kami ng isang maliit na puwang sa ilalim ng screen at magsingit ng isang mas malaking rektanggulo doon:
At yumuko ang mga gilid:
At sa baligtad, ginagawa rin namin upang ayusin ang negatibong plate ng contact:
Para sa karagdagan, gumawa din kami ng isang slot at magsingit ng isang positibong kontak dito:
Mula sa loob, ganito ang hitsura ng mga contact:
Sa nakaraang naka-paste na tape ay ikinakabit namin ang screen:
Sa labas dapat itong ganito:
Sa loob ng kahon, sa ilalim ng screen, inilalagay namin ang Arduino:
Tandaan na gumawa ng mga puwang para sa mga USB at power jacks:
Upang magpalitan ng mga mode sa pagitan ng pagbabasa at pagsulat, i-output ang pindutan:
Hakbang 4 Malutas ang isyu ng nutrisyon.
Upang gumana ang aming aparato, bibigyan namin ito ng kapangyarihan. Para sa mga ito kailangan namin ng isang power supply. Ang boltahe ay dapat na nasa pagitan ng 6 volts at 12. Ang plug sa dulo ay dapat magkasya sa Arduino socket:
Maaari mong gawin nang walang isang suplay ng kuryente. Maaari mong kapangyarihan ang aparato mula sa isang USB computer. Kung nais mo, maaari kang kumuha ng isang kompartimento para sa 4 na mga laki ng baterya ng AAA at ipasok ito. Pagkatapos ang pin output ay dapat na konektado sa Vin ng Arduino board.
Hakbang 5 Pinagsasama-sama ang lahat.
Ang mangkok ng pagbabasa ay konektado ayon sa pamamaraan:
Ikinonekta namin ang positibong contact ng mangkok sa pin 7, hinila ito sa pamamagitan ng 2.2K risistor sa VCC. Ikinonekta namin ang pindutan upang i-pin 6, paghila ng isang 10K risistor sa GND.
Hakbang 6 na bahagi ng Software.
I-download at i-install ang Arduino IDE
Upang gumana sa memorya ng Touch, ginagamit ang library ng One Wire. Kailangan din itong ma-download at mai-install sa Arduino IDE:
Ilunsad ang screen gamit ang U8glib library:
Kung wala ang mga aklatan, ang pag-iipon ng isang sketch at pag-upload nito sa Arduino ay mabibigo. Kumilos kami sa mga sumusunod na paraan: unzip ang nai-download na mga archive at ilipat ang mga file na ito sa isang folder na pinangalanang "mga aklatan". Maaari itong matagpuan sa pamamagitan ng pag-install ng programming environment.
I-download ang archive gamit ang sketch:
I-unblock ang archive, buksan ang sketch sa Arduino Ide at punan ito sa Arduino.
Hakbang 7 Ang proseso ng pagkopya ng mga key.
Kapag binuksan mo ang aming aparato, babasahin ng screen ang "Basahin" at ang unibersal na susi. Ang key na ito ay nakasulat sa sketsa. Nakita ko siya sa Internet. Sa personal, hindi ko nasuri kung paano ito unibersal. Kung nangyari ito, handa nang magamit ang aming aparato:
Inilapat namin ang susi upang makopya. Ang key na ito ay dapat ipakita sa screen. Halimbawa, kinuha ko ang isa sa mga mayroon ako:
Ngayon pinindot ang pindutan, ang inskripsyon sa screen ay dapat magbago sa "Sumulat". Ang susi ay ipapakita rin, na mai-record:
Naglalagay kami ng isang tablet kung saan magsusulat kami ng isang blangko, at maghintay hanggang ang inskripsyon sa screen ay muling magbago sa "Basahin". Kung nangyari ito - matagumpay ang pag-record. Upang suriin, ikabit muli ang blangko, dapat basahin ito ng aparato at ipakita ang susi.
Kung nais mong sumulat ng isang unibersal na susi, sa simula pa lang, pindutin ang pindutan, kapag nagbago ang teksto sa "Sumulat", maglakip ng isang blangko.
Nagpapadala din ang aparato ng impormasyon tungkol sa mga susi at proseso ng pagbasa at pagkopya sa pamamagitan ng serial port.Maaari mong buksan ang Arduino Ide terminal o anumang iba pang terminal program at subaybayan ang proseso ng pagkopya dito.
Ang universal key na naitala sa sketch ay maaaring mabago. Upang gawin ito, buksan ang sketch at i-edit ang linya:
byte ReadID [8] = {0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2F};
Ngunit hindi ito simple. Ang huling byte ay ang susi tseke o Cyclic Redundancy Check (CRC). Sa kasong ito, ito ay 2F. Kung wala ang halagang ito, hindi tinatanggap ng mga mambabasa ang susi. Ang CRC ay kinakalkula ng isang espesyal na algorithm. Maaari mong mahanap at kalkulahin ang algorithm na ito sa iyong sarili, ngunit mangyaring gamitin ang aming aparato. Ang unang byte ay ang code ng pamilya, dapat palaging ito ay 01. Susunod, isinusulat nito ang mga byte sa string na nais naming isulat bilang isang unibersal na susi. Punan ang sketch. Isinulat namin ang key na ito sa disc at subukang basahin ito, habang binubuksan ang window window. Sa terminal, makikita natin ang aming susi sa pagtatapos ng CRC. Ito ang nais na tseke. Ngayon i-edit muli ang sketch. Sa halip na ang huling byte sa parehong linya, isulat ang byte na natanggap sa pagbabasa pagkatapos ng CRC. Muli, punan ang sketch at sumulat ng isang bagong key sa disc. Buksan ang window window, subukang basahin ang aming susi. Ang huling byte ng susi ay dapat tumugma sa byte na nakasulat pagkatapos ng CRC.