God eftermiddag, i dag tog jeg op ideen om at oprette en enhed til kopiering elektronisk taster som berøringshukommelse eller ibuttom. Også kendt som "piller." Selvom sådanne nøgler allerede er ret forældede, blev de erstattet af kontaktløs Rfid, men bruges stadig ofte til intercoms eller indbrudsalarmer. Grundlaget for vores enhed vil tjene Arduino Uno. Du kan bruge ethvert andet Arduino-kompatibelt kort. For at kunne bruge vores enhed autonomt, uden en computer, har du brug for en strømforsyning fra 6 til 12 volt. For at indikere enhedens status bruger vi grafikskærmen WG12864B. Vi har også brug for en sag, i dette tilfælde er kassen fra Sega-patronen perfekt.
For at implementere denne idé skal du:
- Arduino UNO (Eller Arduino-kompatibelt bord)
- WG12864B grafisk skærm
- Modstand 100 Ohm 0,25 W
- Strømforsyning 6 - 12 V
- Modstand 2.2 KOhm 0,25 W
- Modstand 10 KOhm 0,25 W
- Boks fra patronen på SEGA-konsollen
- elektrisk bånd
- tilslutning af ledninger
- Knap
- Et lille stykke rustfrit stål
- metal saks
- brevpapirkniv
- loddejern
- Lodde, kolofonium
- Dobbeltsidet bånd
Trin 1 Lidt om selve Ibuttom-tasterne.
For at gøre det klart, er iButton bare en chip klemt i en rund rustfri stålkasse. Kassediameter 16,3 mm. Rustfrit stål kabinet er modstandsdygtigt over for stød, snavs og fugt. Husstandarden kaldes iButton MicroCan. Fås i to standardtykkelser: 3,1 mm (version F3) og 5,9 mm (version F5). Mikrokredsløbet modtager strøm fra dataanlægget på masterenheden. Dækslets diameter er den samme for alle versioner. Derfor er den samme læsekop velegnet til alle. Blokdiagram over vores nøgler:
Taster er omskrivbare og ikke. For at oprette en duplikat skal du hhv. Omskrives. Der er 3 versioner af tags: RW1990, TM08v2 og TM-08 VZT F. De er forskellige i mikrokredsløb indvendigt. Den mest almindelige RW1990. De kan købes på aliexpress eller en brandalarmforretning.
Trin 2 skærm.
Vi bruger en flydende krystalskærm, en opløsning på 128 x 64 pixels. De fleste af dem fungerer på ks0107 / ks0108-chips, så der skulle ikke være et kompatibilitetsproblem. Alle disse skærme kan opdeles i 4 typer. Forskellig forbindelse:
Det er bedst at tage WG12864B3 V2.0, det kan let findes i både kinesiske og russiske butikker. Der kan være flere typer baggrundsbelysning, men dette påvirker ikke funktionen på nogen måde.Der er også to forbindelsesmuligheder: parallel og seriel. Når vi vælger en parallel type, har vi brug for 13 gratis Arduino-stifter. Vælg sekventiel. Kun tre konklusioner er involveret her. Og glem ikke ernæring:
WG12864B - Arduino UNO
1 (GND) - GND
2 (VCC) - + 5V
4 (RS) - 10
5 (R / W) - 11
6 (E) - 13
15 (PSB) - GND
19 (BLA) - via en 100 Ohm modstand - + 5V
20 (BLK) - GND
Skærmens lysstyrke reguleres af et potentiometer placeret på tavlen med skærmen. Hvis det er - er evnen til at justere lysstyrken fraværende, men dette sker sjældent:
En modstand på 100 ohm bruges til at reducere spændingen til baggrundsbelysning på skærmen. Vi indsætter det i det afsnit af ledningen, der fører baggrundslyset:
Trin 3 Hus og læse kop.
Så vi ikke har en "dzhigurdy", og alt ser normalt ud, begynder vi at fremstille sagen. Enhver plastkasse, der passer til Arduino Uno og skærmen er perfekt. Den bedste løsning er en kassette.
Klip sløjfekassen og fjern filmen:
Vi henter en klerisk kniv og begynder at skære pladerne ud. Skær først den største ud øverst på kassen, størrelse 37x69. Det er nødvendigt for skærmen.
Lim dobbeltklæbende tape inde i kassen:
Nu er vi forundrede over en læsbar kop. Du kan købe og bruge den færdige. Dette er den nemmeste mulighed. Jeg viser dig hvordan man laver denne kop selv. Vi skærer to rektangler ud af rustfrit stål: 20x20 mm og 20x8 mm:
Vi laver en lille slot i bunden af skærmen og indsætter et større rektangel der:
Og bøj kanterne:
Og på bagsiden gør vi også for at fikse den negative kontaktplade:
For plus, laver vi også en slot og indsætter en positiv kontakt i det:
Indefra ser kontakterne sådan ud:
På det tidligere indsatte bånd fastgør vi skærmen:
Udenfor skal det være sådan:
Inde i boksen, under skærmen, placerer vi Arduino:
Husk at lave slots til USB og strømstik:
Udskift knappen for at skifte tilstand mellem læsning og skrivning:
Trin 4 Løs spørgsmålet om ernæring.
For at vores enhed skal fungere, giver vi den strøm. Til dette har vi brug for en strømforsyning. Spændingen skal være mellem 6 volt og 12. Stikket i slutningen skal passe ind i Arduino-stikket:
Du kan undvære en strømforsyning. Du kan tænde for enheden fra en USB-computer. Hvis du vil, kan du tage et rum til 4 AAA-batterier og fylde det i. Derefter skal pinoutgangen tilsluttes Vin på Arduino-tavlen.
Trin 5 Sæt det hele sammen.
Læseskålen er forbundet i henhold til skemaet:
Vi forbinder skålens positive kontakt med pin 7 og trækker den gennem 2.2K modstanden til VCC. Vi forbinder knappen til pin 6 og trækker en 10K modstand til GND.
Trin 6 Softwaredel.
Download og installer Arduino IDE med
For at arbejde med Touch-hukommelse bruges One Wire-biblioteket. Det skal også downloades og installeres i Arduino IDE:
Start skærmen ved hjælp af U8glib-biblioteket:
Uden biblioteker vil kompilering af en skitse og uploade den til Arduino mislykkes. Vi handler på følgende måder: pak de downloadede arkiver ud og flyt disse filer til en mappe med navnet "biblioteker". Det kan findes ved at installere programmeringsmiljøet.
Download arkivet med skitsen:
Pak arkivet ud, åbn skitsen i Arduino Ide og udfyld den i Arduino.
Trin 7 Processen med kopiering af nøgler.
Når du tænder for vores enhed, vil skærmen læse "Læs" og universalnøglen. Denne nøgle er skrevet på tegningen. Jeg fandt ham på Internettet. Personligt har jeg ikke kontrolleret, hvor universel den er. Hvis dette sker, er vores enhed klar til brug:
Vi anvender nøglen, der skal kopieres. Denne tast skal vises på skærmen. For eksempel tog jeg en af dem, jeg har:
Tryk nu på knappen, indskriften på skærmen skal ændres til "Skriv". Tasten vises også, som vil blive optaget:
Vi lægger en tablet, som vi vil skrive en tom, og venter, indtil teksten på skærmen igen skifter til “Læs”. Hvis dette skete - var optagelsen vellykket. For at kontrollere skal du vedhæfte det blanke igen, enheden skal læse det og vise nøglen.
Hvis du vil optage en universaltast, skal du bare trykke på knappen helt i begyndelsen, når inskriptionen ændres til "Skriv", vedhæft en blank.
Enheden sender også information om nøglerne og processerne til læsning og kopiering gennem den serielle port.Du kan åbne Arduino Ide-terminalen eller ethvert andet terminalprogram og overvåge kopieringsprocessen deri.
Den universelle nøgle, der er optaget på skitsen, kan ændres. For at gøre dette skal du åbne skitsen og redigere linjen:
byte ReadID [8] = {0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2F};
Men dette er ikke så enkelt. Den sidste byte er nøglekontrol eller Cyclic Redundancy Check (CRC). I dette tilfælde er det 2F. Uden dette beløb accepterer læserne ikke nøglen. CRC beregnes ved hjælp af en speciel algoritme. Du kan finde og beregne denne algoritme selv, men brug venligst vores enhed. Den første byte er familiekode, den skal altid være 01. Dernæst skriver den byte i den streng, som vi vil skrive som en universalnøgle. Udfyld skitsen. Vi skriver denne nøgle på disken og prøver at læse den tilbage, mens vi åbner terminalvinduet. I terminalen ser vi vores nøgle i slutningen af CRC. Dette er den ønskede kontrolsum. Rediger nu skitsen igen. I stedet for den sidste byte på samme linje, skal du skrive den byte, der blev modtaget under læsning efter CRC. Udfyld igen skitsen og skriv en ny nøgle på disken. Åbn terminalvinduet, prøv at læse vores nøgle. Den sidste byte af nøglen skal matche den byte, der er skrevet efter CRC.