Reynsla af því að búa til fyrsta vélmennið á Arduino (vélmenni „veiðimaður“)

Hello

Í þessari grein vil ég lýsa ferlinu við að setja saman fyrsta vélmennið mitt með Arduino. Efnið mun nýtast öðrum byrjendum eins og mér sem vilja búa til einhvers konar „sjálfhlaupandi kerru“. Greinin er lýsing á stigum þess að vinna með viðbætur mínar á ýmsum blæbrigðum. Tengill á lokakóðann (líklega ekki sá besti) er gefinn í lok greinarinnar.

Reynsla af því að búa til fyrsta vélmennið á Arduino (vélmenni „veiðimaður“)

Þegar það var hægt tók ég son minn (8 ára) með í að taka þátt. Hvað nákvæmlega virkaði með það og hvað ekki - ég hef tileinkað þessu hluta af greininni, kannski mun það nýtast einhverjum.

Almenn lýsing á vélmenni

Fyrst, nokkur orð um vélmennið sjálft (hugmynd). Ég vildi ekki setja saman eitthvað staðlað í byrjun. Á sama tíma var sett af íhlutum nokkuð staðlað - undirvagn, vélar, úthljóðskynjari, línuskynjari, LED, tvíter. Upphaflega var vélmenni fundið upp úr þessu „súpusetti“ sem verndar yfirráðasvæði þess. Hann ekur í átt að brotamanni sem hefur farið yfir hringlínuna og snýr svo aftur í miðjuna. Hins vegar þurfti þessi útgáfa teiknaða línu, auk auka stærðfræði til að vera alltaf í hringnum.

Þess vegna, eftir smá umhugsun, breytti ég hugmyndinni nokkuð og ákvað að búa til „veiðimenn“ vélmenni. Í byrjun snýst það um ásinn og velur nálægt skotmark (manneskju). Ef „bráðin“ greinist kveikir „veiðimaðurinn“ á blikkandi ljósum og sírenu og byrjar að aka að henni. Þegar manneskjan flytur í burtu/hleypur í burtu velur vélmennið nýtt skotmark og eltir það o.s.frv. Slíkt vélmenni þarf ekki takmarkaðan hring og það getur unnið á opnum svæðum.

Eins og þú sérð er þetta mjög eins og grípandi leikur. Þó að vélmennið hafi á endanum ekki reynst nógu hratt, hefur það heiðarlega samskipti við fólkið í kringum það. Börnum finnst það sérstaklega gaman (það virðist þó stundum vera að þau séu að fara að troða því, hjartað sleppir því að slá...). Ég held að þetta sé góð lausn til að gera tæknilega hönnun vinsæla.

Vélmenni uppbygging

Svo við höfum ákveðið hugmyndina, við skulum halda áfram skipulag. Listi yfir þætti er myndaður út frá því sem vélmennið ætti að geta gert. Allt hér er nokkuð augljóst, svo við skulum strax líta á tölurnar:

Reynsla af því að búa til fyrsta vélmennið á Arduino (vélmenni „veiðimaður“)

„Heilar“ vélmennisins eru arduino uno borð (1); var í setti sem var pantað frá Kína. Í okkar tilgangi er það alveg nóg (við leggjum áherslu á fjölda pinna sem notaðir eru). Úr sama setti tókum við tilbúinn undirvagn (2), sem tvö drifhjól (3) og eitt aftan (snýst frjálslega) (4) eru fest á. Settið innihélt einnig tilbúið rafhlöðuhólf (5). Fyrir framan vélmennið er úthljóðsnemi (HC-SR04) (6), að aftan er mótordrifi (L298N) (7), í miðjunni er LED blikkari (8), og smá til á hliðinni er tweeter (9).

Á skipulagsstigi skoðum við:

- þannig að allt passi
- að vera í jafnvægi
- að vera skynsamlega settur

Kínverskir samstarfsmenn okkar hafa þegar gert þetta að hluta fyrir okkur. Svo, þunga rafhlöðuhólfið er komið fyrir í miðjunni og drifhjólin eru staðsett um það bil undir því. Öll önnur borð eru létt og hægt að setja á jaðarinn.

Blæbrigði:

  1. Undirvagninn úr settinu er með fullt af verksmiðjuholum, en ég hef samt ekki fundið út hver rökfræðin er í þeim. Vélar og rafhlöðupakkinn var festur án vandræða, síðan hófst „aðlögunin“ með því að bora ný göt til að festa þetta eða hitt borðið.
  2. Kopargrindur og aðrar festingar frá geymslusvæðum voru mikil hjálp (stundum þurftum við að ná þeim út).
  3. Ég fór með rúllurnar frá hverju borði í gegnum klemmurnar (aftur fann ég þær í geymslu). Mjög þægilegt, allir vírar liggja fallega og dingla ekki.

Einstakar blokkir

Nú skal ég fara í gegnum blokkir og ég skal segja þér persónulega frá hverjum og einum.

rafhlöðuhólf

Það er ljóst að vélmennið verður að hafa góðan orkugjafa. Valmöguleikar geta verið mismunandi, ég valdi kostinn með 4 AA rafhlöðum. Alls gefa þeir um það bil 5 V og hægt er að setja þessa spennu beint á 5V pinna arduino borðsins (framhjá stöðugleikanum).

Auðvitað var ég varkár, en þessi lausn er alveg framkvæmanleg.

Þar sem orku er þörf alls staðar, til þæginda bjó ég til tvö tengi í miðju vélmennisins: annað "dreifir" jörðinni (hægra megin) og annað - 5 V (vinstra megin).

Reynsla af því að búa til fyrsta vélmennið á Arduino (vélmenni „veiðimaður“)

Mótor og bílstjóri

Í fyrsta lagi um að setja upp vélarnar. Festingin er verksmiðjuframleidd en framleidd með stórum vikmörkum. Með öðrum orðum geta vélarnar sveiflast nokkra millimetra til vinstri og hægri. Fyrir verkefni okkar er þetta ekki mikilvægt, en sums staðar getur það haft áhrif (vélmennið mun byrja að færa sig til hliðar). Til öryggis setti ég vélarnar stranglega samsíða og festi þær með lími.

Reynsla af því að búa til fyrsta vélmennið á Arduino (vélmenni „veiðimaður“)

Til að stjórna mótorunum, eins og ég skrifaði hér að ofan, er L298N drifurinn notaður. Samkvæmt skjölunum eru þrír pinnar fyrir hvern mótor: einn til að breyta hraðanum og pinnapar fyrir snúningsstefnuna. Hér er eitt mikilvægt atriði. Það kemur í ljós að ef framboðsspennan er 5 V þá virkar hraðastýringin einfaldlega ekki! Það er, annað hvort snýr það alls ekki eða snýst í hámarkið. Þetta er eiginleikinn sem olli því að ég „drepa“ nokkur kvöld. Í lokin fann ég umtal einhvers staðar á einu af umræðunum.

Almennt séð þurfti ég lágan snúningshraða þegar vélmenninu var snúið - svo það hefði tíma til að skanna rýmið. En þar sem ekkert varð út úr þessari hugmynd varð ég að gera þetta öðruvísi: smá beygja - stopp - beygja - stopp o.s.frv. Aftur, ekki svo glæsilegt, en framkvæmanlegt.

Ég bæti líka við hér að eftir hverja leit velur vélmennið handahófskennda stefnu fyrir nýja beygju (réttsælis eða rangsælis).

Ultrasonic skynjari

Reynsla af því að búa til fyrsta vélmennið á Arduino (vélmenni „veiðimaður“)

Annað stykki af vélbúnaði þar sem við þurftum að leita að málamiðlunarlausn. Úthljóðsskynjarinn framleiðir óstöðugar tölur á raunverulegum hindrunum. Reyndar var búist við þessu. Helst virkar það einhvers staðar í keppnum þar sem það eru slétt, jöfn og hornrétt yfirborð, en ef fætur einhvers „blikkar“ fyrir framan það þarf að kynna frekari vinnslu.

Sem slík vinnsla setti ég miðgildi sía í þremur liðum. Miðað við próf á raunverulegum börnum (engin börn urðu fyrir skaða í prófunum!) reyndist það alveg nóg til að staðla gögnin. Eðlisfræðin hér er einföld: við höfum merki sem endurspeglast frá nauðsynlegar hluti (sem gefur tilskilda fjarlægð) og endurkastast frá fjarlægari, til dæmis veggjum. Þær síðarnefndu eru tilviljunarkennd losun í mælingum á forminu 45, 46, 230, 46, 46, 45, 45, 310, 46... Það er þetta sem miðgildi sían sker af.

Eftir alla vinnsluna fáum við fjarlægðina að næsta hlut. Ef það er minna en ákveðið þröskuldsgildi þá kveikjum við á vekjaraklukkunni og keyrum beint í átt að „boðflennan“.

Blikkljós og sírena

Kannski einföldustu þættirnir af öllu ofangreindu. Þær má sjá á myndunum hér að ofan. Það er ekkert að skrifa um vélbúnað hér, svo nú skulum við halda áfram kóða.

Stjórna forrit

Ég sé ekki tilganginn í að lýsa kóðanum í smáatriðum, hver þarf hann - hlekkurinn er í lok greinarinnar, allt er alveg læsilegt þar. En það væri gaman að útskýra almenna uppbyggingu.

Það fyrsta sem við þurftum að skilja var að vélmenni er rauntíma tæki. Nánar tiltekið, að muna, því bæði áður og nú vinn ég enn við rafeindatækni. Þannig að við gleymum strax áskoruninni tefja (), sem þeir elska að nota í dæmi skissum, og sem einfaldlega „frystir“ forritið í tiltekinn tíma. Í staðinn, eins og reyndur fólk ráðleggur, kynnum við tímamæla fyrir hverja blokk. Nauðsynlegt bil er liðið - aðgerðin hefur verið framkvæmd (hækkað birtustig ljósdíóðunnar, kveikt á vélinni og svo framvegis).

Tímamælir geta verið samtengdir. Til dæmis virkar tweeterinn samstilltur við flassið. Þetta einfaldar forritið aðeins.

Við skiptum náttúrulega öllu niður í aðskildar aðgerðir (blikkandi ljós, hljóð, beygja, fara fram og svo framvegis). Ef þú gerir þetta ekki, þá muntu ekki geta fundið út hvað kemur hvaðan og hvaðan.

Litbrigði kennslufræðinnar

Ég gerði allt sem lýst er hér að ofan í frítíma mínum á kvöldin. Á rólegan hátt eyddi ég um þremur vikum á vélmenninu. Þetta hefði getað endað hér, en ég lofaði líka að segja ykkur frá því að vinna með barni. Hvað er hægt að gera á þessum aldri?

Vinnið eftir leiðbeiningum

Við skoðuðum fyrst hvert smáatriði sérstaklega - LED, tvíter, mótorar, skynjara osfrv. Það er mikill fjöldi tilbúinna dæma - sum rétt í þróunarumhverfinu, önnur er að finna á netinu. Þetta gleður mig svo sannarlega. Við tökum kóðann, tengjum hlutinn, tryggjum að hann virki, svo byrjum við að breyta honum til að henta okkar verkefni. Barnið gerir tengingarnar samkvæmt skýringarmyndinni og undir minni eftirliti. Þetta er gott. Þú þarft líka að geta unnið nákvæmlega samkvæmt leiðbeiningum.

Röð vinnu („frá sérstöku til almenns“)

Þetta er erfiður punktur. Þú þarft að læra að stórt verkefni ("búa til vélmenni") samanstendur af litlum verkefnum ("tengja skynjara," "tengja mótora"...), og þau, aftur á móti, samanstanda af enn smærri skrefum ("finndu a forrit," "tengja borð." ", "hala niður fastbúnaði"...). Með því að sinna meira og minna skiljanlegum verkefnum á neðra þrepi „lokum“ við verkefnum miðstigsins og úr þeim myndast heildarniðurstaðan. Ég útskýrði, en ég held að raunin muni ekki koma fljótlega. Einhvers staðar, líklega, á unglingsárum.

Uppsetning

Boranir, þræðir, skrúfur, rær, lóðun og rósínlykt - hvar værum við án þess? Barnið fékk grunnkunnáttuna "Að vinna með lóðajárn" - honum tókst að lóða nokkrar tengingar (ég hjálpaði aðeins, ég mun ekki fela það). Ekki gleyma öryggisskýringunni.

Tölvuvinna

Ég skrifaði forritið fyrir vélmennið, en mér tókst samt að ná hagstæðum árangri.

Fyrst: Enska. Þau voru nýbyrjuð í skólanum, svo við vorum í erfiðleikum með að átta okkur á því hvað pishalka, migalka, yarkost og aðrar umritunir væru. Við skildum þetta allavega. Ég notaði vísvitandi ekki innfædd ensk orð, þar sem við höfum ekki enn náð þessu stigi.

Í öðru lagi: skilvirk vinna. Við kenndum flýtihnappasamsetningar og hvernig á að framkvæma staðlaðar aðgerðir fljótt. Reglulega, þegar við vorum að skrifa forritið, skiptum við sonur minn um stað og ég sagði hvað þyrfti að gera (skipta um, leita osfrv.). Ég þurfti að endurtaka aftur og aftur: "tvísmelltu á velja", "haltu Shift", "haltu Ctrl" og svo framvegis. Námsferlið hér er ekki hratt, en ég held að færnin muni smám saman safnast „í undirberki“.

Falinn textiÞað má segja að ofangreint sé nánast augljóst. En satt að segja fékk ég tækifæri til að kenna tölvunarfræði í 9. bekk í einum skóla í haust. Það er hræðilegt. Nemendur kunna ekki svona grunnatriði eins og Ctrl + Z, Ctrl + C og Ctrl + V, velja texta á meðan þú heldur Shift inni eða tvísmellir á orð og svo framvegis. Þetta er þrátt fyrir að þeir hafi verið á þriðja ári í tölvunarfræði... Dragðu þína eigin ályktun.

Í þriðja lagi: snertiritun. Ég fól barninu athugasemdirnar í kóðanum að vélrita (leyfa honum að æfa sig). Við settum hendurnar strax rétt þannig að fingurnir mundu smám saman staðsetningu lyklanna.

Eins og þú sérð erum við enn rétt að byrja. Við munum halda áfram að skerpa á færni okkar og þekkingu; þau munu nýtast í lífinu.

Við the vegur, um framtíðina...

Frekari þróun

Vélmennið er búið til, keyrir, blikkar og pípir. Hvað nú? Innblásin af því sem við höfum áorkað ætlum við að betrumbæta það enn frekar. Það er hugmynd að búa til fjarstýringu - eins og tunglbíl. Það væri áhugavert, sitjandi við fjarstýringu, að stjórna hreyfingu vélmenni sem keyrir á allt öðrum stað. En það verður önnur saga...

Og í lokin, í raun, hetjur þessarar greinar (myndband með því að smella):

Reynsla af því að búa til fyrsta vélmennið á Arduino (vélmenni „veiðimaður“)

Svara með tilvísun!

Kóða hlekkur

Heimild: www.habr.com

Bæta við athugasemd