Kazalo:

Odvračilni ukrep proti vlomu 'Sam doma'/ Uporabite Attiny13 za vožnjo z motorjem s koračnimi motorji in servo motorjem: 5 korakov
Odvračilni ukrep proti vlomu 'Sam doma'/ Uporabite Attiny13 za vožnjo z motorjem s koračnimi motorji in servo motorjem: 5 korakov

Video: Odvračilni ukrep proti vlomu 'Sam doma'/ Uporabite Attiny13 za vožnjo z motorjem s koračnimi motorji in servo motorjem: 5 korakov

Video: Odvračilni ukrep proti vlomu 'Sam doma'/ Uporabite Attiny13 za vožnjo z motorjem s koračnimi motorji in servo motorjem: 5 korakov
Video: World's Largest FREE WILL Debate w/ Top Physicists & Philosophers 2024, November
Anonim
Odvračilni ukrep proti vlomilu „Sam doma“/ Uporabite Attiny13 za vožnjo s koračnim motorjem in servo motorjem
Odvračilni ukrep proti vlomilu „Sam doma“/ Uporabite Attiny13 za vožnjo s koračnim motorjem in servo motorjem
Odvračilni ukrep proti vlomilu „Sam doma“/ Uporabite Attiny13 za vožnjo s koračnim motorjem in servo motorjem
Odvračilni ukrep proti vlomilu „Sam doma“/ Uporabite Attiny13 za vožnjo s koračnim motorjem in servo motorjem

To je morda eden mojih najbolj čudnih projektov doslej:-) Toda tudi če vas ne zanima, da bi preprečili vlomilce, lahko ta projekt uporabite za kar koli, kjer morate voziti koračni motor ali servo motor, ali celo več enosmernih motorjev z Attiny13. Večina se vas bo spomnila filma Sam pri hiši, kjer se McCauly Calkin poskuša vlomilcem pretvarjati, da v resnici ni sam doma, tako da postavi kartonsko figuro na gramofon in postavi strune na drugo kartonsko figuro, da lahko posnema ljudi Ker sem pogosto odsoten od doma, se zelo zavedam, da bom hišo pustil za sabo, kot da je še zasedena. Za to sem prej objavil "Simulator doma", ki preklopi luči v določenem vzorcu z dovolj naključja, videti, da je nekdo prisoten. Dodal sem "ponarejeno televizijo", zaradi katere je videti, da se predvaja televizija. Vse te stvari pomagajo, če pa gre za simulacijo prisotnosti, ni nič boljšega od dejanskega gibanja. Zato sem potreboval nekaj, kar se je premaknilo in ker nimam gramofona in sem želel nekaj, kar bi lahko delovalo, ko sem bil odsoten, sem potreboval nekaj bolj trdnega stanja. Najbolj očiten način, da kartonska figura ustvari vtis gibanja, bi bil obrniti za 90 stopinj, da bi izmenično blokiral svetlobo in ne blokiral svetlobe. Najprej sem to storil s poceni servo, vendar je to povzročilo dve težavi: težko je bilo dodati kartonsko figuro, tudi ne preveliko, na os in enkrat Sem, vlečenje bi bilo preveč za ta servo. Močnejši servo je imel zelo strmo rast cen, zato sem začel razmišljati o "Steppermotorju". Še vedno sem imel enega, ki je bil zaradi hladilnika pritrjen nanj, kar se mi je zdelo idealno. Program za obračanje koračnega motorja je bil zlahka napisan na Arduinu, vendar je povlecivanje še vedno povzročilo malo težav, saj je bila moja kartonska figura velikosti človeški trup (dolg približno 80 cm). Karton sem moral okrepiti, tako da je postal težji, ali pa sem ga moral zmanjšati. Zdelo se je, da je slednja najboljša rešitev, saj sem jo lahko samo približal luči. Ves ta čas sem se tudi igral z mislijo, da bi postavil postavo. Motorji, jermenice itd. So mi šli po glavi in čeprav se tej ideji nisem povsem odpovedal, sem se zaenkrat le odločil, da v kartonsko figuro dodam majhno lastnost in to je bila premikajoča se glava. zato bi vrgel polno senco, nato pa naj prikima z glavo. in tedaj je spet prišel moj servo. Nisem želel žrtvovati celega arduina samo zato, da bi spremenil kartonsko figuro. Na sporočilu sem uganil, da bi Attiny13, ki sem ga imel na razpolago, delo opravil enako dobro: 4 zatiča za steper, 1 zatič za servo. To je točno tisto, kar ponuja Attiny13. Priznam, da sem včasih lahko zelo zgoščen, saj sem razmišljal o vseh vrstah scenarijev, kako upravljati contarption za delo ob določenem času, za določen čas, ker bi v idealnem primeru želel nadzorovati to iz "Domačega simulatorja", ki sem ga omenil prej. Zato sem razmišljal o žični ali brezžični povezavi, potem pa Attin13 ni bila najboljša ideja, ker ima težave z Manchestercode in potreboval sem pin za sprejemnik in občutljivost teh poceni sprejemnikov ni tako velika. Tako sem že razmišljal samo o komercialnem časovnem stikalu, potem pa sem spoznal, da sem idiot. Ker bi stvar potrebovala lasten napajalnik, zakaj ne bi vzeli zidne brade in jo dali v daljinsko stikalo, ki bi ga že lahko upravljali s simulatorjem At Home.

