Talaan ng mga Nilalaman:

'Home Alone' Burglar Deterrent / Use Attiny13 to Drive a Steppermotor and a Servo: 5 Hakbang
'Home Alone' Burglar Deterrent / Use Attiny13 to Drive a Steppermotor and a Servo: 5 Hakbang

Video: 'Home Alone' Burglar Deterrent / Use Attiny13 to Drive a Steppermotor and a Servo: 5 Hakbang

Video: 'Home Alone' Burglar Deterrent / Use Attiny13 to Drive a Steppermotor and a Servo: 5 Hakbang
Video: Vehicle Accident Control Project #science #tech #project #hack 2024, Nobyembre
Anonim
'Home Alone' Burglar Deterrent / Gumamit ng Attiny13 upang Magmaneho ng isang Steppermotor at isang Servo
'Home Alone' Burglar Deterrent / Gumamit ng Attiny13 upang Magmaneho ng isang Steppermotor at isang Servo
'Home Alone' Burglar Deterrent / Gumamit ng Attiny13 upang Magmaneho ng isang Steppermotor at isang Servo
'Home Alone' Burglar Deterrent / Gumamit ng Attiny13 upang Magmaneho ng isang Steppermotor at isang Servo

Ito ay maaaring maging isa sa aking mga kakatwang proyekto:-) Ngunit kahit na hindi ka interesado na ilayo ang mga magnanakaw, ang proyektong ito ay maaaring magamit para sa anumang bagay kung saan kailangan mong magmaneho ng isang steppermotor o servo motor, o kahit na maraming DC motor na may Attiny13. Karamihan sa iyo ay maaalala ang pelikulang Home Alone, kung saan sinubukan ni McCauly Calkin na magpanggap sa mga magnanakaw na sa katunayan hindi siya nag-iisa sa bahay, sa pamamagitan ng paglalagay ng isang karton na numero sa isang record player at paglalagay ng mga string sa isa pang karton upang siya ay gayahin ang mga tao sumasayaw. Tulad ng madalas na wala ako sa bahay, malay ko tungkol sa pag-iwan sa aking bahay na parang ito ay sinasakop pa rin. Para sa naunang nai-publish ko ang isang 'Sa home simulator' na lumilipat ng mga ilaw sa isang tukoy na pattern na may sapat na randomness upang gawin ito mukhang may isang tao. Nagdagdag ako ng isang 'Fake TV' na nagpapahiwatig na mayroong isang TV na nagpe-play. Ang lahat ng mga bagay na ito ay makakatulong, ngunit kung pagdating sa simulate ng pagkakaroon ay walang mas mahusay kaysa sa aktwal na paggalaw. Kaya't kailangan ko ng isang bagay na lumipat at dahil wala akong isang record player at nais ng isang bagay na maaaring gumana habang wala ako, kailangan ko ng isang bagay na medyo mas matatag na estado. Ang pinaka-halatang paraan upang magkaroon ng isang figure ng karton na lumikha ng impression ng paggalaw ay upang buksan ito ng 90 degree kaya't halili nitong hahadlangan ang ilaw at hindi harangan ang ilaw. Una kong ginawa iyon sa isang murang servo ngunit nagbigay ng dalawang problema: Mahirap na magdagdag ng isang karton na numero kahit isang hindi masyadong malaki, sa ehe at isang beses Ginawa ko, ang drag ay magiging sobra para sa servo na iyon. Ang isang mas malakas na servo ay may isang napakatarik na pagtaas ng presyo kaya nagsimula akong isipin ang 'Steppermotor'. Mayroon pa akong isang mabigat dahil sa heatsink na nakakabit dito kaya't tila perpekto. Ang isang programa upang buksan ang Steppermotor ay madaling nakasulat sa isang Arduino, ngunit ang pag-drag ay nagdudulot pa rin ng kaunting problema dahil ang aking karton na pigura ay may sukat na isang katawan ng tao (halos 80 cm ang haba). Maaari kong palakasin ang karton, gawin itong mas mabigat, o kailangan kong gawing mas maliit ito. Ang huli ay tila ang pinakamahusay na solusyon dahil mailalagay ko ito malapit sa isang ilaw. Sa lahat ng oras na iyon ay nilalaro ko rin ang pag-iisip na magkaroon ng isang pigura na tumayo. Ang mga motor, pulley atbp ay sumagi sa aking isipan at kahit na hindi ko ganap na naibigay ang ideyang iyon, sa ngayon napagpasyahan kong magdagdag ng isang maliit na tampok sa karton na numero at iyon ay isang gumagalaw na ulo. Ang aking ideya ay ang maging 90 degree ng figure, kaya't ito ay magpapalabas ng isang buong anino, at pagkatapos ay tumango ito. at doon nagmula muli ang aking servo. Hindi ko talaga nais na isakripisyo ang isang buong arduino upang mapalingon lamang ang isang karton na numero. Sa pagtatalo, nahulaan ko ang isang Attiny13 na aking inilatag sa paligid ay maaaring gawin din ang trabaho: 4 na mga pin para sa stepper, 1 pin para sa servo. iyon mismo ang iniaalok ng isang Attiny13. Inamin ko na ang mga bagay na maaari kong maging napaka siksik coz naisip ko ang lahat ng uri ng mga sitwasyon kung paano patakbuhin ang contarption upang gumana sa isang tukoy na oras, para sa isang tukoy na oras dahil sa perpektong nais kong kontrolin ito mula sa 'At home simulator' na nabanggit ko kanina. Kaya't naisip ko ang tungkol sa isang kawad, o wireless, ngunit pagkatapos ay ang Attin13 ay hindi pinakamahusay na ideya coz na may problema sa Manchestercode at kailangan ko ng isang pin para sa tagatanggap at ang pagiging sensitibo ng mga murang tagatanggap ay hindi ganon kahusay. Kaya naisip ko na lang ang tungkol sa isang komersyal na switch ng timer, ngunit pagkatapos ay natanto ko na ako ay isang idiot. Tulad ng bagay na kakailanganin ng sarili nitong PSU, bakit hindi kumuha ng isang wallwart at ilagay iyon sa isang Remote Switch na maaari ko nang makontrol mula sa aking At Home simulator. Kaya, sinimulan kong buuin ang aking pangwakas na disenyo.

Ang isang murang ServoA Steppermotor Isang karton na kahon Isang Attiny13An 8 pin ng IC socket Isang piraso ng stripboard 9 piraso ng 17 butas Ilang mga servo extension cords A ULN2003A 16 pin IC socket Isang 10 k resistor Isang plastic cutting board (o ilang iba pang piraso ng light material) 3 pin male header (para sa servo) 6 pin male header (para sa steppermotor) glueduct tape (ofcourse)

Bilang karagdagan: Isang paraan upang mai-program ang Attiny

Isang pangungusap lamang sa Steppermotor. Gumagamit ako ng isang lumang 55SI-25DAWC, ngunit kung kailangan mo pa ring bumili ng isa mayroong isang napaka-murang steppermotor / driver combo na magagamit: ang 28BYJ-48. Ang motor mismo ay nagkakahalaga ng 1.50 euro, ngunit para sa 2 euro maaari kang makakuha ng parehong motor na may driver board. kaya't ito ay isang mabuting pakikitungo

Hakbang 1: Ang 'Home Mag-isa' na Bumubuo ng Manong karton

'Home Mag-isa' Bumubuo ng Manong karton
'Home Mag-isa' Bumubuo ng Manong karton
'Home Mag-isa' Bumubuo ng Manong karton
'Home Mag-isa' Bumubuo ng Manong karton

Mula sa isang kahon ay pinutol ko ang isang piraso ng 40x20 cm at isang piraso ng 18x18. Ikinabit ko ang dalawang piraso bilang isang ulo at isang katawan ng tao, gamit ang duct tape, na nag-iiwan ng isang maliit na agwat sa pagitan ng dalawang piraso, ngunit natakpan ng duct tape, upang mabuo ang isang bisagra para sa leeg. (Nilinaw ito ng mga larawan) Mula sa lumang cutting board ay pinutol ko ang isang piraso ng 20 cm ang haba, halos kalahating cm ang kapal (ang kapal ng board) at mga 1.5 cm ang lapad. Ang 1.5 cm ay sapat na upang magkasya sa ehe ng aking stepper. kung mayroon kang ibang stepper, tiyakin na ang piraso na iyong pinutol ay sapat na lapad para sa ehe ng iyong stepper. Nag-drill ng isang butas na patay na sentro na magkasya sa aking ehe. Pagkatapos ay idinikit ko ang plastik sa base ng karton na 'Torso'Just sa ilalim ng 'leeg', mula sa mga piraso ng karton ay nagtayo ako ng isang lalagyan para sa aking servo. Maaari itong gawin sa isang anggulo na bakal (o plastik), ngunit medyo mahirap i-attach sa karton ng katawan, kaya ginamit ko lang ang karton upang magkasya sa servo. Nagdagdag ako ng isang braso sa servo na gawa sa isang 11 x 0.6 x 0.6 na piraso ng plastik mula sa cutting board at ikinabit iyon sa te Servo. Muli, tingnan ang mga larawan upang makita kung paano ito tapos. Kahit na ang aking stepper ay sapat na mabigat upang magdala ng karton na numero, ang metalikang kuwintas at ang pag-drag na sanhi ng pag-on ay gagawing magsimulang 'maglakad' ang motor, kaya't lumikha ako ng isang base plate mula sa 24 * 11 cm ng cutting board. Nag-drill ako ng dalawang butas upang ikabit ang stepper motor at mayroon pa ring sapat na puwang para sa controller. Kahit na ang servo ay lumiliko ng 180 degree, pinwesto ko ang braso na hindi nito inilalagay nang husto ang ulo. Sa ganoong paraan madali itong bumabalik kapag bumalik sa 0 na posisyon ang servo

Hakbang 2: Ang 'Home Mag-isa' na Bumubuo ng Controller

'Home Mag-isa' Bumubuo ng Controller
'Home Mag-isa' Bumubuo ng Controller
'Home Mag-isa' Bumubuo ng Controller
'Home Mag-isa' Bumubuo ng Controller
'Home Mag-isa' Bumubuo ng Controller
'Home Mag-isa' Bumubuo ng Controller
'Home Mag-isa' Bumubuo ng Controller
'Home Mag-isa' Bumubuo ng Controller

Ang tagakontrol ay Isang Attiny13, na nakakabit sa isang ULN2003. Kahit na sa aking bersyon Gumamit ako ng kaunti pang mga pin upang gawing mas nababaluktot ang board upang magamit para sa iba pang mga proyekto, ang tanging mga header na kailangan mo ay isang 3 pin male servo header at isang 6 pin male header para sa stepper

Hakbang 3: 'Home Mag-isa': ang Software

EDIT 2019 Ang proyekto ay ginawa batay sa dating sikat na 'Smeezekitty' na core para sa Attiny13. Ang madalas na ginagamit na MicroCore mula sa MCUDude ay tila may mga problema sa mga variable sa mga pahayag ng pagkaantala ngMicroseconds. Kung ginagamit mo ang isang iyon, palitan ang "delayMicroseconds (300 + p * (2500/180));" sa pamamagitan ng "pagkaantala (5);"

Ipinapakita ng program sa itaas kung paano himukin ang aking partikular na stepper at maaaring kailanganin mong baguhin ang mga halagang sinusulat sa PORTB kung mayroon kang anotehr stepper. Tulad ng Attiny13 ay medyo maliit sa memorya at hindi rin nagbibigay ng masyadong maraming mga pin, napalampas ng programa ang ilang pagiging sopistikado. Ang pagsulat nang direkta sa PORTB ay OK, ngunit sa kasong ito magsusulat din ito ng isang "0" sa PB4 at PB5. Ang PB5 ay hindi gaanong isang problema, ngunit baka gusto mong gumamit ng PB4. Sa aking kaso doon ko inilalagay ang aking servo at hindi talaga iyon sanhi ng isang problema dahil hindi ko ito ginagamit nang sabay.

Gayunpaman, Kung nais mong gumamit ng isa pang microcontroller tulad ng 328 at nais mong iwasan ang pagsusulat sa PB4 at PB5 at PB6 at PB7, gumamit ng mask upang magsulat lamang sa 0-3. Ang mask na gawin iyon ay B00001111.

Kung nais mong magtakda ng mga piraso ng 0 at 2, pumunta tulad nito:

Sa halip na PORTB = 5, estado: PORTB = (PORTB & ~ mask) | (B00000101);

Para sa mga nakakahanap nito masyadong cryptic:

una itong ANDs ang halaga ng PORTB na may HINDI mask at O ang resulta sa halagang nais naming isulat at italaga iyon pabalik sa PORTB.

Kaya, ipagpalagay na PORTB = 00010000 at nais naming isulat dito ang 00000101, hindi namin ito maitatalaga kaagad dahil i-clear ang PB4.

Gayunpaman, kung gagawin namin tulad ng inilarawan, ito ay magiging:

PORTB = (PORTB & 11110000) | 00000101

PORTB = (00010000 & 11110000) | 00000101

PORTB = 00010000 | 00000101

PORTB = 00010101

Sinulat namin ang aming halaga at pinapanatili ang PB4

Kaya, bakit hindi natin agad na O PORTB ang halagang nais nating kapalit ng AT-ing muna ito?

Kaya't dahil mapapanatili nito ang PB4 at PB5 … ngunit pinapanatili din nito ang PB3-PB0 na hindi nagbabago kung ang isa sa kanila ay naglalaman na ng isang '1'

Siyempre ang pag-baligtarin ng maskara ay hindi kinakailangan kung bibigyan namin ng kahulugan ito na baligtad, ngunit karaniwang pagsasanay na gawin ito tulad ng

Hakbang 4: 'Home Alone' Burglar Deterrent: Gumamit

panoorin ang video upang makita itong gumana (nakapag-rotate ito ng -90 degree, pasensya na)

Ang hangarin ng aparatong ito ay upang magtapon ng mga gumagalaw na anino sa mga kurtina o blinds. Samakatuwid ito ay pinakamahusay na gumagana sa mga ilaw na kurtina. Ang aparato mismo ay hindi dapat makita mula sa labas. Tiyaking mayroon itong ilaw na mapagkukunan sa isang lugar sa likuran nito. Kinokontrol ko ito sa pamamagitan ng pagpapadala ng isang senyas ng RF sa Remote Switch sa mains outlet na nagpapakain sa wallwart PSU para sa aparatong ito, ngunit maaari mo ring gamitin ang isang timer.

Hakbang 5: 'Home Mag-isa' Ano ang Hindi Gumana ……

Ipinapakita ng video na ito ang isa sa aking naunang mga eksperimento na may mas malaking katawan at isang simpleng servo lamang. Malinaw na hindi magandang disenyo

Inirerekumendang: