Dzień dobry, dzisiaj wpadłem na pomysł stworzenia urządzenia do kopiowania elektroniczny klawisze takie jak pamięć dotykowa lub ibuttom. Znany również jako „pigułki”. Takie klucze, choć już nieaktualne, zostały zastąpione bezdotykowym Rfid, ale nadal są często używane w domofonach lub alarmach antywłamaniowych. Podstawa naszego urządzenia będzie służyć Arduino Nie Możesz użyć dowolnej innej płyty kompatybilnej z Arduino. Aby móc korzystać z naszego urządzenia autonomicznie, bez komputera, potrzebujesz zasilacza od 6 do 12 woltów. Aby wskazać status urządzenia, użyjemy ekranu graficznego WG12864B. Potrzebujemy również skrzynki, w tym przypadku pudełko z kasety Sega jest idealne.
Aby wdrożyć ten pomysł, potrzebujesz:
- Arduino UNO (lub płyta kompatybilna z Arduino)
- Ekran graficzny WG12864B
- Rezystor 100 Ohm 0,25 W.
- Zasilacz 6 - 12 V.
- Rezystor 2,2 KOhm 0,25 W.
- Rezystor 10 KOhm 0,25 W.
- Pudełko z kasety konsoli SEGA
- taśma elektryczna
- przewody łączące
- Przycisk
- Mały kawałek stali nierdzewnej
- nożyczki metalowe
- nóż biurowy
- lutownica
- Lut, kalafonia
- Taśma dwustronna
Krok 1 Trochę o samych kluczach Ibuttom.
Aby to wyjaśnić, iButton to po prostu chip wtłoczony w okrągłą obudowę ze stali nierdzewnej. Średnica koperty 16,3 mm. Obudowa ze stali nierdzewnej jest odporna na wstrząsy, brud i wilgoć. Standard obudowy nazywa się iButton MicroCan. Dostępne w dwóch standardowych grubościach: 3,1 mm (wersja F3) i 5,9 mm (wersja F5). Mikroukład otrzymuje energię z linii danych urządzenia nadrzędnego. Średnica pokrywy jest taka sama dla wszystkich wersji. Dlatego ten sam kubek do czytania jest odpowiedni dla wszystkich. Schemat blokowy naszych kluczy:
Klucze są wielokrotnego zapisu i nie. Aby utworzyć duplikat, będziesz potrzebować odpowiednio wielokrotnego zapisu. Istnieją 3 wersje tagów: RW1990, TM08v2 i TM-08 VZT F. Różnią się one wewnątrz mikroukładu. Najczęstszy RW1990. Można je kupić na aliexpress lub w sklepie detalicznym z alarmem przeciwpożarowym.
Krok 2 Ekran.
Użyjemy wyświetlacza ciekłokrystalicznego o rozdzielczości 128 na 64 piksele. Większość z nich działa na układach ks0107 / ks0108, więc nie powinno być problemu z kompatybilnością. Wszystkie te ekrany można podzielić na 4 typy. Różne połączenie:
Najlepiej jest wziąć WG12864B3 V2.0, można go łatwo znaleźć zarówno w chińskich, jak i rosyjskich sklepach. Może istnieć kilka rodzajów podświetlenia, ale nie wpływa to w żaden sposób na funkcjonalność.Istnieją również dwie opcje połączenia: równoległy i szeregowy. Przy wyborze typu równoległego potrzebujemy 13 wolnych pinów Arduino. Wybierz sekwencyjny. Dotyczy to tylko 3 wniosków. I nie zapomnij o odżywianiu:
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) - przez rezystor 100 omów - + 5 V.
20 (BLK) - GND
Jasność ekranu jest regulowana za pomocą potencjometru umieszczonego na płycie z ekranem. Jeśli tak, nie ma możliwości regulacji jasności, ale rzadko się to zdarza:
Rezystancja 100 omów służy do obniżenia napięcia podświetlenia ekranu. Wkładamy go do odcinka drutu, który zasila podświetlenie:
Krok 3 Obudowa i kubek do czytania.
Abyśmy nie mieli „dzhigurdy” i wszystko wyglądało normalnie, rozpoczniemy produkcję skrzynki. Każde plastikowe pudełko, które pasuje do Arduino Uno i ekranu jest idealne. Najlepszym rozwiązaniem jest pudełko z nabojami.
Wytnij pudełko z pętlą i usuń folię:
Podnosimy nóż biurowy i zaczynamy wycinać szczeliny. Najpierw wytnij największy na górze pudełka o wymiarach 37x69. Jest potrzebny do ekranu.
Przyklej dwustronną taśmę samoprzylepną do pudełka:
Teraz zastanawia nas czytelny kubek. Możesz kupić i użyć gotowego. To najłatwiejsza opcja. Pokażę ci, jak sam zrobić ten kubek. Wycinamy dwa prostokąty ze stali nierdzewnej: 20 x 20 mm i 20 x 8 mm:
Wykonujemy mały otwór u dołu ekranu i wstawiamy tam większy prostokąt:
I zegnij krawędzie:
Z drugiej strony wykonujemy również naprawę ujemnej płytki kontaktowej:
Na plus tworzymy również szczelinę i wstawiamy do niej pozytywny kontakt:
Od wewnątrz kontakty wyglądają tak:
Na poprzednio wklejonej taśmie mocujemy ekran:
Na zewnątrz powinno być tak:
Wewnątrz pudełka, pod ekranem, umieszczamy Arduino:
Pamiętaj, aby zrobić gniazda dla gniazd USB i zasilania:
Aby przełączać tryby między czytaniem a pisaniem, naciśnij przycisk:
Krok 4 Rozwiąż problem żywienia.
Aby nasze urządzenie działało, zapewnimy mu moc. Do tego potrzebujemy zasilacza. Napięcie powinno wynosić od 6 woltów do 12. Wtyczka na końcu powinna pasować do gniazda Arduino:
Możesz obejść się bez zasilacza. Możesz zasilać urządzenie z komputera USB. Jeśli chcesz, możesz wziąć schowek na 4 baterie AAA i włożyć go. Następnie wyjście pinowe należy podłączyć do płyty Vin Arduino.
Krok 5 Złóż to wszystko razem.
Miska do czytania jest podłączona zgodnie ze schematem:
Podłączamy styk dodatni miski do styku 7, przeciągając go przez rezystor 2,2 K do VCC. Podłączamy przycisk do pinu 6, ciągnąc rezystor 10K do GND.
Krok 6 Część oprogramowania.
Pobierz i zainstaluj Arduino IDE z
Do pracy z pamięcią dotykową używana jest biblioteka One Wire. Należy go również pobrać i zainstalować w Arduino IDE:
Uruchom ekran za pomocą biblioteki U8glib:
Bez bibliotek kompilacja szkicu i przesłanie go do Arduino zakończy się niepowodzeniem. Działamy w następujący sposób: rozpakuj pobrane archiwa i przenieś te pliki do folderu o nazwie „biblioteki”. Można go znaleźć, instalując środowisko programistyczne.
Pobierz archiwum ze szkicem:
Rozpakuj archiwum, otwórz szkic w Arduino Ide i wypełnij go w Arduino.
Krok 7 Proces kopiowania kluczy.
Po włączeniu naszego urządzenia na ekranie pojawi się komunikat „Odczyt” i klawisz uniwersalny. Ten klucz jest zapisany w szkicu. Znalazłem go w Internecie. Osobiście nie sprawdziłem, jak uniwersalny. Jeśli tak się stanie, nasze urządzenie jest gotowe do użycia:
Stosujemy klucz do skopiowania. Ten klucz powinien zostać wyświetlony na ekranie. Na przykład wziąłem jeden z tych, które mam:
Teraz naciska przycisk, napis na ekranie powinien zmienić się na „Zapis”. Wyświetlony zostanie również klucz, który zostanie nagrany:
Kładziemy tablet, na którym napiszemy puste miejsce i czekamy, aż napis na ekranie ponownie zmieni się na „Czytaj”. Jeśli tak się stanie - nagranie zakończyło się powodzeniem. Aby to sprawdzić, ponownie dołącz puste miejsce, urządzenie powinno je odczytać i wyświetlić klucz.
Jeśli chcesz napisać klucz uniwersalny, na samym początku naciśnij przycisk, gdy napis zmieni się na „Zapis”, dołącz puste miejsce.
Urządzenie wysyła również informacje o kluczach oraz procesach odczytu i kopiowania przez port szeregowy.Możesz otworzyć terminal Arduino Ide lub dowolny inny program terminalowy i monitorować w nim proces kopiowania.
Klawisz uniwersalny zarejestrowany w szkicu można zmienić. Aby to zrobić, otwórz szkic i edytuj linię:
bajt ReadID [8] = {0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2F};
Ale to nie jest takie proste. Ostatni bajt to kluczowa suma kontrolna lub cykliczna kontrola nadmiarowa (CRC). W tym przypadku jest to 2F. Bez tej kwoty czytelnicy nie akceptują klucza. CRC oblicza się za pomocą specjalnego algorytmu. Możesz samodzielnie znaleźć i obliczyć ten algorytm, ale skorzystaj z naszego urządzenia. Pierwszy bajt to kod rodziny, zawsze powinien mieć wartość 01. Następnie zapisuje bajty w ciągu, który chcemy zapisać jako klucz uniwersalny. Wypełnij szkic. Zapisujemy ten klucz na dysku i próbujemy go odczytać ponownie, otwierając okno terminala. W terminalu zobaczymy nasz klucz na końcu CRC. Jest to pożądana suma kontrolna. Teraz ponownie edytuj szkic. Zamiast ostatniego bajtu w tym samym wierszu, napisz bajt otrzymany podczas odczytu po CRC. Ponownie wypełnij szkic i napisz nowy klucz na dysku. Otwórz okno terminala, spróbuj przeczytać nasz klucz. Ostatni bajt klucza musi być zgodny z bajtem zapisanym po CRC.