Poceni ServoA SteppermotorA kartonska škatla Attiny13An 8 zatiči IC vtičnica kos kos traku 9 trakov po 17 lukenj nekaj servo podaljškov A ULN2003A 16 pinski IC vtičnica 10 k upor plastična deska za rezanje (ali kakšen drug kos lahkega materiala) 3 -polni moški nosilec (za servo) 6 -polni moški nosilec (za steppermotor) lepilni trak (seveda)

Dodatno: Način programiranja Attinyja

Samo pripomba o Steppermotorju. Uporabljam starega 55SI-25DAWC, če pa ga morate še kupiti, je na voljo zelo poceni kombinacija koračnih motorjev in gonilnikov: 28BYJ-48. Sam motor stane 1,50 evra, vendar za 2 evra lahko dobite isti motor z vozniško ploščo. tako da je to dober posel

1. korak: "Sam doma" Izdelava kartonskega moža

'Sam doma' Konstrukcija kartonskega moža
'Sam doma' Konstrukcija kartonskega moža
'Sam doma' Konstrukcija kartonskega moža
'Sam doma' Konstrukcija kartonskega moža

Iz škatle sem izrezal kos 40x20 cm in kos 18x18. Dva kosa sem pritrdila skupaj kot glavo in trup z lepilnim trakom, pri čemer sem pustila majhno vrzel med dvema deloma, vendar prekrita s trakom, da tvorim tečaj za vrat. (Slike so zelo jasne) Iz stare deske za rezanje sem izrezal kos 20 cm dolg, približno pol cm debel (debelina deske) in širok približno 1,5 cm. 1,5 cm je bilo dovolj, da se prilega osi mojega koraka. če imate drug steper, se prepričajte, da je kos, ki ste ga izrezali, dovolj širok za os vašega koraka. pod 'vratom' sem iz kosov kartona sestavil držalo za servo. Seveda je to mogoče storiti s kotnim likalnikom (ali plastiko), vendar je to nekoliko težko pritrditi na kartonski trup, zato sem karton uporabil le za servo. Servoju sem dodal roko iz 11 x 0,6 x 0,6 kosa plastike z deske za rezanje in jo pritrdil na servo. Še enkrat poglejte slike, da vidite, kako je to storjeno. Čeprav je bil moj steper dovolj težak, da je nosil kartonsko podobo, bi zaradi navora in upora, ki ga povzroča obračanje, motor začel "hoditi" naokrog, zato sem ustvaril osnovno ploščo iz 24 * 11 cm deske za rezanje. Izvrtal sem dve luknji za pritrditev koračnega motorja in še vedno imam dovolj prostora za krmilnik. Čeprav se servo obrne za 180 stopinj, sem roko namestil tako, da ne postavlja glave naravnost. Na ta način zlahka pade nazaj, ko se servo obrne nazaj v položaj 0

2. korak: "Sam doma" Konstrukcija krmilnika

