Spisu treści:
- Krok 1: „Sam w domu” konstruuje kartonowego człowieka
- Krok 2: Konstruowanie kontrolera „sam w domu”
- Krok 3: „Sam w domu”: oprogramowanie
- Krok 4: Odstraszanie włamywaczy „sam w domu”: użyj
- Krok 5: „Sam w domu”, co nie zadziałało……
Wideo: Odstraszanie włamywaczy „sam w domu”/ Użyj Attiny13 do napędzania silnika krokowego i serwomechanizmu: 5 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:29
To może być jeden z moich najdziwniejszych projektów:-) Ale nawet jeśli nie jesteś zainteresowany odstraszaniem włamywaczy, ten projekt może być wykorzystany do wszystkiego, gdzie potrzebujesz napędzać silnik krokowy lub serwomotor, a nawet kilka silników prądu stałego z Attiny13. Większość z Was pamięta film Samotnie w domu, w którym McCauly Calkin próbuje udawać włamywaczom, że w rzeczywistości nie jest sam w domu, kładąc kartonową figurkę na gramofonie i nakładając sznurki na inną kartonową figurkę, aby mógł naśladować ludzi. tańczę. Ponieważ często jestem poza domem, jestem bardzo świadomy tego, że zostawiam swój dom tak, jakby był nadal zajęty. W tym celu wcześniej opublikowałem „Symulator w domu”, który włącza światła w określonym schemacie z wystarczającą losowością, aby to zrobić wyglądać, jakby ktoś był obecny. Dodałem „Fałszywy telewizor”, który sprawia, że wygląda na to, że jest włączony telewizor. Wszystkie te rzeczy pomagają, ale jeśli chodzi o symulację obecności, nie ma nic lepszego niż rzeczywisty ruch. Potrzebowałem więc czegoś, co się porusza, a ponieważ nie mam gramofonu i chciałem czegoś, co mogłoby działać podczas mojej nieobecności, potrzebowałem czegoś bardziej solidnego. obrócić go o 90 stopni, żeby na przemian blokował światło i nie blokował światła. Najpierw zrobiłem to z tanim serwo, ale to dało dwa problemy: ciężko było dodać kartonową figurkę nawet nie za dużą, na oś i raz Zrobiłem, opór byłby po prostu za duży dla tego serwa. Mocniejsze serwo miało bardzo gwałtowny wzrost ceny, więc zacząłem myśleć o „silniku krokowym”. Nadal miałem taki, który był ciężki z powodu przymocowanego do niego radiatora, więc wydawał się idealny. Program do włączania silnika krokowego można było łatwo napisać na Arduino, ale przeciąganie nadal powodowało pewien problem, ponieważ moja kartonowa figurka miała rozmiar tułów człowieka (około 80 cm długości). Musiałem albo wzmocnić karton, czyniąc go cięższym, albo musiałem go zmniejszyć. To ostatnie wydawało się najlepszym rozwiązaniem, ponieważ mogłem po prostu zbliżyć go do światła. Przez cały ten czas bawiłem się też myślą, aby postać wstała. Silniki, koła pasowe itp. przyszły mi do głowy i chociaż nie zrezygnowałem całkowicie z tego pomysłu, na razie postanowiłem po prostu dodać małą cechę do tekturowej figurki i była to ruchoma głowa. Moim pomysłem było obrócenie figury o 90 stopni, więc rzucał pełny cień, a potem kiwał głową. i tu znowu pojawiło się moje serwo. Właściwie nie chciałem poświęcać całego arduino tylko po to, by obrócić tekturową figurkę. Wręcz przeciwnie, domyśliłem się, że Attiny13, który miałem w pobliżu, poradzi sobie równie dobrze: 4 piny do steppera, 1 pin do serwa. dokładnie to ma do zaoferowania Attiny13. Przyznaję, że czasami potrafię być bardzo gęsty, bo myślałem o wszelkiego rodzaju scenariuszach, jak operować contarption, aby działał w określonym czasie, na określony czas bo idealnie chciałem sterować to z „w domu symulatora”, o którym wspomniałem wcześniej. Myślałem więc o przewodowym, czy bezprzewodowym, ale wtedy Attin13 nie był najlepszym pomysłem, bo ma problem z Manchestercode i potrzebowałem pinu do odbiornika, a czułość tych tanich odbiorników nie jest świetna. Myślałem więc już o komercyjnym wyłączniku czasowym, ale potem zdałem sobie sprawę, że jestem idiotą. Ponieważ urządzenie potrzebowałoby własnego zasilacza, dlaczego nie wziąć ściennego i umieścić go w zdalnym przełączniku, który mógłbym już kontrolować z mojego symulatora At Home. Zacząłem więc tworzyć ostateczny projekt. BOM
Tani serwoSilnik krokowy Kartonowe pudełko Attiny13 8-pinowe gniazdo IC Kawałek stripboardu 9 pasków po 17 otworówPrzedłużacze do serwaA ULN2003A 16-pinowe gniazdo IC Rezystor 10 kPłytka do krojenia z tworzywa sztucznego (lub inny kawałek lekkiego materiału)3 pinowe złącze męskie (do serwa) 6-pinowe złącze męskie (do silnika krokowego)taśma klejąca (oczywiście)
Dodatkowo: sposób na zaprogramowanie Attiny
Tylko uwaga na temat silnika krokowego. Używam starego 55SI-25DAWC, ale jeśli nadal musisz go kupić, jest dostępna bardzo tania kombinacja silnika krokowego/sterownika: 28BYJ-48. Sam silnik kosztuje 1,50 euro, ale za 2 euro można kupić ten sam silnik z płytą sterowniczą. więc to jest dobra okazja
Krok 1: „Sam w domu” konstruuje kartonowego człowieka
Z pudełka wyciąłem kawałek 40x20 cm i kawałek 18x18. Połączyłem te dwa kawałki razem jako głowę i tułów, używając taśmy klejącej, pozostawiając niewielką przerwę między dwoma kawałkami, ale zakrytą taśmą klejącą, aby utworzyć zawias na szyję. (Zdjęcia pokazują to bardzo wyraźnie) Ze starej deski do krojenia wyciąłem kawałek o długości 20 cm, grubości około pół cm (grubość deski) i szerokości około 1,5 cm. 1,5 cm wystarczyło na oś mojego steppera. jeśli masz inny stepper, to upewnij się, że wycięty kawałek jest wystarczająco szeroki dla osi twojego stepera. Wywierciłem otwór w martwym punkcie, który pasowałby do mojej osi. Następnie przykleiłem plastik do podstawy kartonowego 'Torso'Wystarczy pod 'szyją' z kawałków tektury zbudowałem uchwyt na moje serwo. Oczywiście można to zrobić za pomocą kątownika (lub plastiku), ale jest to trochę trudne do przymocowania do tekturowego torsu, więc po prostu użyłem tektury, aby dopasować serwo. Dodałem ramię do serwa wykonane z kawałka plastiku o wymiarach 11 x 0,6 x 0,6 z deski do krojenia i przymocowałem je do serwa. Ponownie spójrz na zdjęcia, aby zobaczyć, jak to się robi. Chociaż mój stepper był wystarczająco ciężki, aby unieść kartonową figurę, moment obrotowy i opór spowodowany jego obracaniem sprawiłyby, że silnik zacząłby „chodzić” dookoła, więc stworzyłem płytę podstawy z 24*11 cm deski do krojenia. Wywierciłem dwa otwory do zamocowania silnika krokowego i nadal mam dużo miejsca na sterownik. Mimo że serwo obraca się o 180 stopni, ustawiłem ramię tak, aby nie ustawiało głowy całkowicie prosto. W ten sposób łatwo cofa się, gdy serwo powraca do pozycji 0
Krok 2: Konstruowanie kontrolera „sam w domu”
Kontrolerem jest An Attiny13, podłączony do ULN2003. Chociaż w mojej wersji użyłem nieco więcej pinów, aby płyta była bardziej elastyczna do wykorzystania w innych projektach, jedyne potrzebne nagłówki to 3-pinowa męska głowica serwo i 6-pinowa męska głowica do steppera
Krok 3: „Sam w domu”: oprogramowanie
EDIT 2019 Projekt powstał na bazie popularnego niegdyś rdzenia „Smeezekitty” dla Attiny13. Obecnie często używany MicroCore z MCUDude najwyraźniej ma problemy ze zmiennymi w instrukcjach delayMicroseconds. Jeśli używasz tego, zastąp "delayMicroseconds(300 + p * (2500 / 180));" przez "opóźnienie(5);"
Powyższy program pokazuje, jak sterować moim konkretnym stepperem i być może będziesz musiał zmienić wartości zapisywane w PORTB, jeśli masz inny stepper. Ponieważ Attiny13 jest raczej mały w pamięci, a także nie zapewnia zbyt wielu pinów, programowi brakuje pewnego wyrafinowania. Pisanie bezpośrednio do PORTB jest w porządku, ale w tym przypadku zapisze również „0” do PB4 i PB5. PB5 nie stanowi większego problemu, ale możesz użyć PB4. W moim przypadku to jest miejsce, w którym umieszczam moje serwo i to tak naprawdę nie powoduje problemu, ponieważ nie używam ich w tym samym czasie.
Jednakże, jeśli chcesz użyć innego mikrokontrolera, takiego jak 328 i chcesz uniknąć zapisu do PB4 i PB5 oraz PB6 i PB7, użyj maski do zapisu tylko do bitu 0-3. Maska do tego celu to B00001111.
Jeśli chcesz następnie ustawić bity 0 i 2, postępuj w ten sposób:
Zamiast PORTB=5 wpisz: PORTB=(PORTB &~maska) | (B00000101);
Dla tych, którzy uważają to za zbyt tajemnicze:
najpierw tworzy AND wartość PORTB z maską NOT, a OR jest wynikiem z wartością, którą chcemy zapisać, i przypisuje ją z powrotem do PORTB.
Załóżmy więc, że PORTB= 00010000 i chcemy do niego wpisać 00000101, nie możemy tego natychmiast przypisać, ponieważ to wyczyściłoby PB4.
Jeśli jednak zrobimy tak, jak opisano, staje się:
PORTB=(PORTB i 11110000) | 00000101
PORTB=(00010000 & 11110000) | 00000101
PORTB=00010000 | 00000101
PORTB= 00010101
Zapisaliśmy naszą wartość i zachowaliśmy PB4
Dlaczego więc nie możemy natychmiast OR PORTB z wartością, którą chcemy, zamiast ORAZ ją najpierw?
Cóż, ponieważ może to zachować PB4 i PB5… ale utrzymuje również PB3-PB0 niezmienione, jeśli jeden z nich zawiera już „1”
Oczywiście odwrócenie maski nie byłoby konieczne, gdybyśmy zdefiniowali ją już jako odwróconą, ale powszechną praktyką jest robienie tego jako takiego
Krok 4: Odstraszanie włamywaczy „sam w domu”: użyj
obejrzyj film, aby zobaczyć, jak działa (obrócił się o 90 stopni, przepraszam za to)
Intencją tego urządzenia jest rzucanie ruchomych cieni na zasłony lub rolety. Dlatego najlepiej współpracuje z kurtynami świetlnymi. Samo urządzenie nie powinno być widoczne z zewnątrz. Upewnij się, że gdzieś za nim jest źródło światła. Kontroluję go, wysyłając sygnał RF do zdalnego włącznika w gniazdku sieciowym, który zasila zasilacz ścienny dla tego urządzenia, ale możesz też użyć timera.
Krok 5: „Sam w domu”, co nie zadziałało……
Ten film pokazuje jeden z moich wcześniejszych eksperymentów z większym torsem i prostym serwomechanizmem. Oczywiście nie jest to dobry projekt
Zalecana:
Podnoszenie silnika krokowego sterowanego podczerwienią: 15 kroków
Sterowany na podczerwień podnośnik silnika krokowego: Musiałem zautomatyzować podnoszenie dużego obrazu, który ukrywa telewizor zamontowany nad kominkiem. Obraz jest zamontowany na niestandardowej przesuwnej stalowej ramie, która wykorzystuje liny, krążki i przeciwwagi, dzięki czemu można go podnieść ręcznie. W teorii brzmi to dobrze, ale w tym
Raspberry Pi, Python i sterownik silnika krokowego TB6600: 9 kroków
Raspberry Pi, Python i sterownik silnika krokowego TB6600: Ten Instruktaż postępuje zgodnie z krokami, które podjąłem, aby podłączyć Raspberry Pi 3b do sterownika silnika krokowego TB6600, zasilacza 24 VDC i 6-przewodowego silnika krokowego. Prawdopodobnie jestem jak wielu z was i przypadkiem mam „torbę do chwytania”; pozostałego par
Użyj silnika krokowego jako enkodera obrotowego: 9 kroków (ze zdjęciami)
Użyj silnika krokowego jako enkodera obrotowego: Enkodery obrotowe doskonale nadają się do stosowania w projektach mikrokontrolerów jako urządzenie wejściowe, ale ich wydajność nie jest zbyt płynna i zadowalająca. Poza tym, mając dużo zapasowych silników krokowych, postanowiłem nadać im cel. Więc jeśli masz trochę steppera
Używanie timera 556 do napędzania silnika krokowego: 5 kroków
Korzystanie z timera 556 do napędzania silnika krokowego: Ta instrukcja wyjaśnia, w jaki sposób zegar 556 może napędzać silnik krokowy. Dla tego obwodu nie jest potrzebny żaden kod
Jak używać silnika krokowego jako enkodera obrotowego i wyświetlacza OLED dla kroków: 6 kroków
Jak używać silnika krokowego jako enkodera obrotowego i wyświetlacza OLED dla kroków: W tym samouczku dowiemy się, jak śledzić kroki silnika krokowego na wyświetlaczu OLED. Obejrzyj film demonstracyjny.Kredyt samouczka oryginalnego trafia do użytkownika YouTube „sky4fly”