Мазмұны:

Cryptap: ритмге негізделген есік құлпы: 5 қадам
Cryptap: ритмге негізделген есік құлпы: 5 қадам

Бейне: Cryptap: ритмге негізделген есік құлпы: 5 қадам

Бейне: Cryptap: ритмге негізделген есік құлпы: 5 қадам
Бейне: Санжар Мади в проекте ER-BATYR: о любви, бунтарстве и праве на ошибки. 2024, Шілде
Anonim
Cryptap: ритмге негізделген есік құлпы
Cryptap: ритмге негізделген есік құлпы
Cryptap: ритмге негізделген есік құлпы
Cryptap: ритмге негізделген есік құлпы
Cryptap: ритмге негізделген есік құлпы
Cryptap: ритмге негізделген есік құлпы

Мен hackaday.com сайтынан көрген бірнеше есіктерді ашатын механизмдерден шабыттанып, өз бетімше жасауды шештім. Бұл екі түймелі интерфейс; біреуі құпия сөзді жіберуді бастау және аяқтау үшін, екіншісі - сіздің құпия сөзіңіздің ырғағын түрту. Сонымен қатар күй шамы бар. Мен мұны соңғы бірнеше айда тазартқан бөлшектерді қолдана отырып, арзан тұрғыза алдым. Маған төлеуге тура келетін жалғыз нәрсе - бұл $ 21 болатын микроконтроллердің өзі (https://www.pjrc.com/teensy/) және менде бұрыннан бар сурет ілулі сым.

Жұлдызды соғыс тақырыбын немесе менің бөлмеме кіру үшін бір нәрсені басу өте қызықты. Енді мен қайтадан бөлмемнен шығып кетемін деп уайымдамаймын! Оның үстіне, бұл жақсы және көңілді сезінеді.

1 -қадам: Бөлшектер мен құралдар

Бөлшектер мен құралдар
Бөлшектер мен құралдар
Бөлшектер мен құралдар
Бөлшектер мен құралдар

Мен Teensy -ді таңдадым, себебі бұл менің бірінші микроконтроллерім, менде әлі бағдарламашы жоқ. Teensy тек A-miniB USB кабелі мен Mac/Windows/Linux үйлесімді ақысыз бағдарламалық қамтамасыз етуді қажет етеді. Сонымен қатар, он алтылық файлды жүктеу өте оңай; жай ғана жинап, Teensy түймесін басыңыз.

Мен үшін бұл жобаның құны $ 21 болды, сонымен қатар суретке ілінетін сым. Көшедегі бөліктер кофе өткізгіштен (реле, жарық диоды, конденсатор) және маршрутизатордан (жарықдиодты, модульдік ұя, қуат ұясы, конденсаторлар) келді. Тегін үлгілер 580 вольтты 580 реттегіш, түймелер мен қосқыш болды. Мен сондай-ақ EE зертханасындағы «сынған бөлшектер» қорабынан көптеген заттарды таптым: банан қосқыштары мен кабель, сым, sn754410 драйвері, төрт істікшелі бастық пен резистор. Менде қуат үшін пайдаланылатын қосымша ноутбук зарядтаушысы мен қойындысы үзілген Apple модем кабелі болды. Басқа жабдықтар: қабырғаға арналған тақта. Мен ыстық желім тапаншасын, дәнекерлегішті, инені және электр бұрғысын қолдандым, олар өте стандартты. Мен қолданған ең ерекше нәрсе - ұзын, икемді ұстау құралы.

2-қадам: бұрыннан бар жабдық

Бұрыннан бар жабдық
Бұрыннан бар жабдық
Бұрыннан бар жабдық
Бұрыннан бар жабдық
Бұрыннан бар жабдық
Бұрыннан бар жабдық
Бұрыннан бар жабдық
Бұрыннан бар жабдық

Маған өте көп қондырғы болғаны үшін бақытты болдым. Менің бөлмеме ADA қол жетімді, әр түрлі құбырлар, электр қораптары және электр есігінің соққысы орнатылған. Қызығушылықпен есік ереуілін алып тастағанда, мен оның қосылмағанын білдім. Есіктің соққысынан менің бөлмемдегі бос қабырға табақшасына дейін құбыр болды, ал сол жақтан сырттағы бос қабырғаға арналған басқа құбыр.

Есіктің ереуілінде жұмыс істеу үшін 24В@3A қажет дейді, бірақ менде 19В, 7.9А қуат көзімен жұмыс істей алдым. Есіктің соққысы поляризацияланған, сондықтан полярлықтың дұрыс екеніне көз жеткізіңіз!

3 -қадам: тізбектер

Схемалар
Схемалар
Схемалар
Схемалар
Схемалар
Схемалар
Схемалар
Схемалар

Есіктің ереуілін бақылау үшін мен кофе перколяторынан тапқан релемді қолдандым. Бұл реле оны басқару үшін 5В -тан жоғары TTL қажет болды, сондықтан sn754410 релені басқаратын TTL -ды 19В -қа аудару үшін қолданылды. Sn754410-бұл шын мәнінде квадрат жарты драйвер, сондықтан мен чиптің 3/4 бөлігін ысырап еттім, бірақ менде ешқандай қуат транзисторы болмады, сондықтан мен солай қолдандым.

Sn754410 микросхемасында екі VCC түйреуіші бар, олардың біреуі 5В, екіншісі - кернеу үшін қажет, ол мен үшін 19В болды. Бұл нағыз керемет чип. Сіз мұны қозғалтқыштар мен релелерді тікелей жүргізу үшін қолдана аласыз, себебі ол әр тоқсанға 1А ауыса алады және кіріктірілген қорғаныс диодтары бар. Мәліметтер парағына назар аударыңыз. Мен өз схемамда sn754410 -ды Teensy -дің шығыс істігіне тікелей қостым. Түймелер активті-төмен ретінде қосылады, бұл микроконтроллерлер үшін өте жиі кездеседі. Олар Teensy -мен тікелей байланысты, демек, мен бағдарламалық жасақтамада дебютті жасауым керек. Күй шамы Teensy -ге 1K Ом резисторы арқылы қосылады; ерекше ештеңе жоқ. Схема конденсаторларсыз жұмыс істеді, бірақ мен оларды кез келген жағдайда салдым. Жерге 19В және 5В электр рельстерінде қорғаныс қақпақтары бар. Teensy бағдарламалау кезінде 5V USB -ден келді, бірақ ол өздігінен жұмыс істегенде, қуат ноутбуктің кірпіштен келеді. Мен 7805 реттегішін 19В тікелей қосқанда, ол шынымен де ыстық болды, сондықтан мен кернеу мен токты реттегішке шектеу үшін резисторлар желісіне қостым. Бұл тұнба еді, бірақ қазір бәрі реттелетін температурада.

4 -қадам: оны бірге қосу

Оны бірге қосу
Оны бірге қосу
Оны бірге қосу
Оны бірге қосу

Teensy -де проблема болмады. Ол түйреуіштермен бірге келеді, сондықтан оны тікелей тақтаға қосуға болады.

Мен зертхананың сынған бөлшектер қорабынан қызыл (+) және қара (-) банан кабельдерімен есікке түсетін сымдарды түрлі түсті кодпен шешуді шештім. Сымдарынан бірнеше штепсельдер кесілген, сондықтан мен дәнекерлеу нүктесін ашу үшін пластмассаны алып тастадым. Маған лабораториялық банан штепсельдерінің бір -біріне қосылуы өте ұнайды. Мен бөлменің сыртындағы түймелер мен күй шамдарын Teensy ішіне жалғау үшін Apple телефонының кабелін қолдандым. Бір жағы сынғандықтан, мен оның ұшын кесіп тастадым және оны ыстық желіммен тығыздап, төрт түйреуіштің жоғарғы жағына дәнекерледім. Бұл менің тақтаға жақсы қосылды. Мен штепсельден шыққан жақ маршрутизатордан алынған модульдік ұяға кірді. Барлық төрт сымдар қолданылды (GND, күй шамы, іске қосу/тоқтату түймесі, код түймесі). Егер сіз байқамасаңыз, маған штепсельдер мен қосқыштар ұнайды. Қуат кірпіші мен маршрутизатордан сығылған қуат ұясына қосылған. Қабырғалық құбырлар арқылы сымдарды бұру өте қиын болған жоқ, себебі икемді ұстағыш. Бұл менің күнімді шынымен құтқарды.

5 -қадам: код

Код
Код
Код
Код

Мен кодты түсіндіруге тырыстым. Есіңізде болсын, бұл 1.0 бағдарламалық жасақтамасы, яғни ол қатесіз емес. ## ПАЙДАЛАНУ ## 1. Сіз кодты енгізуге дайын екеніңізді білдіру үшін бастау/тоқтату түймесін басыңыз. Күй шамы баяу жыпылықтай бастайды. 2. Код батырмасындағы кодты түртіңіз. Күй шамасы 120 BPM -де жыпылықтайды, сондықтан қаласаңыз, оны метроном ретінде пайдалануға болады. Алайда, криптовалюттік бағдарлама бір -біріне қатысты импульстің ұзындығын пропорционалды түрде өлшейді, сондықтан сіз өзіңіздің қарқыныңызды қолдана аласыз. Тек жеткілікті дәл екеніне көз жеткізіңіз! 3. Кодты енгізу аяқталғанда, старт/тоқтату түймесін қайтадан басыңыз. Бағдарлама сізді кіргізу керек пе, жоқ па, соны шешеді. Адамдар уақытты дәл ұстаушылар болмағандықтан (сіздікі емес), мен төзімділік коэффициентін +/- 30%етіп қойдым. Бұл соққының ұзақтығы дәл емес мөлшерде болуы мүмкін дегенді білдіреді және әлі де жиналуы мүмкін. Бұл өте ұқсас әуендердің айырмашылығын айту үшін жеткілікті. Екі және үш еселік соққылардың арасында қол жетпейтін қабаттасудың аз мөлшері бар, бірақ кодты бұзу әлі де қиын. Есіктің құлпын ашу үшін соққылар бір-біріне дұрыс пропорцияда болуы керек (+/- төзімділік коэффициенті), ал соққылар саны дұрыс болуы керек. Егер жарамсыз пароль енгізілсе, бағдарлама бірнеше секунд күтеді, ал пайдаланушының кез келген енгізуін елемейді. Ол сондай -ақ күй шамын тез жыпылықтайды. Егер дұрыс код енгізілсе, күй шамы тұрақты түрде қосылады және есік 8 секундқа ашылады. ## ПАЙДАЛАНУШЫНЫҢ КОНФИГУРАЦИЯСЫ ## Кілт келесі массивте сақталады: #deleine keylength 5 const int key = {2, 1, 3, 3, 3}; // «Туған күніңмен» массив соққылар арасында болатын уақытты сақтайды. Егер сіздің құпия сөзіңізде «Туған күніңмен» сияқты АЛТЫ жазбалар болса, массивте БЕС элемент болуы керек. Егер сіздің құпия сөзіңіз ұзын болса және сізде 16 -дан астам соққы болса, (шынымен қиын, мен ұсынбаймын), сіз осы жолда анықталған санды көбейтуіңіз керек: #deCineLodeCodeLength 16 ## КОД ҚАЛДЫРУЫ # # Мен үзілістерге қызығатынмын, сондықтан менде түйме үзілістері болды. Бұл үзілістерді қолдануды жеңілдету үшін мен үзіліс өңдегіштерінен белгілі бір функция көрсеткіштерін тексердім. Егер көрсеткіш NULL мәніне орнатылмаған болса, ол көрсететін функция шақырылады. Олар cryptap.c ішіндегі әр түрлі «режимді реттеу» функцияларымен орнатылған. Мен енгізілген импульстердің максималды санын орнату арқылы буферлік толып кетулерді болдырмауға тырыстым. Егер импульстердің максималды саны енгізілсе, бағдарлама дереу құпия сөзді талдауды бастайды және есікті ашу керектігін шешеді. Менің кодтағы түсініктемелерім көмектеседі деп үміттенемін. ## ҚАТЕЛІКТЕР ## Мен USB отладка кодын алып тастауға тырыстым, бірақ егер олай істесе, код жұмыс істемейді. Сонымен, мен usb_init () және әр түрлі print () мәлімдемелерін қалдырдым. Егер біреу оларды алып тастап, бағдарламаның жұмысын жалғастыра алса, мен риза болар едім. Егер олар маған бұл жұмыс істемейтінін түсіндіре алса жақсы. Бағдарламаланғаннан кейін бірден Teensy код енгізуді қабылдамайды. Бұл мәселені шешу үшін тізбекті қуатпен айналдырыңыз.

Ұсынылған: