Съдържание:

Противник за взлом „Само вкъщи“/ Използвайте Attiny13 за управление на стъпков двигател и серво: 5 стъпки
Противник за взлом „Само вкъщи“/ Използвайте Attiny13 за управление на стъпков двигател и серво: 5 стъпки

Видео: Противник за взлом „Само вкъщи“/ Използвайте Attiny13 за управление на стъпков двигател и серво: 5 стъпки

Видео: Противник за взлом „Само вкъщи“/ Използвайте Attiny13 за управление на стъпков двигател и серво: 5 стъпки
Видео: Один дома 1990 г. (Ловушки для горе-бандитов)#3 2024, Ноември
Anonim
Противник за взлом „Само вкъщи“/ Използвайте Attiny13, за да управлявате стъпков двигател и серво
Противник за взлом „Само вкъщи“/ Използвайте Attiny13, за да управлявате стъпков двигател и серво
Противник за взлом „Само вкъщи“/ Използвайте Attiny13, за да управлявате стъпков двигател и серво
Противник за взлом „Само вкъщи“/ Използвайте Attiny13, за да управлявате стъпков двигател и серво

Това може да е един от най-странните ми проекти досега:-) Но дори и да не се интересувате да държите крадците далеч, този проект може да се използва за всичко, където трябва да управлявате стъпков двигател или серво мотор, или дори няколко DC двигателя с Attiny13. Повечето от вас ще си спомнят филма Сам вкъщи, където Макколи Калкин се опитва да се преструва на крадците, че всъщност не е сам вкъщи, като поставя картонена фигура върху грамофон и поставя нишки върху друга картонена фигура, за да може да имитира хората Танцувайки. Тъй като често съм далеч от дома, аз съм много съзнателен да напусна дома си, сякаш все още е обитаван. За това по -рано публикувах „Симулатор у дома“, който превключва светлините по определен модел с достатъчно случайност, за да го направи изглежда, че някой присъства. Добавих „Фалшива телевизия“, която изглежда така, сякаш има телевизия. Всички тези неща помагат, но ако става въпрос за симулиране на присъствие, няма нищо по -добро от действителното движение. Така че имах нужда от нещо, което се премести и тъй като нямам грамофон и исках нещо, което може да работи, докато бях отсъствал, имах нужда от нещо малко по -твърдо състояние. Най -очевидният начин да имам картонена фигура, създаваща впечатление за движение да го завъртя на 90 градуса, така че да редува светлината, а не да блокира светлината. Първо направих това с евтино серво, но това създаде два проблема: Беше трудно да се добави картонена фигура, дори не твърде голяма, към оста и веднъж Аз го направих, плъзгането просто би било твърде много за това серво. По -мощното серво имаше много рязко покачване на цените, така че започнах да си мисля „Steppermotor“. Все още имах такъв, който беше тежък поради радиатора, прикрепен към него, така че изглеждаше идеално. Програма за завъртане на Steppermotor беше лесно написана на Arduino, но плъзгането все още причиняваше малко проблем, тъй като картонената ми фигура имаше размерите човешки торс (дълъг около 80 см). Или трябваше да подсиля картона, като го направя по -тежък, или трябваше да го направя по -малък. Последното изглеждаше най -доброто решение, тъй като можех просто да го приближа до светлина. Двигатели, ролки и т.н. ми мина през ума и въпреки че не съм се отказал напълно от тази идея, засега просто реших да добавя малка функция към картонената фигура и това беше движеща се глава. Идеята ми беше фигурата да се обърне на 90 градуса, така че ще хвърли пълна сянка и след това ще накара да кимне с глава. и това е мястото, където моето серво влезе отново. Всъщност не исках да жертвам цял arduino само за да обърна картонена фигура. В контакта предположих, че Attiny13, който имах, може да свърши работата също толкова добре: 4 щифта за степера, 1 щифт за серво. Признавам, че понякога мога да бъда много плътен, защото се сетих за всякакви сценарии за това как да управлявам contarption за работа в определено време, за определено време, защото в идеалния случай исках да контролирам това от „У дома симулатор“, който споменах по -рано. Затова си помислих за проводник или безжичен, но тогава Attin13 не беше най -добрата идея, защото има проблем с Manchestercode и имах нужда от щифт за приемника и чувствителността на тези евтини приемници не е толкова голяма. Така че вече мислех само за комерсиален таймер, но тогава осъзнах, че съм идиот. Тъй като нещото ще се нуждае от собствено захранване, защо да не вземем стена и да го сложа в дистанционен превключвател, който вече мога да контролирам от моя симулатор At Home.

Евтин ServoA Steppermotor Картонена кутия Attiny13A 8 контакта IC гнездо A Парче лента 9 ленти от 17 дупки Някои серво удължителни кабели A ULN2003A 16 пина IC гнездо 10 k резистор Пластмасова дъска за рязане (или някаква друга част от лек материал) 3 пинов мъжки хедър (за серво) 6 -пинов мъжки хедър (за steppermotor) лепена лента (разбира се)

Допълнително: Начин за програмиране на Attiny

Само забележка за Steppermotor. Използвам стар 55SI-25DAWC, но ако все пак трябва да си купите, има много евтина комбинация от стъпков двигател/шофьор: 28BYJ-48. Самият мотор струва 1,50 евро, но срещу 2 евро можете да получите същия двигател с платка за водача. така че това е добра сделка

Стъпка 1: „Сам вкъщи“Конструиране на картонен човек

„Сам вкъщи“Конструиране на картонен човек
„Сам вкъщи“Конструиране на картонен човек
„Сам вкъщи“Конструиране на картонен човек
„Сам вкъщи“Конструиране на картонен човек

От кутия изрязах парче 40х20 см и парче 18х18. Прикрепих двете части заедно като глава и торс, използвайки тиксо, оставяйки малка празнина между двете части, но покрита с тиксо, за да образувам панта за врата. (Снимките правят това много ясно) От старата дъска за рязане изрязах парче с дължина 20 см, дебелина около половин сантиметър (дебелината на дъската) и ширина около 1,5 см. 1,5 см бяха достатъчни, за да се поберат на оста на моето стъпало. ако имате различен степер, уверете се, че парчето, което изрязвате, е достатъчно широко за оста на вашето стъпче. Пробийте мъртва точка на дупката, която да пасне на моята ос. след това залепих пластмасата към основата на картона "Torso" Просто под "шията", от парчета картон изградих държач за моето серво. Разбира се, това може да стане с ъглова ютия (или пластмаса), но това е малко трудно да се прикрепи към картоненото торсче, затова просто използвах картон, за да пасна на серво. Добавих рамо към сервото, направено от 11 x 0,6 x 0,6 парче пластмаса от дъската за рязане и го прикрепих към servo. Отново погледнете снимките, за да видите как става това. Въпреки че моят степер беше достатъчно тежък, за да носи картонена фигура, въртящият момент и съпротивлението, причинено от завъртането му, ще накарат мотора да започне да се разхожда, затова създадох основна плоча от 24 * 11 см дъска за рязане. Пробих два отвора за закрепване на стъпковия двигател и все още има достатъчно място за контролера. Въпреки че сервото се завърта на 180 градуса, позиционирах ръката така, че да не издига главата напълно изправена. По този начин той лесно пада назад, когато серво се върне в позиция 0

Стъпка 2: „Сам вкъщи“Конструиране на контролера

„Сам вкъщи“Конструиране на контролера
„Сам вкъщи“Конструиране на контролера
„Сам вкъщи“Конструиране на контролера
„Сам вкъщи“Конструиране на контролера
„Сам вкъщи“Конструиране на контролера
„Сам вкъщи“Конструиране на контролера
„Сам вкъщи“Конструиране на контролера
„Сам вкъщи“Конструиране на контролера

Контролерът е An Attiny13, прикрепен към ULN2003. Въпреки че в моята версия съм използвал малко повече щифтове, за да направя платката по -гъвкава за използване за други проекти, единствените заглавки, от които се нуждаете, са 3 -пинов мъжки серво -хедър и 6 -пинов мъжки хедър за степера

Стъпка 3: „Сам у дома“: Софтуерът

EDIT 2019 Проектът е направен въз основа на някога популярното ядро „Smeezekitty“за Attiny13. Често използваният сега MicroCore от MCUDude очевидно има проблеми с променливите в инструкциите delayMicroseconds. Ако използвате този, заменете „delayMicroseconds (300 + p * (2500 /180));“чрез "забавяне (5);"

Горната програма показва как да управлявам моя конкретен степер и може да се наложи да промените стойностите, които се записват в PORTB, ако имате anotehr stepper. Тъй като Attiny13 е доста малък в паметта и също така не предоставя твърде много пинове, програмата пропуска известна сложност. Писането директно в PORTB е ОК, но в този случай той също ще запише „0“към PB4 и PB5. PB5 не е голям проблем, но може да искате да използвате PB4. В моя случай това е мястото, където поставям моето серво и това наистина не създава проблем, тъй като не ги използвам едновременно.

Ако обаче искате да използвате друг микроконтролер, като например 328 и искате да избегнете писането в PB4 и PB5 и PB6 и PB7, използвайте маска, за да пишете само в бит 0-3. Маската за това е B00001111.

Ако след това искате да зададете битове битове 0 и 2, направете следното:

Вместо PORTB = 5, посочете: PORTB = (PORTB & ~ маска) | (B00000101);

За тези, които намират това за твърде загадъчно:

първо И стойността на PORTB с НЕ маска и ИЛИ е резултатът със стойността, която искаме да напишем, и възлага това обратно на PORTB.

Така че, да предположим, че PORTB = 00010000 и искаме да му напишем 00000101, не можем да го присвоим веднага, защото това би изчистило PB4.

Ако обаче направим описаното, това става:

PORTB = (PORTB & 11110000) | 00000101

PORTB = (00010000 & 11110000) | 00000101

PORTB = 00010000 | 00000101

PORTB = 00010101

Написахме стойността си и запазихме PB4

И така, защо не можем незабавно ИЛИ ПОРТБИРАНЕ със стойността, която искаме вместо И-първо?

Ами защото това може да запази PB4 и PB5 … но също така запазва PB3-PB0 непроменен, ако един от тях вече съдържа „1“

Разбира се, обръщането на маската не би било необходимо, ако бихме я определили като обърната, но е обичайна практика да се прави като такава

Стъпка 4: Предотвратяване на кражби „Сам вкъщи“: Използвайте

гледайте видеото, за да видите как работи (завъртя се на -90 градуса, съжалявам за това)

Намерението на това устройство е да хвърля движещи се сенки върху завесите или щорите. Затова работи най -добре със светлинни завеси. Самото устройство не трябва да се вижда отвън. Уверете се, че има източник на светлина някъде зад него. Аз го контролирам, като изпращам радиочестотен сигнал към дистанционния превключвател в електрическия контакт, който захранва захранващия блок на стената за това устройство, но можете да използвате и таймер.

Стъпка 5: „Сам вкъщи“Какво не работи ……

Това видео показва един от по -ранните ми експерименти с по -голям торс и просто обикновен серво. Очевидно не е добър дизайн

Препоръчано: