Laba diena, šiandien man kilo mintis sukurti įrenginį kopijavimui elektroninis klavišus, tokius kaip Jutiklinė atmintis arba „ibuttom“. Taip pat žinomas kaip „tabletės“. Tokie raktai, nors jau pasenę, buvo pakeisti bekontakčiu „Rfid“, tačiau vis dar dažnai naudojami telefonams ar įsilaužimo signalizacijai. Mūsų prietaiso pagrindas tarnaus Arduino Uno. Galite naudoti bet kurią kitą „Arduino“ suderinamą plokštę. Norint naudotis mūsų prietaisu autonomiškai, be kompiuterio, reikia maitinimo nuo 6 iki 12 voltų. Norėdami nurodyti įrenginio būseną, naudosime WG12864B grafinį ekraną. Mums taip pat reikia dėklo, šiuo atveju dėžutė iš „Sega“ kasetės yra tobula.
Norėdami įgyvendinti šią idėją, jums reikės:
- „Arduino UNO“ (arba „Arduino“ suderinama plokštė)
- WG12864B grafinis ekranas
- Rezistorius 100 omų 0,25 W
- Maitinimas 6 - 12 V
- Rezistorius 2,2 KOhm 0,25 W
- Rezistorius 10 KOhm 0,25 W
- Dėžutė iš SEGA konsolės kasetės
- elektros juosta
- jungiamieji laidai
- Mygtukas
- Mažas nerūdijančio plieno gabalas
- metalinės žirklės
- kanceliarinis peilis
- lituoklis
- Lydmetalis, kanifolija
- dvipusė juosta
1 žingsnis. Trumpai apie pačius „Ibuttom“ raktus.
Kad būtų aiškiau, „iButton“ yra tik mikroschema, įkomponuota į apvalų nerūdijančio plieno korpusą. Korpuso skersmuo 16,3 mm. Nerūdijančio plieno korpusas yra atsparus smūgiams, nešvarumams ir drėgmei. Korpuso standartas vadinamas „iButton MicroCan“. Galimi du standartiniai storiai: 3,1 mm (F3 versija) ir 5,9 mm (F5 versija). Mikroschema gauna energiją iš pagrindinio įrenginio duomenų linijos. Visoms versijoms dangčio skersmuo yra vienodas. Todėl ta pati skaitymo taurė tinka visiems. Mūsų raktų blokinė schema:
Raktai yra perrašomi, o ne. Norėdami pasidaryti dublikatą, turėsite atitinkamai perrašyti. Yra 3 etikečių versijos: RW1990, TM08v2 ir TM-08 VZT F. Jos skiriasi vidine grandine. Labiausiai paplitęs RW1990. Jų galima nusipirkti „aliexpress“ ar priešgaisrinės signalizacijos mažmeninėje parduotuvėje.
2 veiksmas.
Mes naudosime skystųjų kristalų ekraną, kurio skiriamoji geba bus 128 - 64 taškų. Daugelis jų dirba su ks0107 / ks0108 mikroschemomis, todėl suderinamumo problemų neturėtų kilti. Visi šie ekranai gali būti suskirstyti į 4 tipus. Skirtingas ryšys:
Geriausia pasiimti WG12864B3 V2.0, jį galima lengvai rasti tiek Kinijos, tiek Rusijos parduotuvėse. Gali būti keletas foninio apšvietimo tipų, tačiau tai jokiu būdu nedaro įtakos jo funkcionalumui.Taip pat yra dvi jungimo galimybės: lygiagrečiosios ir nuosekliosios. Renkantis lygiagretų tipą, mums reikia 13 nemokamų „Arduino“ kaiščių. Pasirinkite nuoseklųjį. Čia pateikiamos tik 3 išvados. Ir nepamirškite apie mitybą:
WG12864B - „Arduino UNO“
1 (GND) - GND
2 (VCC) - + 5 V
4 (RS) - 10
5 (R / W) - 11
6 (E) - 13
15 (PSB) - GND
19 (BLA) - per 100 omų varžą - + 5 V
20 (BLK) - GND
Ekrano ryškumas reguliuojamas potenciometru, esančiu ant lentos su ekranu. Jei yra - galimybės reguliuoti ryškumą nėra, tačiau taip nutinka retai:
Ekrano foninio apšvietimo įtampai sumažinti naudojama 100 omų varža. Mes įdedame jį į laido, kuris maitina foninį apšvietimą, sekciją:
3 žingsnis Būsto ir skaitymo taurė.
Taigi, jei neturime „dzhigurdy“ ir viskas atrodo normalu, pradėsime gaminti bylą. Bet kuri plastikinė dėžutė, tinkanti „Arduino Uno“ ir ekranui, yra tobula. Geriausias sprendimas yra kasetinė dėžutė.
Iškirpkite kilpos dėžutę ir nuimkite plėvelę:
Mes paimame kanceliarinį peilį ir pradedame išpjauti išpjovas. Pirmiausia iškirpkite didžiausią dėžutės viršuje, dydis 37x69. Jis reikalingas ekranui.
Klijuokite dvipusę lipnią juostą dėžutės viduje:
Dabar mes esame suglumti dėl skaitomos taurės. Galite nusipirkti ir naudoti gatavą. Tai yra lengviausias pasirinkimas. Aš jums parodysiu, kaip pasigaminti šią taurę. Iš nerūdijančio plieno išpjaustėme du stačiakampius: 20x20 mm ir 20x8 mm:
Ekrano apačioje padarome mažą plyšį ir ten įstatome didesnį stačiakampį:
Ir sulenkite kraštus:
Galinėje pusėje mes taip pat nustatome neigiamą kontaktinę plokštę:
Be to, mes darome lizdą ir į jį įdedame teigiamą kontaktą:
Iš vidaus kontaktai atrodo taip:
Ant anksčiau įklijuotos juostos pritvirtiname ekraną:
Išorėje jis turėtų būti toks:
Dėžutėje, žemiau ekrano, mes dedame „Arduino“:
Nepamirškite padaryti lizdų USB ir maitinimo lizdams:
Norėdami perjungti režimus tarp skaitymo ir rašymo, išveskite mygtuką:
4 žingsnis Išspręskite mitybos klausimą.
Kad mūsų prietaisas veiktų, mes jį aprūpinsime. Tam mums reikia maitinimo šaltinio. Įtampa turėtų būti nuo 6 voltų iki 12. Kištukas gale turėtų tilpti į Arduino lizdą:
Galite išsiversti be maitinimo šaltinio. Galite maitinti įrenginį iš USB kompiuterio. Jei norite, galite pasiimti 4 AAA dydžio akumuliatorių skyrių ir susikrauti. Tada kaiščio išvestis turi būti prijungta prie „Arduino“ plokštės vin.
5 žingsnis Viską sudėti.
Skaitymo dubuo yra sujungtas pagal schemą:
Mes sujungiame teigiamą dubenėlio kontaktą su 7 kaiščiu, traukdami jį per 2,2K varžą į VCC. Mes jungiame mygtuką prie 6 kaiščio, traukdami 10K varžą į GND.
6 žingsnis Programinės įrangos dalis.
Atsisiųskite ir įdiekite „Arduino IDE“ naudodami
Norint dirbti su lietimo atmintimi, naudojama „One Wire“ biblioteka. Jį taip pat reikia atsisiųsti ir įdiegti į „Arduino IDE“:
Paleiskite ekraną naudodami „U8glib“ biblioteką:
Jei nebus bibliotekų, sudaryti eskizo ir nusiųsti jį į Arduino nepavyks. Mes elgiamės šiais būdais: išpakuokite atsisiųstus archyvus ir perkelkite šiuos failus į aplanką pavadinimu „bibliotekos“. Tai galima rasti įdiegiant programavimo aplinką.
Atsisiųskite archyvą su eskizu:
Išpakuokite archyvą, atidarykite „Arduino Ide“ eskizą ir užpildykite jį „Arduino“.
7 veiksmas. Raktų kopijavimo procesas.
Kai įjungsite mūsų įrenginį, ekrane pasirodys pranešimas „Skaityti“ ir universalusis klavišas. Šis raktas parašytas eskize. Radau jį internete. Asmeniškai aš netikrinau, koks jis universalus. Tokiu atveju mūsų įrenginys yra paruoštas naudoti:
Mes taikome nukopijuotą raktą. Šis klavišas turėtų būti rodomas ekrane. Pavyzdžiui, aš paėmiau vieną iš tų, kuriuos turiu:
Dabar paspaudžia mygtuką, ekrano užrašas turėtų pasikeisti į „Rašyti“. Taip pat pasirodys raktas, kuris bus įrašytas:
Mes įdėjome planšetinį kompiuterį, ant kurio užrašysime tuščią tekstą, ir laukiame, kol ekrano tekstas vėl pasikeis į „Skaityti“. Jei tai atsitiko - įrašymas buvo sėkmingas. Norėdami patikrinti, vėl pritvirtinkite ruošinį, prietaisas turėtų jį perskaityti ir parodyti raktą.
Jei norite įrašyti universalųjį raktą, tiesiog paspauskite mygtuką pačioje pradžioje, kai užrašas pasikeitė į „Rašyti“, pridėkite tuščią.
Įrenginys per nuoseklųjį prievadą taip pat siunčia informaciją apie raktus ir skaitymo bei kopijavimo procesus.Galite atidaryti „Arduino Ide“ terminalą ar bet kurią kitą terminalo programą ir stebėti joje kopijavimo procesą.
Eskize įrašytą universalųjį raktą galima pakeisti. Norėdami tai padaryti, atidarykite eskizą ir redaguokite eilutę:
baitas ReadID [8] = {0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2F};
Bet tai nėra taip paprasta. Paskutinis baitas yra pagrindinė kontrolinė suma arba Cyclic Redundancy Check (CRC). Šiuo atveju tai yra 2F. Be šios sumos skaitytojai nepriima rakto. CRC apskaičiuojamas specialiu algoritmu. Šį algoritmą galite rasti ir apskaičiuoti patys, tačiau naudokite mūsų įrenginį. Pirmasis baitas yra šeimos kodas, jis visada turi būti 01. Kitas, eilutėje, kurį norime parašyti kaip universalųjį raktą, rašo baitus. Užpildykite eskizą. Rašome šį raktą į diską ir bandome jį perskaityti, kol atidarome terminalo langą. Terminale savo raktą pamatysime CRC pabaigoje. Tai yra norima kontrolinė suma. Dabar dar kartą redaguokite eskizą. Vietoj paskutinio baito toje pačioje eilutėje parašykite baitą, gautą skaitymo metu po CRC. Vėlgi, užpildykite eskizą ir parašykite naują raktą ant disko. Atidarykite terminalo langą, pabandykite perskaityti mūsų raktą. Paskutinis rakto baitas turi atitikti po CRC parašytą baitą.