'Sam doma' Konstrukcija krmilnika
'Sam doma' Konstrukcija krmilnika
'Sam doma' Konstrukcija krmilnika
'Sam doma' Konstrukcija krmilnika
'Sam doma' Konstrukcija krmilnika
'Sam doma' Konstrukcija krmilnika
'Sam doma' Konstrukcija krmilnika
'Sam doma' Konstrukcija krmilnika

Krmilnik je An Attiny13, pritrjen na ULN2003. Čeprav sem v svoji različici uporabil nekaj več zatičev, da sem ploščo naredil bolj prilagodljivo za uporabo pri drugih projektih, potrebujete le glave 3 -polne moške servo glave in 6 -polne moške glave za stepper

3. korak: „Sam doma“: programska oprema

EDIT 2019 Projekt je nastal na podlagi nekoč priljubljenega jedra „Smeezekitty“za Attiny13. Zdaj pogosto uporabljeni MicroCore iz MCUDude ima očitno težave s spremenljivkami v stavkih delayMicroseconds. Če ga uporabljate, zamenjajte "delayMicroseconds (300 + p * (2500 /180));" z "zamuda (5);"

Zgornji program prikazuje, kako voziti moj poseben koračni stroj in morda boste morali spremeniti vrednosti, ki so zapisane v PORTB, če imate anotehr stepper. Ker je pomnilnik Attiny13 precej majhen in tudi ne nudi preveč zatičev, program pogreša nekaj prefinjenosti. Pisanje neposredno v PORTB je v redu, vendar bo v tem primeru zapisalo tudi "0" v PB4 in PB5. PB5 ni velik problem, vendar boste morda želeli uporabiti PB4. V mojem primeru sem namestil svoj servo in to res ne povzroča težav, saj jih ne uporabljam hkrati.

Če pa želite uporabiti drug mikrokrmilnik, na primer 328, in se želite izogniti pisanju v PB4 in PB5 ter PB6 in PB7, uporabite masko samo za zapis v bit 0-3. Maska za to je B00001111.

Če želite nastaviti bita 0 in 2, pojdite tako:

Namesto PORTB = 5 navedite: PORTB = (PORTB & ~ mask) | (B00000101);

Za tiste, ki se jim zdi to preveč skrivnostno:

najprej IN je vrednost PORTB z masko NOT in rezultat OR z vrednostjo, ki jo želimo zapisati, in to dodeli nazaj PORTB.

Recimo, da je PORTB = 00010000 in mu želimo zapisati 00000101, tega ne moremo takoj dodeliti, ker bi s tem izbrisali PB4.

Če pa storimo, kot je opisano, postane:

PORTB = (PORTB & 11110000) | 00000101

PORTB = (00010000 & 11110000) | 00000101

PORTB = 00010000 | 00000101

PORTB = 00010101

Zapisali smo svojo vrednost in ohranili PB4

Torej, zakaj ne moremo takoj ALI PORTBIRATI z želeno vrednostjo namesto, da bi ga najprej IN-namenili?

No, ker bi to lahko ohranilo PB4 in PB5 … vendar tudi ohrani nespremenjeno PB3-PB0, če je eden od njih že vseboval "1"

Obrnitev maske seveda ne bi bila potrebna, če bi jo opredelili že obrnjeno, vendar je to običajna praksa

4. korak: Odvračilni ukrep proti vlomu „Sam doma“: uporabite

poglejte videoposnetek, da vidite (obračal se je za -90 stopinj, žal mi je)

Namen te naprave je metati premikajoče se sence na zavese ali žaluzije. Zato se najbolje obnese s svetlobnimi zavesami. Naprava sama ne sme biti vidna od zunaj. Prepričajte se, da ima za seboj vir svetlobe. Upravljam ga tako, da pošljem RF signal na daljinsko stikalo v omrežni vtičnici, ki napaja stensko napajanje za to napravo, lahko pa uporabite tudi časovnik.

5. korak: 'Sam doma' Kaj ni delovalo ……

Ta video prikazuje enega mojih prejšnjih poskusov z večjim trupom in preprostim servomotorjem. Očitno ni dober dizajn

Priporočena: