Bună după-amiază, astăzi mi-am luat ideea de a crea un dispozitiv pentru copiere electronic taste precum Touch memory sau ibuttom. Cunoscut și sub denumirea de „pastile”. Astfel de chei, deși deja destul de depășite, au fost înlocuite de Rfid fără contact, dar sunt încă deseori folosite pentru interfoane sau alarme antiefracție. Baza dispozitivului nostru va servi Arduino Uno. Puteți utiliza orice altă placă compatibilă Arduino. Pentru a putea folosi dispozitivul nostru în mod autonom, fără computer, aveți nevoie de o sursă de alimentare de la 6 la 12 volți. Pentru a indica starea dispozitivului, vom folosi ecranul grafic WG12864B. Avem nevoie și de o carcasă, în acest caz cutia din cartușul Sega este perfectă.
Pentru a implementa această idee, veți avea nevoie de:
- Arduino UNO (Sau placa compatibilă Arduino)
- Ecran grafic WG12864B
- Rezistent 100 Ohm 0,25 W
- Sursa de alimentare 6 - 12 V
- Rezistor 2,2 KOhm 0,25 W
- Rezistor 10 KOhm 0,25 W
- Cutie din cartușul consolei SEGA
- banda electrica
- conectarea firelor
- Buton
- O bucată mică de oțel inoxidabil
- foarfece metalice
- cuțit de papetărie
- fier de lipit
- Soldat, colofon
- bandă cu două fețe
Pasul 1 Un pic despre tastele Ibuttom.
Pentru a clarifica iButton este doar un cip fixat într-o carcasă rotundă din oțel inoxidabil. Diametrul carcasei 16,3 mm. Carcasa din oțel inoxidabil este rezistentă la șocuri, murdărie și umiditate. Standardul de carcasă se numește iButton MicroCan. Disponibil în două grosimi standard: 3,1 mm (versiunea F3) și 5,9 mm (versiunea F5). Microcircuitul primește energie de la linia de date a dispozitivului principal. Diametrul capacului este același pentru toate versiunile. Prin urmare, aceeași cană de citit este potrivită pentru toată lumea. Diagrama bloc a cheilor noastre:
Cheile sunt rescriptibile și nu. Pentru a realiza un duplicat, va trebui să rescrieți. Există 3 versiuni de etichete: RW1990, TM08v2 și TM-08 VZT F. Acestea diferă în interiorul microcircuitului. Cel mai comun RW1990. Pot fi cumpărate de la aliexpress sau la un magazin de vânzare cu amănuntul de alarmă împotriva incendiilor.
Ecranul pasului 2
Vom folosi un display cu cristale lichide, o rezoluție de 128 x 64 pixeli. Cele mai multe dintre ele lucrează pe cipuri ks0107 / ks0108, deci nu ar trebui să existe o problemă de compatibilitate. Toate aceste ecrane pot fi împărțite în 4 tipuri. Conectare diferită:
Cel mai bine este să luați WG12864B3 V2.0, acesta poate fi găsit cu ușurință atât în magazinele din China, cât și în cele din Rusia. Pot exista mai multe tipuri de iluminare de fundal, dar aceasta nu afectează în niciun fel funcționalitatea.Există, de asemenea, două opțiuni de conectare: paralel și serial. Atunci când alegem un tip paralel, avem nevoie de 13 pini Arduino liberi. Alegeți secvențial. Aici sunt implicate doar 3 concluzii. Și nu uitați de nutriție:
WG12864B - Arduino UNO
1 (GND) - GND
2 (VCC) - + 5V
4 (RS) - 10
5 (R / W) - 11
6 (E) - 13
15 (PSB) - GND
19 (BLA) - printr-un rezistor de 100 Ohm - + 5V
20 (BLK) - GND
Luminozitatea ecranului este reglată de un potențiometru situat pe tablă cu ecranul. Dacă este - abilitatea de a regla luminozitatea este absentă, dar acest lucru se întâmplă rar:
O rezistență de 100 ohmi este utilizată pentru a reduce tensiunea pentru iluminarea ecranului. Îl introducem în secțiunea sârmei care alimentează lumina de fundal:
Pasul 3 Carcasă și citire.
Pentru a nu avea un „dzhigurdy” și totul pare normal, vom începe fabricarea carcasei. Orice cutie de plastic care se potrivește cu Arduino Uno și ecranului este perfectă. Cea mai bună soluție este o cutie de cartuș.
Tăiați caseta de buclă și îndepărtați filmul:
Ridicăm un cuțit clerical și începem să decupăm sloturile. Mai întâi, tăiați-l pe cel mai mare din partea de sus a cutiei, dimensiunea 37x69. Este necesar pentru ecran.
Adeziv bandă adezivă cu două fețe în interiorul cutiei:
Acum suntem încurcați de o ceașcă lizibilă. Îl puteți cumpăra și utiliza pe cel finalizat. Aceasta este cea mai ușoară opțiune. Îți voi arăta cum să fac eu această pahar. Am decupat două dreptunghiuri dintr-un oțel inoxidabil: 20x20 mm și 20x8 mm:
Facem un mic slot în partea de jos a ecranului și introducem un dreptunghi mai mare acolo:
Și îndoiți marginile:
Și pe partea inversă, facem și pentru a fixa placa de contact negativă:
Pentru plus, creăm și un slot și introducem un contact pozitiv în acesta:
Din interior, contactele arată astfel:
Pe banda lipită anterior fixăm ecranul:
În afara ar trebui să fie așa:
În caseta, sub ecran, plasăm Arduino:
Nu uitați să faceți sloturi pentru mufe USB și alimentare:
Pentru a comuta modurile între citire și scriere, ieșiți butonul:
Pasul 4 Rezolva problema nutriției.
Pentru ca dispozitivul nostru să funcționeze, îl vom furniza cu energie. Pentru aceasta avem nevoie de o sursă de alimentare. Tensiunea trebuie să fie cuprinsă între 6 volți și 12. Ștecherul de la capăt trebuie să se încadreze în priza Arduino:
Puteți face fără o sursă de alimentare. Puteți alimenta dispozitivul de la un computer USB. Dacă doriți, puteți să luați un compartiment pentru 4 baterii de dimensiuni AAA și să le completați. Apoi, ieșirea pinului trebuie să fie conectată la vinul plăcii Arduino.
Pasul 5 Pune totul la un loc.
Bolul de citire este conectat conform schemei:
Conectăm contactul pozitiv al bolului la pinul 7, trăgându-l prin rezistența 2.2K la VCC. Conectăm butonul la pinul 6, trăgând un rezistor de 10K la GND.
Pasul 6 Partea software.
Descărcați și instalați Arduino IDE cu
Pentru a lucra cu memoria Touch, se folosește biblioteca One Wire. De asemenea, trebuie descărcat și instalat în IDE Arduino:
Lansați ecranul folosind biblioteca U8glib:
Fără biblioteci, compilarea unei schițe și încărcarea ei în Arduino nu vor reuși. Acționăm în următoarele moduri: dezarhivați arhivele descărcate și mutați aceste fișiere într-un folder numit „biblioteci”. Poate fi găsit instalând mediul de programare.
Descărcați arhiva cu schița:
Desfaceți arhiva, deschideți schița în Arduino Ide și completați-o în Arduino.
Pasul 7 Procesul de copiere a cheilor.
Când porniți dispozitivul nostru, ecranul va citi „Citiți” și cheia universală. Această cheie este scrisă în schiță. L-am găsit pe Internet. Personal, nu am verificat cât de universal este. Dacă se întâmplă acest lucru, dispozitivul nostru este gata de utilizare:
Aplicăm cheia care trebuie copiată. Această tastă ar trebui să fie afișată pe ecran. De exemplu, am luat unul dintre cele pe care le am:
Apăsați acum butonul, inscripția de pe ecran ar trebui să se schimbe în „Scriere”. Va fi afișată și cheia, care va fi înregistrată:
Punem o tabletă pe care vom scrie un blank și așteptăm până când inscripția de pe ecran se va schimba din nou în „Citiți”. Dacă s-a întâmplat acest lucru - înregistrarea a avut succes. Pentru a verifica, atașați din nou semifabricatul, dispozitivul ar trebui să îl citească și să afișeze cheia.
Dacă doriți să scrieți o cheie universală, tocmai de la început, apăsați butonul, când inscripția este schimbată în „Scrieți”, atașați un semifabricat.
De asemenea, dispozitivul trimite informații despre tastele și procesele de citire și copiere prin portul serial.Puteți deschide terminalul Arduino Ide sau orice alt program de terminal și monitoriza procesul de copiere din acesta.
Cheia universală înregistrată în schiță poate fi modificată. Pentru a face acest lucru, deschideți schița și editați linia:
byte ReadID [8] = {0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2F};
Dar acest lucru nu este atât de simplu. Ultimul octet este cheia de control cheie sau Cyclic Redundancy Check (CRC). În acest caz, este 2F. Fără această sumă, cititorii nu acceptă cheia. CRC este calculat printr-un algoritm special. Puteți găsi și calcula singur acest algoritm, dar vă rugăm să utilizați dispozitivul nostru. Primul octet este codul familiei, trebuie să fie întotdeauna 01. În continuare, scrie octeții în șirul pe care vrem să scriem ca cheie universală. Completați schița. Scriem această cheie pe disc și încercăm să o citim înapoi, în timp ce deschidem fereastra terminalului. În terminal, vom vedea cheia noastră la sfârșitul CRC. Aceasta este suma de control dorită. Acum editați schița din nou. În loc de ultimul octet din aceeași linie, scrieți octetul primit în timpul lecturii după CRC. Din nou, completați schița și scrieți o nouă cheie pe disc. Deschideți fereastra terminalului, încercați să citiți cheia noastră. Ultimul octet al cheii trebuie să corespundă octețului scris după CRC.