Kasinatian sa paghimo sa unang robot sa Arduino (robot "mangangayam")

Здравствуйте.

Niini nga artikulo gusto nakong ihulagway ang proseso sa pag-assemble sa akong unang robot gamit ang Arduino. Mapuslan ang materyal sa ubang mga nagsugod sama nako nga gusto maghimo usa ka matang sa "karo nga nagdagan sa kaugalingon." Ang artikulo usa ka paghulagway sa mga yugto sa pagtrabaho sa akong mga pagdugang sa lainlaing mga nuances. Ang usa ka link sa katapusang code (lagmit dili ang labing maayo) gihatag sa katapusan sa artikulo.

Kasinatian sa paghimo sa unang robot sa Arduino (robot "mangangayam")

Kung mahimo, akong giapil ang akong anak nga lalaki (8 anyos) sa pag-apil. Unsa ang eksakto nga nagtrabaho niini ug kung unsa ang wala - Gipahinungod nako ang bahin sa artikulo niini, tingali kini mapuslanon sa usa ka tawo.

Kinatibuk-ang paghulagway sa robot

Una, pipila ka mga pulong mahitungod sa robot mismo (ideya). Dili gyud ko gusto nga mag-assemble og usa ka butang nga sukaranan sa pagsugod. Sa parehas nga oras, ang hugpong sa mga sangkap medyo sukaranan - chassis, makina, ultrasonic sensor, line sensor, LED, tweeter. Sa sinugdan, usa ka robot ang naimbento gikan niining "set nga sabaw" nga nagbantay sa teritoryo niini. Nagdrayb siya padulong sa nakasala nga mitabok sa linya sa lingin, ug dayon mibalik sa sentro. Bisan pa, kini nga bersyon nanginahanglan usa ka gilaraw nga linya, ug dugang nga matematika aron magpabilin sa lingin sa tanan nga oras.

Busa, pagkahuman sa pipila ka mga hunahuna, medyo giusab nako ang ideya ug nakahukom nga maghimo usa ka robot nga "mangangayam". Sa pagsugod, kini moliko sa iyang axis, pagpili sa duol nga target (tawo). Kung makit-an ang "tukbonon", ang "mangangayam" mosiga sa nagkidlap nga mga suga ug sirena ug magsugod sa pagmaneho padulong niini. Sa diha nga ang tawo mobalhin / modagan palayo, ang robot mopili og bag-ong target ug mogukod niini, ug uban pa. Ang ingon nga robot wala magkinahanglan og usa ka limitado nga lingin, ug kini mahimo nga magtrabaho sa bukas nga mga lugar.

Sama sa imong nakita, kini sama sa usa ka dula nga catch-up. Bisan kung sa katapusan ang robot dili igo nga kusog, kini matinud-anon nga nakig-uban sa mga tawo sa palibot niini. Ang mga bata labi na ganahan niini (usahay, bisan pa, ingon og hapit na nila kini tunobtunoban, ang ilang kasingkasing molukso ...). Sa akong hunahuna kini usa ka maayong solusyon alang sa pagpopular sa teknikal nga disenyo.

Istruktura sa robot

Busa, nakahukom kami sa ideya, magpadayon kita sa layout. Ang lista sa mga elemento naporma gikan sa kung unsa ang kinahanglan nga mahimo sa robot. Ang tanan dinhi klaro kaayo, busa atong tan-awon dayon ang pag-numero:

Kasinatian sa paghimo sa unang robot sa Arduino (robot "mangangayam")

Ang “utok” sa robot maoy arduino uno board (1); naa sa usa ka set nga gi-order gikan sa China. Alang sa among katuyoan, kini igo na (gipunting namon ang gidaghanon sa mga pin nga gigamit). Gikan sa parehas nga kit nagkuha kami usa ka andam nga chassis (2), diin gilakip ang duha ka ligid sa pagmaneho (3) ug usa sa luyo (libre nga nagtuyok) (4). Ang kit naglakip usab ug andam na nga kompartamento sa baterya (5). Sa atubangan sa robot adunay usa ka ultrasonic sensor (HC-SR04) (6), sa likod adunay usa ka drayber sa motor (L298N) (7), sa tunga adunay LED flasher (8), ug gamay sa ang kilid adunay tweeter (9).

Sa yugto sa layout atong tan-awon:

- aron ang tanan mohaum
- aron mahimong balanse
- nga ibutang sa makatarunganon nga paagi

Ang among mga kauban nga Intsik naghimo na niini nga bahin alang kanamo. Busa, ang bug-at nga kompartamento sa baterya gibutang sa sentro, ug ang mga ligid sa pagmaneho nahimutang halos sa ilawom niini. Ang tanan nga uban nga mga tabla gaan ug mahimong ibutang sa periphery.

Nuances:

  1. Ang chassis gikan sa kit adunay daghang mga lungag sa pabrika, apan wala pa nako mahibal-an kung unsa ang lohika niini. Ang mga makina ug baterya pack gisiguro nga walay mga problema, unya ang "pag-adjust" nagsugod sa pag-drill sa bag-ong mga lungag aron masiguro kini o kana nga tabla.
  2. Ang mga brass racks ug uban pang mga fastener gikan sa mga lugar nga tipiganan usa ka dako nga tabang (usahay kinahanglan namon nga kuhaon kini).
  3. Gipasa nako ang mga busbar gikan sa matag tabla pinaagi sa mga clamp (pag-usab, nakit-an nako kini sa pagtipig). Kombenyente kaayo, ang tanan nga mga alambre maayo ug dili magbitay.

Indibidwal nga mga bloke

Karon moagi ko mga bloke ug ako mosulti kaninyo sa personal mahitungod sa matag usa.

kompartamento sa baterya

Klaro nga ang robot kinahanglang adunay maayong tinubdan sa enerhiya. Mahimong magkalainlain ang mga kapilian, gipili nako ang kapilian nga adunay 4 nga baterya sa AA. Sa kinatibuk-an naghatag sila og gibana-bana nga 5 V, ug kini nga boltahe mahimong direktang magamit sa 5V pin sa arduino board (bypassing ang stabilizer).

Siyempre, ako adunay pipila nga pag-amping, apan kini nga solusyon magamit kaayo.

Tungod kay ang gahum gikinahanglan bisan asa, alang sa kasayon ​​naghimo ako og duha ka connectors sa sentro sa robot: ang usa "nag-apod-apod" sa yuta (sa tuo), ug ang ikaduha - 5 V (sa wala).

Kasinatian sa paghimo sa unang robot sa Arduino (robot "mangangayam")

Motor ug driver

Una, mahitungod sa pag-mount sa mga makina. Ang bukid gihimo sa pabrika, apan gihimo nga adunay daghang mga pagtugot. Sa laing pagkasulti, ang mga makina maka-uyog sa pipila ka milimetro sa wala ug tuo. Alang sa among buluhaton dili kini kritikal, apan sa pipila ka mga lugar mahimo’g adunay epekto (ang robot magsugod sa paglihok sa kilid). Sa kaso lang, akong gipahimutang ang mga makina nga estrikto nga parallel ug giayo kini gamit ang glue.

Kasinatian sa paghimo sa unang robot sa Arduino (robot "mangangayam")

Aron makontrol ang mga motor, sama sa akong gisulat sa ibabaw, gigamit ang drayber sa L298N. Sumala sa dokumentasyon, kini adunay tulo ka mga pin alang sa matag motor: usa alang sa pag-usab sa gikusgon ug usa ka parisan sa mga lagdok alang sa direksyon sa pagtuyok. Adunay usa ka importante nga punto dinhi. Kini nahimo nga kung ang boltahe sa suplay mao ang 5 V, nan ang kontrol sa tulin dili molihok! Sa ato pa, dili man kini moliko, o moliko ngadto sa kinatas-an. Kini ang bahin nga hinungdan sa akong "pagpatay" pipila ka mga gabii. Sa katapusan, nakit-an nako ang usa ka paghisgot sa usa ka lugar sa usa sa mga forum.

Sa kinatibuk-an nga pagsulti, kinahanglan nako ang usa ka gamay nga tulin sa pag-rotate kung gipaliko ang robot - aron adunay oras sa pag-scan sa wanang. Apan, tungod kay wala'y miabut niini nga ideya, kinahanglan nakong buhaton kini nga lahi: usa ka gamay nga turn - stop - turn - stop, ug uban pa. Pag-usab, dili kaayo elegante, apan mahimo.

Idugang usab nako dinhi nga human sa matag paggukod ang robot mopili og random nga direksyon para sa bag-ong turno (clockwise o counterclockwise).

Ultrasonic nga sensor

Kasinatian sa paghimo sa unang robot sa Arduino (robot "mangangayam")

Laing piraso sa hardware diin kinahanglan namon pangitaon ang solusyon sa pagkompromiso. Ang ultrasonic sensor nagpatunghag dili lig-on nga mga numero sa tinuod nga mga babag. Sa pagkatinuod, kini gidahom. Sa tinuud, kini molihok sa usa ka lugar sa mga kompetisyon diin adunay hapsay, parehas ug tul-id nga mga ibabaw, apan kung ang mga bitiis sa usa ka tawo "flash" sa atubangan niini, kinahanglan nga ipakilala ang dugang nga pagproseso.

Sa ingon nga pagproseso akong gitakda median nga filter alang sa tulo ka ihap. Pinasukad sa mga pagsulay sa tinuod nga mga bata (walay bata nga nasakitan sa panahon sa mga pagsulay!), nahimo nga igo na aron ma-normalize ang datos. Ang pisika dinhi yano ra: kita adunay mga signal nga gipakita gikan sa gikinahanglan mga butang (naghatag sa gikinahanglan nga gilay-on) ug gipakita gikan sa mas layo, pananglitan, mga bungbong. Ang ulahi mao ang mga random emissions sa mga pagsukod sa porma 45, 46, 230, 46, 46, 45, 45, 310, 46... Mao kini ang giputol sa median filter.

Pagkahuman sa tanan nga pagproseso, makuha namon ang distansya sa labing duol nga butang. Kung kini ubos pa sa usa ka piho nga kantidad sa threshold, dayon among i-on ang alarma ug diretso nga magmaneho padulong sa "intruder".

Flasher ug sirena

Tingali ang pinakasimple nga mga elemento sa tanan sa ibabaw. Makita sila sa mga litrato sa ibabaw. Wala’y isulat bahin sa hardware dinhi, busa karon magpadayon kita Code.

Kontrola nga programa

Wala nako makita ang punto sa paghulagway sa code sa detalye, kung kinsa ang nanginahanglan niini - ang link naa sa katapusan sa artikulo, ang tanan mabasa didto. Apan maayo nga ipasabut ang kinatibuk-ang istruktura.

Ang una nga butang nga kinahanglan namon masabtan mao nga ang usa ka robot usa ka real-time nga aparato. Mas tukma, hinumdoman, tungod kay kaniadto ug karon nagtrabaho gihapon ako sa electronics. Busa, nakalimtan dayon nato ang hagit paglangan (), nga gusto nilang gamiton sa mga pananglitan nga mga sketch, ug nga yano nga "nag-freeze" sa programa alang sa usa ka piho nga yugto sa panahon. Hinuon, ingon sa gitambag sa eksperyensiyado nga mga tawo, gipaila namon ang mga timer alang sa matag bloke. Ang gikinahanglan nga agwat milabay na - ang aksyon nahimo (nagdugang sa kahayag sa LED, gi-on ang makina, ug uban pa).

Ang mga timer mahimong magkadugtong. Pananglitan, ang tweeter nagtrabaho nga dungan sa flasher. Gipasimple niini gamay ang programa.

Natural, atong gibungkag ang tanan ngadto sa managlahing mga gimbuhaton (nagkidlap nga mga suga, tingog, pagliko, paglihok sa unahan, ug uban pa). Kung dili nimo kini buhaton, nan dili nimo mahibal-an kung diin gikan ug diin.

Mga nuances sa pedagogy

Gibuhat nako ang tanan nga gihulagway sa ibabaw sa akong libre nga oras sa gabii. Sa hayahay nga paagi, migugol ako ug mga tulo ka semana sa robot. Mahimong matapos kini dinhi, apan misaad usab ako nga isulti kanimo ang bahin sa pagtrabaho kauban ang usa ka bata. Unsa ang mahimo niini nga edad?

Trabaho sumala sa mga instruksyon

Una namong gisusi ang matag detalye nga gilain - LED, tweeter, motor, sensor, ug uban pa. Adunay daghang gidaghanon sa mga andam nga mga pananglitan - ang uban diha mismo sa development environment, ang uban makita sa Internet. Kini siguradong nakapalipay kanako. Gikuha namo ang code, ikonektar ang bahin, siguruha nga kini molihok, unya magsugod kami sa pag-usab niini aron mahiangay sa among buluhaton. Ang bata naghimo sa mga koneksyon sumala sa diagram ug ubos sa pipila sa akong pagdumala. Maayo ni. Kinahanglan ka usab nga makahimo sa pagtrabaho nga estrikto sumala sa mga panudlo.

Order of work (“gikan sa partikular ngadto sa kinatibuk-an”)

Kini usa ka lisud nga punto. Kinahanglan nimong mahibal-an nga ang usa ka dako nga proyekto ("paghimo og robot") naglangkob sa gagmay nga mga buluhaton ("pagkonektar sa usa ka sensor," "pagkonektar sa mga motor" ...), ug ang mga, sa baylo, naglangkob sa mas gagmay nga mga lakang ("pagpangita usa ka programa," "pagkonektar sa usa ka board." "," pag-download sa firmware"...). Pinaagi sa paghimo sa mas daghan o dili kaayo masabtan nga mga buluhaton sa ubos nga lebel, atong "sirado" ang mga buluhaton sa tunga-tunga nga lebel, ug gikan kanila ang kinatibuk-ang resulta naporma. Gipasabut nako, apan sa akong hunahuna ang pagkaamgo dili moabut sa dili madugay. Sa usa ka dapit, tingali, sa pagkatin-edyer.

Instalar

Pag-drill, hilo, tornilyo, nuts, pagsolda ug baho sa rosin - asa man kita kung wala kini? Ang bata nakadawat sa batakang kahanas "Pagtrabaho sa usa ka soldering iron" - nakahimo siya sa pagsolder sa daghang mga koneksyon (nakatabang ko gamay, dili nako kini itago). Ayaw kalimti ang bahin sa katin-awan sa kaluwasan.

Trabaho sa kompyuter

Gisulat nako ang programa alang sa robot, apan nakahimo gihapon ako sa pagkab-ot sa pipila ka paborableng mga resulta.

Una: English. Bag-o pa lang nila kini gisugdan sa eskwelahan, mao nga naglisud kami sa paghunahuna kung unsa ang pishalka, migalka, yarkost ug uban pang mga transliterasyon. At least nasabtan namo kini. Tuyo ko nga wala mogamit sa lumad nga mga pulong nga English, tungod kay wala pa kami makaabot niini nga lebel.

Ikaduha: episyente nga trabaho. Gitudloan namo ang mga kombinasyon sa hotkey ug kung unsaon paghimo dayon sa standard operations. Matag karon ug unya, sa dihang kami nagsulat sa programa, ang akong anak nga lalaki ug ako nagbayloay ug mga dapit, ug ako misulti kon unsay kinahanglang buhaton (pag-ilis, pagpangita, ug uban pa). Kinahanglan nakong balik-balikon ang: "double-click select", "hold Shift", "hold Ctrl" ug uban pa. Ang proseso sa pagkat-on dinhi dili paspas, apan sa akong hunahuna ang mga kahanas anam-anam nga ideposito "sa subcortex."

Gitago nga tekstoMahimo nimong isulti nga ang nahisgutan sa itaas halos klaro. Apan, sa tinuod lang, niining tinglarag nakahigayon ko sa pagtudlo sa computer science sa ika-9 nga grado sa usa ka eskwelahan. Makalilisang kana. Ang mga estudyante wala makahibalo sa mga batakang butang sama sa Ctrl + Z, Ctrl + C ug Ctrl + V, pagpili sa teksto samtang gigunitan ang Shift o doble nga pag-klik sa usa ka pulong, ug uban pa. Kini bisan pa sa kamatuoran nga sila anaa sa ilang ikatulo nga tuig sa pagtuon sa computer science... Draw your own conclusion.

Ikatulo: paghikap sa pag-type. Gisalig nako ang mga komento sa code sa bata nga mag-type (papraktis siya). Gibutang dayon namo ang among mga kamot sa saktong paagi aron anam-anam nga mahinumduman sa among mga tudlo ang nahimutangan sa mga yawe.

Sama sa imong nakita, nagsugod pa kami. Magpadayon kami sa paghanas sa among mga kahanas ug kahibalo; kini mapuslanon sa kinabuhi.

Pinaagi sa dalan, mahitungod sa umaabot ...

Dugang kalamboan

Ang robot gihimo, nagmaneho, nagpangidlap ug nag-beep. Unsa karon? Nadasig sa among nakab-ot, nagplano kami nga pauswagon pa kini. Adunay usa ka ideya sa paghimo sa usa ka hilit nga kontrol - sama sa usa ka lunar rover. Makapainteres, nga naglingkod sa usa ka hilit nga kontrol, aron makontrol ang paglihok sa usa ka robot nga nagmaneho sa usa ka lahi nga lugar. Apan kana mahimong lahi nga istorya ...

Ug sa katapusan, sa tinuud, ang mga bayani sa kini nga artikulo (video pinaagi sa pag-klik):

Kasinatian sa paghimo sa unang robot sa Arduino (robot "mangangayam")

Спасибо за внимание!

Link sa code

Source: www.habr.com

Idugang sa usa ka comment