Добър ден, днес се заех с идеята да създам устройство за копиране електронен клавиши като Touch памет или ibuttom. Известен също като "хапчета." Такива ключове, макар и вече доста остарели, бяха заменени от безконтактен Rfid, но все още често се използват за домофони или аларми за взлом. Основата на нашето устройство ще служи Arduino Uno. Можете да използвате всяка друга платка, съвместима с Arduino. За да можете да използвате нашето устройство автономно, без компютър, се нуждаете от захранване от 6 до 12 волта. За да посочим състоянието на устройството, ще използваме графичния екран WG12864B. Имаме нужда и от калъф, в този случай кутията от патрона Sega е перфектна.
За да реализирате тази идея, ще ви трябва:
- Arduino UNO (или Arduino съвместима дъска)
- Графичен екран WG12864B
- Резистор 100 Ohm 0,25 W
- Захранване 6 - 12 V
- Резистор 2,2 KOhm 0,25 W
- Резистор 10 KOhm 0,25 W
- Кутия от патрона на конзолата SEGA
- електрическа лента
- свързващи проводници
- Бутон
- Малко парче от неръждаема стомана
- метални ножици
- канцеларски нож
- поялник
- спойка, колофон
- Двустранна лента
Стъпка 1 Малко за самите клавиши на Ibuttom.
За да стане ясно iButton е просто чип, натъпкан в кръгла кутия от неръждаема стомана. Диаметър на кутията 16.3 мм. Калъфът от неръждаема стомана е устойчив на удар, замърсявания и влага. Стандартът на корпуса се нарича iButton MicroCan. Предлага се в две стандартни дебелини: 3,1 мм (версия F3) и 5,9 мм (версия F5). Микросхемата получава захранване от линията за данни на главното устройство. Диаметърът на капака е еднакъв за всички версии. Следователно една и съща чаша за четене е подходяща за всички. Блок-схема на нашите ключове:
Клавишите са презаписваеми и не. За да направите дубликат, ще ви трябва съответно презаписване. Има 3 версии на тагове: RW1990, TM08v2 и TM-08 VZT F. Те се различават по микросхемата вътре. Най-често срещаният RW1990. Те могат да бъдат закупени на aliexpress или магазин за пожарна аларма.
Стъпка 2 Екран.
Ще използваме течнокристален дисплей с резолюция 128 на 64 пиксела. Повечето от тях работят на ks0107 / ks0108 чипове, така че не трябва да има проблем със съвместимостта. Всички тези екрани могат да бъдат разделени на 4 вида. Различна връзка:
Най-добре е да вземете WG12864B3 V2.0, той може лесно да се намери както в китайски, така и в руски магазини. Възможно е да има няколко вида подсветка, но това по никакъв начин не влияе на функционалността.Има и две опции за връзка: паралелна и серийна. Когато избираме паралелен тип, се нуждаем от 13 безплатни Arduino игли. Изберете последователни. Тук са включени само 3 заключения. И не забравяйте за храненето:
WG12864B - Arduino UNO
1 (GND) - GND
2 (VCC) - + 5V
4 (RS) - 10
5 (R / W) - 11
6 (Д) - 13
15 (PSB) - БНД
19 (BLA) - чрез 100 ома резистор - + 5V
20 (BLK) - БНД
Яркостта на екрана се регулира от потенциометър, разположен на дъската с екрана. Ако е - възможността за регулиране на яркостта липсва, но това рядко се случва:
Използва се съпротивление от 100 ома за намаляване на напрежението за подсветка на екрана. Вмъкваме го в секцията на жицата, която захранва подсветката:
Стъпка 3 Чаша за корпус и четене.
За да нямаме "джигурди" и всичко изглежда нормално, ще започнем производството на случая. Всяка пластмасова кутия, която пасва на Arduino Uno и екрана е перфектна. Най-доброто решение е кутия с патрон.
Изрежете кутията на контура и отстранете филма:
Вземаме чиновнически нож и започваме да изрязваме слотовете. Първо изрежете най-големия в горната част на кутията, размер 37х69. Той е необходим за екрана.
Залепете двустранна лепяща лента вътре в кутията:
Сега сме озадачени от четена чаша. Можете да закупите и използвате готовия. Това е най-лесният вариант. Ще ви покажа как сама да си направите тази чаша. Изрязваме два правоъгълника от неръждаема стомана: 20x20 mm и 20x8 mm:
Правим малък слот в долната част на екрана и вмъкваме по-голям правоъгълник там:
И огънете краищата:
И от обратната страна, ние също правим да поправим отрицателната контактна плоча:
Като плюс, ние също правим слот и вмъкваме положителен контакт в него:
Отвътре контактите изглеждат така:
На залепената по-рано лента закрепваме екрана:
Отвън трябва да е така:
В кутията, под екрана, поставяме Arduino:
Не забравяйте да направите слотове за USB и захранващи жакове:
За да превключвате режимите между четене и запис, извеждайте бутона:
Стъпка 4 Решете проблема с храненето.
За да работи нашето устройство, ние ще му осигурим захранване. За това ни е необходимо захранване. Напрежението трябва да бъде между 6 волта и 12. Щепселът в края трябва да се побере в контакта на Arduino:
Можете да направите без захранване. Можете да захранвате устройството от USB компютър. Ако искате, можете да вземете отделение за 4 батерии тип AAA и да го пъхнете. Тогава пинов изход трябва да бъде свързан към Vin на платката Arduino.
Стъпка 5 Съставяне на всичко заедно.
Чашата за четене е свързана според схемата:
Свързваме положителния контакт на купата с щифт 7, извеждайки го през 2.2K резистор към VCC. Свързваме бутона към щифт 6, издърпвайки 10K резистор към GND.
Стъпка 6 Софтуерна част.
Изтеглете и инсталирайте Arduino IDE с
За работа с Touch памет се използва библиотеката One Wire. Той също трябва да бъде изтеглен и инсталиран в ID на Arduino:
Стартирайте екрана с помощта на библиотеката U8glib:
Без библиотеки компилирането на скица и качването в Arduino няма да успее. Действаме по следните начини: разархивирайте изтеглените архиви и преместете тези файлове в папка, наречена „библиотеки“. Тя може да бъде намерена чрез инсталиране на средата за програмиране.
Изтеглете архива със скицата:
Разопаковайте архива, отворете скицата в Arduino Ide и я попълнете в Arduino.
Стъпка 7 Процесът на копиране на ключове.
Когато включите нашето устройство, на екрана ще се чете „Прочетете“ и универсалния ключ. Този ключ е написан в скицата. Намерих го в Интернет. Лично аз не проверих колко е универсален. Ако това се случи, нашето устройство е готово за употреба:
Прилагаме ключа, който трябва да бъде копиран. Този клавиш трябва да се показва на екрана. Например взех едно от тези, които имам:
Сега натиснете бутона, надписът на екрана трябва да се промени на "Пиши". Ще бъде показан и ключът, който ще бъде записан:
Слагаме таблет, на който ще напишем празен текст, и изчакваме, докато надписът на екрана отново се промени на „Прочетете“. Ако това се случи - записът беше успешен. За да проверите, прикрепете празното отново, устройството трябва да го прочете и да покаже ключа.
Ако искате да напишете универсален ключ, само в самото начало натиснете бутона, когато надписът се промени на „Напиши“, прикрепете празно.
Устройството също така изпраща информация за ключовете и процесите на четене и копиране през серийния порт.Можете да отворите терминала Arduino Ide или всяка друга терминална програма и да наблюдавате процеса на копиране в него.
Универсалният ключ, записан в скицата, може да бъде променен. За да направите това, отворете скицата и редактирайте реда:
байт ReadID [8] = {0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2F};
Но това не е толкова просто. Последният байт е ключовата контролна сума или Cyclic Redundancy Check (CRC). В случая това е 2F. Без тази сума читателите не приемат ключа. CRC се изчислява по специален алгоритъм. Можете сами да намерите и изчислите този алгоритъм, но моля използвайте нашето устройство. Първият байт е семеен код, той трябва винаги да е 01. След това той записва байтовете в низ, който искаме да запишем като универсален ключ. Попълнете скицата. Пишем този ключ на диска и се опитваме да го прочетете обратно, докато отваряме прозореца на терминала. В терминала ще видим нашия ключ в края на CRC. Това е желаната контролна сума. Сега редактирайте скицата отново. Вместо последния байт в същия ред, напишете байта, получен по време на четене след CRC. Отново попълнете скицата и напишете нов ключ на диска. Отворете прозореца на терминала, опитайте се да прочетете нашия ключ. Последният байт на ключа трябва да съвпада с байта, написан след CRC.