Sadržaj:
- Korak 1: 'Sam kod kuće' Konstrukcija čovjeka od kartona
- Korak 2: 'Sam kod kuće' Konstrukcija kontrolera
- Korak 3: 'Sam kod kuće': softver
- Korak 4: Odvraćanje od provale „Sam kod kuće“: Upotreba
- Korak 5: „Sam kod kuće“Šta nije uspjelo ……
Video: Odvraćajući provalnik „Sam kod kuće“/ Koristite Attiny13 za vožnju koračnim motorom i servo pogonom: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:06
Ovo bi mogao biti jedan od mojih najčudnijih projekata do sada:-) Ali čak i ako niste zainteresirani za držanje provalnika, ovaj se projekt može koristiti za bilo što gdje trebate voziti steppermotor ili servo motor, ili čak nekoliko istosmjernih motora s Attiny13. Većina vas će se sjetiti filma Sam kod kuće, gdje McCauly Calkin pokušava glumiti provalnike da zapravo nije sam kod kuće, stavljajući kartonsku figuru na gramofon i stavljajući žice na drugu kartonsku figuru kako bi mogao imitirati ljude plešući. Kako sam često odsutan od kuće, vrlo sam svjestan da ostavim svoju kuću kao da je još uvijek zaposlena. Za to sam ranije objavio "Simulator kod kuće" koji prebacuje svjetla na određeni uzorak sa dovoljno nasumičnosti da to učini izgledati kao da je neko prisutan. Dodao sam 'Lažni TV' koji čini da izgleda kao da se svira televizor. Sve ove stvari pomažu, ali ako je u pitanju simulacija prisutnosti nema ništa bolje od stvarnog kretanja. Tako da mi je trebalo nešto što se pomaknulo, a kako nemam uređaj za snimanje ploča i htio sam nešto što bi moglo raditi dok sam bio odsutan, trebalo mi je nešto čvrsto stanje. Najočitiji način da kartonska figura stvara dojam kretanja bio bi okrenuti ga za 90 stupnjeva kako bi naizmjenično blokirao svjetlo, a ne blokirao svjetlo. Prvo sam to učinio sa jeftinim servom, ali to je dalo dva problema: bilo je teško dodati osovinu od kartona, čak i ne preveliku, i jednom Jesam, otpor bi jednostavno bio prevelik za taj servo. Snažniji servo pogon imao je vrlo visok rast cijena pa sam počeo razmišljati o "Steppermotoru". Još sam imao jedan koji je bio težak zbog rashladnog elementa pričvršćenog na njega pa se činilo idealnim. Program za okretanje Steppermotora lako je napisan na Arduinu, ali je povlačenje i dalje stvaralo mali problem jer je moja kartonska figura bila veličine ljudski torzo (dugačak oko 80 cm). Morao sam ili ojačati karton, čineći ga težim, ili sam morao smanjiti. Činilo se da je ovo drugo najbolje rješenje jer sam ga samo mogao približiti svjetlu. Cijelo to vrijeme sam se također igrao s mišlju da imam figuru u stojećem položaju. Motori, remenice itd. Su mi prošli kroz glavu i iako nisam potpuno odustao od te ideje, za sada sam samo odlučio dodati malu značajku kartonskoj figuri, a to je bila pokretna glava. Moja ideja je bila da se brojka okrene za 90 stupnjeva, pa bi bacio punu senku, a onda bi klimnuo glavom. i tu se moj servo ponovno pojavio. Zapravo nisam želio žrtvovati cijeli arduino samo da okrenem kartonsku figuru. Na kontaktu sam pretpostavljao da bi Attiny13 koji sam imao okolo mogao obaviti posao jednako dobro: 4 pina za steper, 1 pin za servo. to je upravo ono što Attiny13 može ponuditi. Priznajem da ponekad mogu biti vrlo gust jer sam razmišljao o svim vrstama scenarija kako upravljati kontarpcijom tako da radi u određeno vrijeme, u određeno vrijeme jer sam idealno želio kontrolirati to iz 'Simulatora kod kuće' koji sam ranije spomenuo. Pa sam razmišljao o žici ili bežičnoj, ali tada Attin13 nije bila najbolja ideja jer ima problem s Manchestercodeom i trebao mi je pin za prijemnik, a osjetljivost tih jeftinih prijemnika nije tako velika. Pa sam već razmišljao samo o komercijalnom prekidaču timera, ali onda sam shvatio da sam idiot. Kako bi stvar trebala vlastiti PSU, zašto ne uzeti zidni zid i staviti ga u daljinski prekidač kojim sam već mogao upravljati sa svog simulatora At Home. Pa sam počeo graditi svoj konačni dizajn. BOM
Jeftini ServoA SteppermotorA kartonska kutijaAttiny13An 8 pinova IC utičniceA komad kartona 9 traka sa 17 rupa Neki servo produžni kabeliA ULN2003A 16 pinova IC utičniceA 10 k otpornikPlastična daska za rezanje (ili neki drugi komad lakog materijala) 3 -polno muško zaglavlje (za servo) 6 -polno muško zaglavlje (za steppermotor) ljepljiva traka (naravno)
Dodatno: Način programiranja Attiny
Samo primjedba na Steppermotor. Koristim stari 55SI-25DAWC, ali ako ga još morate kupiti, na raspolaganju je vrlo jeftina kombinacija koračnih motora/vozača: 28BYJ-48. Sam motor košta 1,50 eura, ali za 2 eura možete dobiti isti motor sa pločom za vozače. tako da je to dobar posao
Korak 1: 'Sam kod kuće' Konstrukcija čovjeka od kartona
Iz kutije sam izrezao komad 40x20 cm i komad 18x18. Spojio sam dva dijela zajedno kao glavu i torzo, koristeći ljepljivu traku, ostavljajući mali razmak između dva dijela, ali prekriven ljepljivom trakom, kako bih formirao šarke za vrat. (Slike jasno pokazuju ovo) Sa stare daske za rezanje izrezao sam komad dugačak 20 cm, debljine oko pola cm (debljine ploče) i širine oko 1,5 cm. 1,5 cm je bilo dovoljno da stane na osovinu moga stepera. ako imate drugi steper, provjerite je li komad koji ste izrezali dovoljno širok za osovinu vašeg stepera. Izbušili ste mrtvu točku rupe koja bi odgovarala mojoj osovini. tada sam zalijepio plastiku na podnožje kartona "Torzo" Samo ispod 'vrata', od komada kartona izgradio sam držač za svoj servo. Naravno, to se može učiniti pomoću kutne pegle (ili plastike), ali to je malo teško pričvrstiti na kartonski torzo, pa sam samo upotrijebio karton za uklapanje u servo. Dodao sam ruku servo pogonu od 11 x 0,6 x 0,6 komada plastike sa daske za rezanje i pričvrstio je na servo. Ponovo pogledajte slike da vidite kako se to radi. Iako je moj steper bio dovoljno težak da nosi kartonsku figuru, okretni moment i zatezanje uzrokovano okretanjem učinili bi da motor počne 'hodati' okolo, pa sam napravio osnovnu ploču od 24 * 11 cm daske za rezanje. Izbušio sam dvije rupe za pričvršćivanje koračnog motora i još uvijek imam dovoljno prostora za kontroler. Iako se servo okreće za 180 stupnjeva, postavio sam ruku tako da ne postavlja glavu ravno. Na taj način lako pada nazad kada se servo vrati u položaj 0
Korak 2: 'Sam kod kuće' Konstrukcija kontrolera
Kontroler je An Attiny13, priključen na ULN2003. Iako sam u svojoj verziji koristio malo više pinova kako bih ploču učinio fleksibilnijom za upotrebu u drugim projektima, jedina zaglavlja koja su vam potrebna su 3 -polno muško servo zaglavlje i 6 -polno muško zaglavlje za steper
Korak 3: 'Sam kod kuće': softver
EDIT 2019 Projekat je napravljen na osnovu nekada popularnog 'Smeezekitty' jezgra za Attiny13. Sada često korišteni MicroCore iz MCUDudea očigledno ima problema s varijablama u naredbama delayMicroseconds. Ako koristite taj, zamijenite "delayMicroseconds (300 + p * (2500 /180));" po "delay (5);"
Gornji program pokazuje kako voziti moj određeni steper i možda ćete morati promijeniti vrijednosti koje se pišu u PORTB ako imate anotehr steper. Kako je Attiny13 prilično mali u memoriji i ne pruža previše pinova, programu nedostaje određena sofisticiranost. Pisanje izravno na PORTB je u redu, ali u ovom slučaju će napisati i “0” na PB4 i PB5. PB5 nije veliki problem, ali možda ćete htjeti koristiti PB4. U mom slučaju tu sam stavio svoj servo i to zaista ne stvara problem jer ih ne koristim istovremeno.
Međutim, ako želite koristiti drugi mikrokontroler, poput 328, a želite izbjeći pisanje u PB4 i PB5 i PB6 i PB7, koristite masku samo za pisanje u bit 0-3. Maska za to je B00001111.
Ako tada želite postaviti bitove 0 i 2, postupite ovako:
Umjesto PORTB = 5, navedite: PORTB = (PORTB & ~ maska) | (B00000101);
Za one kojima je ovo previše zagonetno:
prvo I daje vrijednost PORTB -a sa NOT maskom i OR je rezultat s vrijednošću koju želimo zapisati i dodjeljuje to natrag PORTB -u.
Dakle, pretpostavimo da je PORTB = 00010000 i da mu želimo upisati 00000101, ne možemo to odmah dodijeliti jer bi to obrisalo PB4.
Međutim, ako učinimo kako je opisano, postaje:
PORTB = (PORTB & 11110000) | 00000101
PORTB = (00010000 & 11110000) | 00000101
PORTB = 00010000 | 00000101
PORTB = 00010101
Upisali smo svoju vrijednost i zadržali PB4
Pa, zašto ne možemo odmah ILI PORTBIRATI željenu vrijednost umjesto toga da je prvo I-INGIRAMO?
Pa zato što bi to moglo zadržati PB4 i PB5 … ali također zadržava PB3-PB0 nepromijenjenim ako je jedan od njih već sadržavao "1"
Naravno da preokretanje maske ne bi bilo potrebno ako bismo je definirali već obrnutu, ali uobičajena je praksa da se to radi kao takva
Korak 4: Odvraćanje od provale „Sam kod kuće“: Upotreba
pogledajte video da vidite kako radi (rotirano je -90 stepeni, žao mi je zbog toga)
Namjera ovog uređaja je baciti pokretne sjene na zavjese ili rolete. Stoga najbolje funkcionira sa svjetlosnim zavjesama. Sam uređaj ne bi trebao biti vidljiv izvana. Provjerite ima li izvor svjetlosti negdje iza sebe. Kontroliram ga slanjem RF signala na daljinski prekidač u utičnici koji napaja zidnu naponsku jedinicu za ovaj uređaj, ali možete koristiti i mjerač vremena.
Korak 5: „Sam kod kuće“Šta nije uspjelo ……
Ovaj video prikazuje jedan od mojih ranijih eksperimenata s većim torzom i jednostavnim servo pogonom. Očigledno nije dobar dizajn
Preporučuje se:
Upravljanje koračnim motorom: 5 koraka
Upravljanje koračnim motorom: Ovaj vodič vrijedi i ako koristimo Arduino i oboje koristeći Drivemall ploču ispod veze za izgradnju Drivemall -a. Prednost davanja prednosti Drivemall -u u odnosu na klasičnu Arduino ploču je smanjenje složenosti veza
Koračni motor upravljanim koračnim motorom bez mikrokontrolera!: 6 koraka
Koračni motor sa koračnim motorom bez mikrokontrolera !: U ovom kratkom uputstvu za izradu, napravit ćemo jednostavan kontroler koračnog motora pomoću koračnog motora. Ovaj projekt ne zahtijeva složena kola niti mikrokontroler. Dakle, bez daljnjih odlaganja, počnimo
Koračni motor s koračnim motorom bez mikrokontrolera (V2): 9 koraka (sa slikama)
Koračni motor sa koračnim motorom bez mikrokontrolera (V2): U jednom od mojih prethodnih instrukcija, pokazao sam vam kako upravljati koračnim motorom pomoću koračnog motora bez mikrokontrolera. Bio je to brz i zabavan projekt, ali došao je s dva problema koja će se riješiti u ovom Instructable -u. Dakle, pamet
Korištenje mjerača vremena 556 za upravljanje koračnim motorom: 5 koraka
Korištenje mjerača vremena 556 za pogon koračnog motora: Ova instrukcija će objasniti kako tajmer 556 može upravljati koračnim motorom. Za ovaj krug nije potreban kôd
Ponovno koristite dodirnu ploču starog prijenosnog računara za upravljanje koračnim motorom: 11 koraka (sa slikama)
Ponovno koristite dodirnu ploču starog prijenosnog računara za upravljanje koračnim motorom: Napravio sam ovaj projekt prije nekoliko mjeseci. Prije nekoliko dana, postavio sam video zapis projekta na r/Arduinu na Redditu. Vidjevši da se ljudi zanimaju za projekt, odlučio sam napraviti ovaj Instructable gdje sam napravio neke izmjene u Arduino kodu i