Obsah:

Odstrašování vloupání „Sám doma“/ Použijte Attiny13 k řízení krokového motoru a serva: 5 kroků
Odstrašování vloupání „Sám doma“/ Použijte Attiny13 k řízení krokového motoru a serva: 5 kroků

Video: Odstrašování vloupání „Sám doma“/ Použijte Attiny13 k řízení krokového motoru a serva: 5 kroků

Video: Odstrašování vloupání „Sám doma“/ Použijte Attiny13 k řízení krokového motoru a serva: 5 kroků
Video: ODstrašený - JAK SE ŘÍKÁ ODstrašený? #odstrašený (DETERRED - HOW TO SAY DETERRED? #d 2024, Listopad
Anonim
Odstrašování vloupání „Sám doma“/ Použijte Attiny13 k řízení steppermotoru a serva
Odstrašování vloupání „Sám doma“/ Použijte Attiny13 k řízení steppermotoru a serva
Odstrašování vloupání „Sám doma“/ Použijte Attiny13 k řízení steppermotoru a serva
Odstrašování vloupání „Sám doma“/ Použijte Attiny13 k řízení steppermotoru a serva

Může to být zatím jeden z mých nejpodivnějších projektů:-) Ale i když nemáte zájem držet zloděje stranou, tento projekt lze použít pro cokoli, kde potřebujete pohánět krokový motor nebo servomotor, nebo dokonce několik stejnosměrných motorů s Attiny13 Většina z vás si pamatuje film Sám doma, kde se McCauly Calkin snaží předstírat zlodějům, že ve skutečnosti není doma sám, a to tak, že na gramofon položí kartónovou figurku a na jinou kartonovou figurku struny, aby mohl napodobovat lidi. Protože jsem často mimo domov, velmi dobře si uvědomuji, že nechávám svůj dům za sebou, jako by byl stále obsazený. Za tímto účelem jsem dříve publikoval „Simulátor doma“, který přepíná světla ve specifickém vzoru s dostatečnou náhodností, aby to zvládl. vypadat, že je někdo přítomen. Přidal jsem „falešnou televizi“, která vypadá, že hraje televize. Všechny tyto věci pomáhají, ale pokud jde o simulaci přítomnosti, není nic lepšího než skutečný pohyb. Takže jsem potřeboval něco, co se hýbalo, a protože nemám gramofon a chtěl jsem něco, co by fungovalo, když jsem byl pryč, potřeboval jsem něco trochu pevnějšího stavu. Nejzjevnějším způsobem, jak vytvořit dojem z lepenky, by bylo otočit o 90 stupňů, aby střídavě blokovalo světlo a neblokovalo světlo. Nejprve jsem to udělal s levným servem, ale to způsobilo dva problémy: Bylo těžké přidat na nápravu kartonovou figurku, i když ne příliš velkou, a jednou Udělal jsem to, tah by byl na to servo příliš. Silnější servo mělo velmi strmý růst cen, takže jsem začal přemýšlet o „Steppermotoru“. Stále jsem měl jeden, který byl těžký kvůli chladiči připojenému k němu, takže se to zdálo ideální. Program pro otáčení Steppermotoru byl snadno napsán na Arduino, ale přetahování stále způsobovalo trochu problém, protože moje lepenková postava měla velikost lidský trup (asi 80 cm dlouhý). Buď jsem musel vyztužit lepenku, aby byla těžší, nebo jsem ji musel zmenšit. To poslední se zdálo být nejlepším řešením, protože jsem to mohl přiblížit světlu. Celou tu dobu jsem si také pohrával s myšlenkou postavit se. Motory, kladky atd. Mi proletěly hlavou, a přestože jsem se té myšlenky úplně nevzdal, prozatím jsem se rozhodl přidat do kartonové figury malou funkci a tou byla pohyblivá hlava. Mým nápadem bylo, aby se postava otočila o 90 stupňů, takže vrhá plný stín a pak nechává kývnout hlavou. a to je místo, kde moje servo přišlo znovu. Vlastně jsem nechtěl obětovat celé arduino, abych změnil postavu z lepenky. Na druhou stranu jsem hádal, že Attiny13, který jsem měl kolem, by mohl stejně dobře fungovat: 4 piny pro stepper, 1 pin pro servo. to je přesně to, co může Attiny13 nabídnout. Připouštím, že některé věci dokážu být velmi husté, protože jsem přemýšlel o všech možných scénářích, jak provozovat contarpci tak, aby fungovala v určitou dobu, po určitou dobu, protože v ideálním případě jsem chtěl ovládat to z 'At home simulator' jsem zmínil dříve. Takže jsem přemýšlel o drátu nebo bezdrátovém, ale pak Attin13 nebyl nejlepší nápad, protože má problém s Manchestercode a potřeboval jsem pin pro přijímač a citlivost těchto levných přijímačů není tak velká. Už jsem tedy přemýšlel jen o komerčním časovém spínači, ale pak mi došlo, že jsem idiot. Protože ta věc by potřebovala vlastní PSU, proč si nevzít wallwart a dát to do Remote Switch, který jsem už mohl ovládat ze svého simulátoru At Home. Začal jsem tedy stavět svůj finální design.

Levný servopohon Steppermotor Kartonová krabice Attiny13A 8 pinů IC zásuvka A Kus lišty 9 otvorů se 17 otvory Některé prodlužovací kabely pro servo A ULN2003A 16 pinů IC zásuvka A 10 k rezistor Plastová řezací deska (nebo nějaký jiný kus lehkého materiálu) 3 pinový samčí konektor (pro servo) 6kolíková samčí hlavička (pro steppermotor) lepicí páska (samozřejmě)

Navíc: Způsob programování Attiny

Jen poznámka k Steppermotoru. Používám starý 55SI-25DAWC, ale pokud si ho stále musíte koupit, je k dispozici velmi levné kombinace krokového motoru a ovladače: 28BYJ-48. Samotný motor stojí 1,50 EUR, ale za 2 EUR můžete stejný motor získat s deskou řidiče. tak to je dobrý obchod

Krok 1: Konstrukce Cardboard Mana „Sám doma“

„Sám doma“sestrojující Cardboard Mana
„Sám doma“sestrojující Cardboard Mana
„Sám doma“sestrojující Cardboard Mana
„Sám doma“sestrojující Cardboard Mana

Z krabice jsem vystřihl kus 40x20 cm a kousek 18x18. Spojil jsem dva kusy dohromady jako hlavu a trup pomocí lepicí pásky, přičemž mezi oběma kusy zůstala malá mezera, ale překrytá lepicí páskou, aby se vytvořil závěs pro krk. (Obrázky to jasně ukazují) Ze starého prkénka jsem nařezal kousek dlouhý 20 cm, tlustý asi půl cm (tloušťka desky) a široký asi 1,5 cm. 1,5 cm stačilo na osu mého stepperu. pokud máte jiný stepper, pak se ujistěte, že řezaný kus je dostatečně široký pro osu vašeho stepperu. Vyvrtejte díru v úvrati, která by se vešla na moji osu. pak jsem nalepil plast na základnu lepenky „Torso“pod „krkem“jsem si z kusů kartonu postavil držák na servo. Samozřejmě to lze provést úhlovou žehličkou (nebo plastovou), ale to je trochu těžké připevnit k trupu z lepenky, takže jsem použil karton, aby se vešel servo. Přidal jsem rameno k servu vyrobenému z 11 x 0,6 x 0,6 kusu plastu z prkénka a připevnil to k servu. Znovu se podívejte na obrázky, abyste zjistili, jak se to dělá Ačkoli můj stepper byl dostatečně těžký, aby unesl kartonovou figuru, točivý moment a odpor způsobený jeho otáčením způsobily, že motor začal „chodit“kolem, takže jsem vytvořil základovou desku z 24 * 11 cm prkénko. Vyvrtal jsem dva otvory pro připojení krokového motoru a stále mám dostatek prostoru pro ovladač. Přestože se servo otáčí o 180 stupňů, umístil jsem paži tak, aby nevytáhla hlavu úplně rovně. Tímto způsobem snadno spadne zpět, když se servo otočí zpět do polohy 0

Krok 2: Konstrukce ovladače „Sám doma“

Konstrukce ovladače „Sám doma“
Konstrukce ovladače „Sám doma“
Konstrukce ovladače „Sám doma“
Konstrukce ovladače „Sám doma“
Konstrukce ovladače „Sám doma“
Konstrukce ovladače „Sám doma“
Konstrukce ovladače „Sám doma“
Konstrukce ovladače „Sám doma“

Řadič je Attiny13, připojený k ULN2003. Ačkoli v mé verzi jsem použil trochu více kolíků, aby byla deska flexibilnější pro použití v jiných projektech, jediné záhlaví, které potřebujete, jsou 3kolíkové servo záhlaví a 6kolíkové zástrčky pro stepper

Krok 3: „Sám doma“: Software

EDIT 2019 Projekt byl vytvořen na základě kdysi populárního jádra „Smeezekitty“pro Attiny13. Nyní často používaný MicroCore od MCUDude má zjevně problémy s proměnnými v příkazech delayMicroseconds. Pokud používáte ten, nahraďte „delayMicroseconds (300 + p * (2500 /180));“o "zpoždění (5);"

Výše uvedený program ukazuje, jak řídit můj konkrétní stepper a možná budete muset změnit hodnoty zapsané do PORTB, pokud máte anotehr stepper. Protože je Attiny13 v paměti poměrně malý a také neposkytuje příliš mnoho pinů, postrádá program určitou propracovanost. Zápis přímo na PORTB je v pořádku, ale v tomto případě také zapíše „0“do PB4 a PB5. PB5 není velký problém, ale možná budete chtít použít PB4. V mém případě jsem dal servo a to ve skutečnosti nezpůsobuje problém, protože je nepoužívám současně.

Pokud však chcete použít jiný mikrokontrolér, například 328, a chcete se vyhnout zápisu na PB4 a PB5 a PB6 a PB7, použijte masku k zápisu pouze na bit 0-3. K tomu slouží maska B00001111.

Pokud pak chcete nastavit bity bity 0 a 2, postupujte takto:

Místo PORTB = 5 uveďte: PORTB = (PORTB & ~ maska) | (B00000101);

Pro ty, kterým to připadá příliš záhadné:

je to nejprve hodnota PORTB s maskou NOT a NEBO výsledek s hodnotou, kterou chceme zapsat, a přiřadí ji zpět PORTB.

Předpokládejme tedy, že PORTB = 00010000 a chceme do něj zapsat 00000101, nemůžeme to přiřadit hned, protože by se tím vyčistil PB4.

Pokud však uděláme, jak je popsáno, stane se:

PORTB = (PORTB & 11110000) | 00000101

PORTB = (00010000 & 11110000) | 00000101

PORTB = 00010000 | 00000101

PORTB = 00010101

Napsali jsme naši hodnotu a ponechali jsme PB4

Proč tedy nemůžeme okamžitě NEBO PŘÍSTAVIT hodnotu, kterou chceme, místo toho, abychom ji nejprve AND-ing?

Dobře, protože to může ponechat PB4 a PB5 … ale také to ponechá PB3-PB0 beze změny, pokud jeden z nich již obsahoval „1“

Obrácení masky by samozřejmě nebylo nutné, pokud bychom ji definovali již převrácenou, ale je běžnou praxí to udělat takto

Krok 4: Odstrašování vloupání „Sám doma“: Použijte

podívejte se na video, aby to fungovalo (otočilo se o -90 stupňů, omlouváme se)

Záměrem tohoto zařízení je vrhat pohyblivé stíny na závěsy nebo žaluzie. Funguje proto nejlépe se světelnými závěsy. Samotné zařízení by nemělo být zvenčí viditelné. Ujistěte se, že je někde za sebou světelný zdroj. Ovládám jej odesláním RF signálu do dálkového spínače v elektrické zásuvce, která napájí napájecí zdroj pro toto zařízení, ale můžete také použít časovač.

Krok 5: „Sám doma“, co nefungovalo ……

Toto video ukazuje jeden z mých dřívějších experimentů s větším trupem a jednoduchým servem. Očividně to není dobrý design

Doporučuje: