Robotų kūrimas namuose. Kaip pasigaminti robotą namuose: žingsnis po žingsnio veiksmų planas

Kadangi jūs atėjote į šį puslapį, tai reiškia, kad jūs nebeabejingi robotikos ir robotikos temai. Roboto kūrimas savo rankomis yra labai įdomi veikla, kuri daug ko išmokys. Lavinsite elektronikos, mechanikos, programavimo, procesų valdymo įgūdžius. Man robotika yra įdomus hobis. Kaip ir visi kiti, aš taip pat svajojau sukurti kažką su ratais, varikliais, laidais ir daugybe elektroninių dalių.

Taigi vieną dieną man kilo idėja surinkti robotą savo rankomis namuose. Bet ne tik sukurkite paprastą įrenginį, kuris judėtų skirtingomis kryptimis, bet ir sukurkite daugiafunkcį robotą, kuris vykdytų komandas ryšių centras ir pravers buityje.

Idėja pasigaminti robotą savo rankomis „RoboTech“ kad galėtų surinkti bet kuris pradedantysis robotikas ar radijo mėgėjas.

Pagrindiniai reikalavimai naminiam robotui

  • Galimybė surinkti robotą namuose.
  • Robotas turėtų būti pastatytas ant komerciškai prieinamo ir lengvai programuojamo mikrovaldiklio.
  • Kaip važiuoklė turėtų būti naudojama paprasta ir prieinama platforma.
  • Robotas turi turėti reikiamą jutiklių ir mechanizmų rinkinį, kad prireikus išplėstų funkcionalumą.
  • Robotas turi laisvai judėti ir sugebėti reaguoti į kliūtis.
  • Galimybė valdyti robotą iš toli, telemetrijos naudojimas (stebėti roboto būseną, nustatyti įvairias komandas).
  • Galimybė transliuoti vaizdo įrašus iš borto kameros į bazinę stotį.

Atsižvelgiant į reikalavimus, robotui valdyti buvo nuspręsta naudoti du mikrokompiuterius ( MC-1 ir MC-2).

Borto kompiuteris MC-1

Pirmasis kompiuteris ( pagrindinis MC-1) - naudojamas kaip pagrindinis borto kompiuterio „protas“, kurio užduotys apima:

  • geros kokybės vaizdo transliacija į bazinę stotį;
  • komandų priėmimas iš valdymo centro (bazinės stoties);
  • dideliu greičiu siųsti į didelių duomenų valdymo centrą;
  • likusių roboto įrenginių koordinavimas naudojant antrą mikrokompiuterį (papildomas MC-2)

Norėdami atlikti paskirtas užduotis, buvo nuspręsta naudoti vienos plokštės kompiuterį Aviečių PI arba, kaip paskutinė išeitis, maršrutizatorius su programine įranga Openwrt.

Borto kompiuteris MC-2

Antras kompiuteris ( papildomas MC-2) naudojamas valdyti variklį, surinkti informaciją iš įvairių jutiklių ar jutiklių ir nusiųsti galutinius duomenis į pagrindinį kompiuterį MC-1.

Kaip valdiklis roboto važiuoklės mechanizmams ir jutikliams valdyti buvo nuspręsta naudoti paruoštą. Iš visų valdiklių, kuriuos apsvarstiau, pasirinkau labiausiai paplitusius ir prieinamus. Taip pat galite naudoti kompaktiškesnį Arduino Nano... Abu įrenginiai veikia su ATMega328p avr mikrovaldikliu.

Kanalo „Meistriškumo vadovas“ vedėjas aiškiai parodė, kaip padaryti vaikščiojantį mini robotą. Pirmiausia pasidarykime letenas. Jis laiko dvi ledų lazdeles kartu, išmatuoja 6 centimetrus ir iškart padeda dvi žymes ten, kur bus skylės. Mes pašaliname visus nereikalingus skalpeliu, o supjaustytą vietą apdorojame švitriniu popieriumi. Naudodami gręžtuvą, pagal žymes gręžiame dvi skyles.


Mes paimame dar dvi lazdeles, pritvirtiname juostele, išmatuojame 6 centimetrus ir nupjauname pjūklu.Nereikia apvalinti krašto. Ant šio ruošinio padarome skylę tik iš vienos pusės. Šiuos ruošinius klijuosime tiesiai lentynos viduryje suapvalintais kraštais. Atminkite, kad jie turi būti statmeni. Iš anksto paruoškite keturis medinius iešmus, po 3 centimetrus. Įdėkite į apatinę skylę. Naudodami super klijus, prie iešmo priklijuokite du 8 cm ruošinius. Naudokite liniuotę, kad išlaikytumėte 90 laipsnių kampą. Pažiūrėkite, kas turėtų nutikti. Antrą leteną darome taip pat. Kaip matote, viskas aišku ir visa tai padaryti namuose nėra sunku.

Mums taip pat reikia plastikinio žaislinio rutulio. Rutulio apačioje, naudodami metalo pjūklą, mes padarome du įdubimus mediniam iešmui. Viršutinę dalį susukame žymekliu, pažymime, kur bus pjūvio pradžia. Mes atsukame jį išilgai sriegio ir vėl pažymime. Atsargiai pjaukite pjūklą tarp ženklų. Mes pasirenkame viską. Kai atsukame ar pasukame rutulį, skylė visada bus atvira.

Mes paimame mažo greičio pavarų variklį. Prie jo pritvirtiname paruoštą kontaktą. Galite išsiversti naudodami įprastus laidus. Nupjaukite gabalėlį kojos nuo ledinuko. Vieną galą gerai įkaitiname ir išlyginame. Mes taip pat pašildome antrąjį galą ir uždedame ant pavarų dėžės veleno. Plastikinio rutulio apačioje išmatuokite ir priklijuokite ledų lazdelių gabalėlį. Tai bus variklio su reduktoriumi stovas. Leiskite superklijui šiek tiek sukietėti ir ant viršaus užtepkite daug karštų klijų. Mes uždedame variklį ir korpusus karštais klijais. Jis neturi liestis su pavarų dėže. Mes paliekame kamuolį su varikliu. Mes gaminame 2 cm ruošinius, kurių viduryje yra skylė. Kad nebūtų įbrėžimų, kraštą apdorojame švitriniu popieriumi. Mes paimame liniuotę ir padarome dvi žymes 1 cm atstumu.Išilgai ženklų gręžiame dvi skyles, supjaustytas skalpeliu puslankiu. Mes apdorojame kraštus.
Tęsinys vaizdo įraše nuo penktos minutės. Jame išsamiai parodyta, kaip namuose pasidaryti įdomų mini robotą.

Paprasčiausias robotas namuose

Kad būtų paprasčiausia, mums reikia variklio, dviejų vielos dalių, drabužių segtuko, telefono įkroviklio. Pirmiausia turite prijungti laidą prie variklio. Po to, kai klijai sukietėja, paimkite reples ir sulenkite kojas. Dabar galite juos atskirti, kad robotas stovėtų užtikrinčiau. Dabar lituojame įkroviklio kontaktus į pliusą ir minusą.
Žemiau yra vaizdo įrašas iš kanalo „Jokių jausmų“, kuriame parodyta, kaip sukurti šį žaislą robotą.

Dabar galite išbandyti šį paprasčiausią mini robotą. Kad jis judėtų, prie rotoriaus pritvirtinkite drabužių segtuką. Tai viskas! Robotas bėga.

Mini robotas iš komplekto namuose

„Alphadroid“ kanale jie pasakojo, kaip namuose pasidaryti mini robotą.
Norint surinkti vaikštynę, reikia daugybės komponentų. Buvo naudojama savaiminio surinkimo platforma „Droydik“. Be dalių, kurias galima įsigyti radijo rinkoje, komplekte yra papildomų būtinų elementų.

Žiūrėkite „Alpha Mods“ kanalo vaizdo įrašą.

Į komplektą įeina: plokštės su korpuso surinkimo dalimis, akumuliatoriaus skyrius, 4 komplektai servo pavarų, 30 veržlių, M 3 varžtai ir veržlės, 2 savisriegiai, ultragarsinis atstumo jutiklis, juostinis kabelis, įmagnetintas atsuktuvas, surinkimo instrukcijos.

Roboto korpusas yra medinis, pagamintas iš MDF. Rinkinyje yra 5 plokštės su lazeriu išgraviruotomis kūno dalimis. Robotas turi ultragarso jutiklį, kuris padeda jam naršyti erdvėje. Pirmuosiuose vadovo puslapiuose dėklo plokštės nupieštos 1: 1 masteliu. Būtina paimti tikras plokšteles ir jas sunumeruoti, kaip tai daroma paveikslėlyje.

Pirmasis žingsnis yra dalyvauti D1 ir D4, taip pat pora M3 * 10 varžtų. Atsargiai nuimkite dalis nuo plokštelės ir prisukite. Imame D5 ir servo. Mes pritvirtiname jį prie D5, naudodami savisriegius varžtus, kurie yra komplekte. Mes paimame pirmąjį ir antrąjį ruošinius, sujungiame su D3. Medinėse dalyse yra grioveliai, jie įkišti vienas į kitą. Mes paimame riešutus ir dedame į tam skirtas vietas. Tai buvo roboto kojos. Pereinama prie D2 ir servo rankovių. Mes pritvirtiname rankovę ant juostos. Plokštelė uždedama.

Mes atliekame kalibravimą: pasukame pavarą į šoną, išimame strypą, vėl įdedame ir vėl sukame, kol strypas atsirems. Dar kartą nuimkite lentas ir padėkite jas galutinėje padėtyje: kad D2 liestų D3 arba būtų kuo arčiau jo. Mes grąžiname pavarą į pradinę padėtį. Šiame etape kalibravimas baigtas. Paimkite atramą D10 ir padėkite ant D1 ir D2. D1 prispaudžiama fiksavimo veržle iki galo. Dabar įdiegtas servo lizdas, likę du yra ant atitinkamų lizdų. Yra fiksavimo juosta - D11.

Kalibravimas: uždėkite pakabas ir pasukite jas iki galo, nuimkite pečius ir nustatykite vertikalioje padėtyje, nustatykite 90 laipsnių kampą ir galiausiai nuimkite. Kojos yra paruoštos. Galvos surinkimui: D7, D14 ir 4 varžtai m3 * 12mm.

Dabar atsirado labai daug galimybių, leidžiančių pradėti kurti robotus, neturint tam tikrų super duper specialių žinių. Ir tai puiku! Nes tai paleidžia žinių laviną.

Ir nereikia pradėti nuo žinių. Žinios neturėtų būti lokomotyvas. Žinios yra bagažas, kuris keliauja šiuo traukiniu. O kas tada yra garvežys? O garvežys yra tik nežinojimas, kaip tai padaryti, kad kažkas nutiktų savaime. Roboto kūrimas yra tik tokios žinios.

Kad neįkliūtumėte į pavyzdžius, paimkime tik vieną pavyzdį. Pats nereikšmingiausias pavyzdys. Leiskite robotui judėti po kambarį, nesitrenkiant į sienas. Ką tu turi žinoti:

1. Kokia bus judesių mechanika. (Dauguma robotų turi mechaniką, tačiau pasitaiko ir be kūno esančių robotų, pavyzdžiui, atsargų robotų.) Jei neturite žinių šioje srityje, nedelsdami pradėkite juos įsigyti. Kokie mechanizmai skirti judėti, lygiu paviršiumi, nelygiu paviršiumi, vaikščioti, ant ratų ... Jei negalite pagaminti tokio mechanizmo, susiraskite paruoštą. Jei įmanoma, išardykite ir surinkite.

2. Kaip robotas sąveikaus su išoriniu pasauliu. Būtų malonu turėti žinių apie radijo elektroniką ir (arba) informacines technologijas, kad būtų galima suprasti, kaip skaityti garsinius, optinius, mechaninius signalus, kaip gauti informaciją iš tinklo (pastaroji ypač svarbi bekūniams robotams). Minimalios žinios jau tinka, trūkstamas reikia nedelsiant pradėti pildyti. Laimei, galite naudoti daugybę modulinių elementų ir jutiklių, sujungtų su paruoštais valdikliais, kurie šių jutiklių signalus paverčia tiesiog skaičiais. (jei domina, galite aptarti / keistis nuorodomis / adresais komentaruose, kur visa tai perkama)

3. (svarbiausia) Kaip mąstys robotas. Būtina nustatyti, kokia yra jo „mąstymo“ veikla. Pasirinktame pavyzdyje tai tik galimybė įjungti ir išjungti N elektros variklius tinkamu laiku, priklausomai nuo išmatuoto atstumo iki sienos (bent jau). Protinei veiklai robotui reikia programuojamo įrenginio su mikroprocesoriumi. Yra daug paruoštų platformų robotams kurti („Arduino“, „Matryoshka“, „Strawberry Pi“, „Iskra“, „Troyka“ ir kt. Dar kartą kviečiu pakomentuoti: pasidalykite nuorodomis, paklauskite)

Iš karto kyla klausimas: ar tai reiškia, kad turite žinoti programavimą? Griežtai tariant, taip. Tačiau tarp išvardytų platformų yra ir tokių, kuriose programavimas atliekamas vaizdinėje aplinkoje, nenaudojant jokios konkrečios programavimo kalbos. (Ty dėmesys! Norint pradėti programuoti, nebūtina žinoti. Bet, žinoma, būtina žinoti, kad galėtumėte tęsti)

Štai trys pagrindiniai kaulai, ant kurių reikia turėti pagrindinių žinių ir įgūdžių, kurie yra prieinami net vaikui, sausgysles ir ant kurių galite kaupti aukštesniųjų inžinerinių žinių mėsą:

  • konstruoti mechanizmus iš dizainerio - ilgainiui tai yra visas „mechanikos mokslų“ spektras: fizika (mechanika), mašinų ir mechanizmų dalys, tvirtumo medžiagos, hidraulika ir kt.
  • žinoti, kaip užtikrinama sąveika su išoriniu pasauliu (net vaikų dizaineriai šiandien turi jutiklių modulius) - ateityje tai bus programavimas, tinklo protokolai, fizika (elektra, optika, akustika, radaras ir kt.)
  • turi pradinį supratimą apie programavimą: kintamieji, algoritmai - programavimas perspektyvoje (skirtingos kalbos ir programavimo paradigmos), algoritmai ir duomenų struktūros, duomenų bazės. Programavimo kalbos pasirinkimas nėra esminis, pasirinkimas yra labai platus, nuo vaizdinės aplinkos vaikams, o konkretaus mikroprocesoriaus surinkėjas. Jūs pats galite pasirinkti, atsižvelgdami į turimas žinias

Na, ir galiausiai įkvėpimui pažiūrėkite (ir tai nėra reklama, aš neturiu nieko bendra su šiuo gamintoju (pasidalykite kitais pavyzdžiais)) kokios yra vaikų priemonės robotams kurti

Padarykite robotą labai paprasta Pažiūrėkime, ko reikia sukurti robotą namuose, kad suprastumėte robotikos pagrindus.

Be abejo, pažiūrėjęs filmus apie robotus, ne kartą norėjai sukurti savo bendražygį, bet nežinojai, nuo ko pradėti. Žinoma, jūs negalėsite sukurti dvipusio terminatoriaus, tačiau mes taip pat to nesiekiame. Kiekvienas, kuris žino, kaip tinkamai laikyti lituoklį rankose, gali surinkti paprastą robotą ir tam nereikia gilių žinių, nors jie netrukdys. Mėgėjų robotika nedaug kuo skiriasi nuo grandinių, tik daug įdomesnė, nes čia taip pat paveiktos tokios sritys kaip mechanika ir programavimas. Visi komponentai yra lengvai prieinami ir nėra tokie brangūs. Taigi pažanga nestovi vietoje ir mes ją naudosime.

Įvadas

Taigi. Kas yra robotas? Daugeliu atvejų tai yra automatinis įtaisas, reaguojantis į bet kokį veiksmą aplinkoje. Robotus gali valdyti žmonės arba atlikti iš anksto užprogramuotus veiksmus. Paprastai robotas aprūpintas įvairiais jutikliais (atstumu, sukimosi kampu, pagreičiu), vaizdo kameromis, manipuliatoriais. Elektroninę roboto dalį sudaro mikrovaldiklis (MC) - mikroschema, kurioje yra procesorius, laikrodžio generatorius, įvairūs išoriniai įrenginiai, atsitiktinė prieiga ir nuolatinė atmintis. Pasaulyje yra labai daug įvairių valdiklių, skirtų įvairioms taikymo sritims, ir jų pagrindu galima surinkti galingus robotus. Mėgėjiškiems pastatams plačiai naudojami AVR mikrovaldikliai. Šiandien jie yra labiausiai prieinami, o internete galite rasti daug pavyzdžių, pagrįstų šiais MK. Jei norite dirbti su mikrovaldikliais, turite mokėti programuoti surinkimo arba C programose ir turėti pagrindinių žinių apie skaitmeninę ir analoginę elektroniką. Savo projekte naudosime C. MK programavimas nedaug kuo skiriasi nuo programavimo kompiuteryje, kalbos sintaksė ta pati, dauguma funkcijų praktiškai nesiskiria, o naujos yra gana lengvai išmokstamos ir patogios naudoti.

Ko mums reikia

Pirmiausia mūsų robotas galės tiesiog apeiti kliūtis, tai yra pakartoti įprastą daugumos gyvūnų elgesį gamtoje. Viso, ko mums reikia norint sukurti tokį robotą, galima rasti radijo parduotuvėse. Mes nuspręsime, kaip judės mūsų robotas. Manau, kad sėkmingiausi yra bėgiai, naudojami tankuose, tai yra patogiausias sprendimas, nes vikšrai pasižymi didesniu kroso pajėgumu nei automobilio ratai ir yra patogesni valdyti (pasukti pakanka pasukti takelius skirtingomis kryptimis). Todėl jums reikės bet kokio žaislinio tanko su takeliais, kurie sukasi nepriklausomai vienas nuo kito, galite tai nusipirkti bet kurioje žaislų parduotuvėje už priimtiną kainą. Iš šio bako jums reikia tik platformos su vikšrais ir varikliais su pavarų dėžėmis, likusią dalį galite saugiai atsukti ir išmesti. Mums taip pat reikia mikrovaldiklio, mano pasirinkimas nukrito ant ATmega16 - jame yra pakankamai prievadų jutikliams ir periferiniams įrenginiams prijungti, ir apskritai tai yra gana patogu. Taip pat turite nusipirkti kai kuriuos radijo komponentus, lituoklį, multimetrą.

Lentos kūrimas su MK

Mūsų atveju mikrovaldiklis atliks smegenų funkcijas, tačiau pradėsime ne nuo jų, o nuo roboto smegenų maitinimo šaltinio. Tinkama mityba yra raktas į sveikatą, todėl pradėsime nuo to, kaip tinkamai pamaitinti savo robotą, nes dažniausiai tai yra klaida, kurią daro pradedantys robotai. O kad mūsų robotas normaliai veiktų, turite naudoti įtampos stabilizatorių. Man labiau patinka L7805 mikroschema - ji sukurta taip, kad išvestyje būtų stabili 5 V įtampa, kurios reikia mūsų mikrovaldikliui. Tačiau dėl to, kad įtampos kritimas šioje mikroschemoje yra apie 2,5 V, į jį turi būti tiekiama mažiausiai 7,5 V. Kartu su šiuo stabilizatoriumi elektrolitiniai kondensatoriai naudojami įtampos raibuliams išlyginti, o į grandinę turi būti įtrauktas diodas, apsaugantis nuo poliškumo pasikeitimo.

Dabar galime patekti į savo mikrovaldiklį. MK korpusas yra DIP (taip patogiau lituoti) ir turi keturiasdešimt kaiščių. Laive yra ADC, PWM, USART ir daug daugiau, kurių kol kas nenaudosime. Pažvelkime į kelis svarbius mazgus. RESET kaištį (9 -oji MK koja) rezistorius R1 traukia į maitinimo šaltinio „pliusą“ - tai reikia padaryti! Priešingu atveju jūsų MK gali būti netyčia atstatytas arba, paprasčiau tariant, klaidingas. Taip pat pageidautina, bet nebūtina priemonė yra RESET per keraminį kondensatorių C1 prijungti prie žemės. Diagramoje taip pat galite pamatyti 1000 uF elektrolitą, jis taupo nuo įtampos kritimo, kai varikliai veikia, o tai taip pat turės teigiamą poveikį mikrovaldiklio veikimui. Kvarco kristalas X1 ir kondensatoriai C2, C3 turi būti dedami kuo arčiau XTAL1 ir XTAL2 kaiščių.

Aš nekalbėsiu apie tai, kaip mirksėti MK, nes apie tai galite perskaityti internete. Programą rašysime C kalba; kaip programavimo aplinką pasirinkau „CodeVisionAVR“. Tai gana patogi aplinka ir naudinga pradedantiesiems, nes turi įmontuotą kodo kūrimo vedlį.

Variklio valdymas

Ne mažiau svarbus mūsų roboto komponentas yra variklio vairuotojas, todėl mums lengviau jį valdyti. Niekada ir jokiomis aplinkybėmis nejunkite variklių tiesiai prie MK! Paprastai galingų apkrovų negalima valdyti tiesiogiai iš mikrovaldiklio, kitaip jis sudegs. Naudokite pagrindinius tranzistorius. Mūsų atveju yra speciali mikroschema - L293D. Tokiuose paprastuose projektuose visada stenkitės naudoti šį mikroschemą su indeksu „D“, nes jame yra įmontuoti diodai apsaugai nuo perkrovos. Šią mikroschemą labai lengva valdyti ir ją galima lengvai įsigyti radijo parduotuvėse. Jis tiekiamas dviem DIP ir SOIC paketais. Mes naudosime DIP paketą, nes lengva montuoti plokštę. L293D turi atskirą maitinimo šaltinį varikliams ir logikai. Todėl pačią mikroschemą maitinsime iš stabilizatoriaus (VSS įvestis), o variklius - tiesiai iš baterijų (VS įvestis). L293D gali atlaikyti 600 mA apkrovą vienam kanalui ir turi du iš šių kanalų, tai yra, du varikliai gali būti prijungti prie vienos mikroschemos. Tačiau norėdami žaisti saugiai, mes sujungsime kanalus, o tada mums reikės vieno mikrono kiekvienam varikliui. Iš to išplaukia, kad L293D atlaikys 1,2 A. Norėdami tai pasiekti, turite sujungti mikros kojas, kaip parodyta diagramoje. Mikroschema veikia taip: kai loginis „0“ taikomas IN1 ir IN2, o loginis vienetas - IN3 ir IN4, variklis sukasi viena kryptimi, o jei signalai yra apversti, taikomas loginis nulis, tada variklis pradės suktis kita kryptimi. EN1 ir EN2 kaiščiai yra atsakingi už kiekvieno kanalo įjungimą. Mes juos prijungiame ir prijungiame prie maitinimo šaltinio „pliuso“ iš stabilizatoriaus. Kadangi veikimo metu mikroschema įkaista, o radiatorių montavimas yra problemiškas tokio tipo korpusams, šilumos išsklaidymą užtikrina GND kojelės - geriau jas lituoti ant plačios kontaktinės srities. Tai viskas, ką jums reikia žinoti apie variklio vairuotojus pirmą kartą.

Kliūčių jutikliai

Kad mūsų robotas galėtų naršyti ir neatsitrenktų į viską, į jį įdiegsime du infraraudonųjų spindulių jutiklius. Paprasčiausias jutiklis susideda iš IR diodo, kuris skleidžia infraraudonųjų spindulių spektrą, ir fototranzistoriaus, kuris priims signalą iš IR diodo. Principas yra toks: kai priešais jutiklį nėra kliūčių, IR spinduliai nepataiko į fototranzistorių ir jis neatsidaro. Jei priešais jutiklį yra kliūtis, tada spinduliai iš jo atsispindi ir nukrenta ant tranzistoriaus - jis atsidaro ir pradeda tekėti srovė. Tokių jutiklių trūkumas yra tas, kad jie gali skirtingai reaguoti į skirtingus paviršius ir nėra apsaugoti nuo trukdžių - jutiklis gali netyčia suveikti dėl pašalinių signalų iš kitų prietaisų. Signalo moduliavimas gali apsaugoti nuo trukdžių, tačiau kol kas mes nesivarginsime. Pradžiai to užtenka.


Roboto programinė įranga

Norėdami atgaivinti robotą, turite parašyti jam programinę -aparatinę įrangą, tai yra programą, kuri imtų rodmenis iš jutiklių ir valdytų variklius. Mano programa yra pati paprasčiausia, joje nėra sudėtingų struktūrų ir ji bus aiški visiems. Kitas dvi eilutes sudaro mūsų mikrovaldiklio antraštės failai ir uždelsimo formavimo komandos:

#įtraukti
#įtraukti

Šios eilutės yra sąlyginės, nes PORTC vertės priklauso nuo to, kaip prijungėte variklio tvarkyklę prie savo mikrovaldiklio:

PORTC.0 = 1; PORTC.1 = 0; PORTC.2 = 1; PORTC.3 = 0; Reikšmė 0xFF reiškia, kad išvestis bus registruojama. „1“, o 0x00 - žurnalas. "0". Turėdami tokią konstrukciją, mes patikriname, ar priešais robotą yra kliūtis ir kurioje pusėje jis yra: if (! (PINB & (1<

Jei šviesa iš IR diodo patenka į fototranzistorių, tada ant mikrovaldiklio kojelės nustatomas žurnalas. „0“ ir robotas pradeda judėti atgal, kad nuvažiuotų nuo kliūties, tada apsisuka, kad vėl nesusidurtų su kliūtimi ir vėl eitų į priekį. Kadangi turime du jutiklius, du kartus - dešinėje ir kairėje - patikriname, ar nėra kliūčių, todėl galime sužinoti, kuri kliūties pusė yra. Komanda „delay_ms (1000)“ rodo, kad praeis viena sekundė, kol bus įvykdyta kita komanda.

Išvada

Apžvelgiau daugumą aspektų, kurie padės sukurti pirmąjį robotą. Tačiau robotika tuo nesibaigia. Jei sukursite šį robotą, turėsite daug galimybių jį išplėsti. Galite patobulinti roboto algoritmą, pavyzdžiui, ką daryti, jei kliūtis yra ne iš tam tikros pusės, o tiesiai priešais robotą. Taip pat nepakenks įdiegti kodavimo įrenginį - paprastą prietaisą, kuris padės tiksliai nustatyti ir žinoti jūsų roboto vietą erdvėje. Aiškumo dėlei galima įdiegti spalvotą arba nespalvotą ekraną, kuriame būtų rodoma naudinga informacija - akumuliatoriaus įkrovos lygis, atstumas iki kliūties, įvairi derinimo informacija. Taip pat nepakenks ir jutiklių patobulinimas - vietoj įprastų fototransistorių įrengti TSOP (tai IR imtuvai, kurie suvokia tik tam tikro dažnio signalą). Be infraraudonųjų spindulių jutiklių, yra ir ultragarsinių, jie yra brangesni, taip pat nėra be trūkumų, tačiau pastaruoju metu jie populiarėja tarp robotikos inžinierių. Kad robotas galėtų reaguoti į garsą, būtų malonu įdiegti sustiprintus mikrofonus. Bet tikrai įdomu, manau, yra kameros įdiegimas ir programavimas, pagrįstas mašinos vizija. Yra specialių „OpenCV“ bibliotekų rinkinys, kuriame galite užprogramuoti veido atpažinimą, judėjimą spalvotais švyturėliais ir daug kitų įdomių dalykų. Viskas priklauso tik nuo jūsų vaizduotės ir įgūdžių.

Komponentų sąrašas:

    ATmega16 DIP-40 pakuotėje>

    L7805 TO-220 pakuotėje

    L293D DIP-16 pakuotėje х2 vnt.

    0,25 W rezistoriai su vardinėmis vertėmis: 10 kOhm x1 vnt., 220 omų x4 vnt.

    keraminiai kondensatoriai: 0,1 μF, 1 μF, 22 pF

    elektrolitiniai kondensatoriai: 1000 uF x 16 V, 220 uF x 16V x 2 vnt.

    diodas 1N4001 arba 1N4004

    kvarco rezonatorius 16 MHz dažniu

    IR diodai: tinka bet kurie du.

    fototransistoriai, taip pat bet kokie, tačiau reaguojantys tik į infraraudonųjų spindulių bangos ilgį

Firmware kodas:

/ *********************************************** *** Roboto MK programinė įranga: ATmega16 Laikrodžio dažnis: 16.000000 MHz Jei turite kitokį kvarco dažnį, turite tai nurodyti aplinkos nustatymuose: Projektas -> Konfigūruoti -> skirtukas „C kompiliatorius“ ***** ********************************************** / # įtraukti #įtraukti void main (void) (// Įvesties prievadų nustatymas // Per šiuos prievadus mes gauname signalus iš jutiklių DDRB = 0x00; // Įjunkite ištraukiamus rezistorius PORTB = 0xFF; // Nustatykite išvesties prievadus // Per juos uostai valdome DDRC variklius = 0xFF; // Pagrindinė programos kilpa. Čia mes skaitome jutiklių reikšmes // ir valdome variklius, kol (1) (// Einant į priekį PORTC.0 = 1; PORTC. 1 = 0; PORTC.2 = 1; PORTC.3 = 0; jei (! (PINB & (1<Apie mano robotą

Šiuo metu mano robotas beveik baigtas.


Jame yra belaidė kamera, atstumo jutiklis (tiek kamera, tiek šis jutiklis yra sumontuoti ant besisukančio bokšto), kliūčių jutiklis, kodavimo įrenginys, nuotolinio valdymo signalo imtuvas ir RS-232 sąsaja, skirta prijungti prie kompiuterio. Jis veikia dviem režimais: autonominis ir rankinis (gauna valdymo signalus iš nuotolinio valdymo pulto), fotoaparatą taip pat galima įjungti / išjungti nuotoliniu būdu arba pats robotas, kad būtų taupoma baterija. Aš rašau programinę -aparatinę įrangą, skirtą buto apsaugai (vaizdo perkėlimas į kompiuterį, judesio aptikimas, aplinkkelis).

Naujovių amžiuje robotai nebėra keistos mašinos. Bet jūs tikriausiai nustebsite: Ar galima robotą pasigaminti namuose?

Be abejo, gana sudėtinga sukurti robotą su sudėtinga struktūra, mikroelementais, grandinėmis ir programomis. Ir negalima išsiversti be fizikos, mechanikos, elektronikos ir programavimo žinių. Tačiau paprasčiausias robotas gali būti pagamintas rankomis.

Robotas- mašina, kuri turi automatiškai atlikti bet kokį veiksmą. Tačiau naminiam robotui yra lengvesnė užduotis - judėti.

Apsvarstykite 2 paprasčiausius roboto kūrimo variantus.

1. Padarykime nedidelę klaidą, kuri vibruos. Mums reikia:

  • variklis iš vaikiško automobilio,
  • ličio baterija CR2032 (planšetė);
  • akumuliatoriaus laikiklis,
  • savaržėlės,
  • izoliacinė juosta,
  • lituoklis,
  • Šviesos diodas.


Apvyniojame šviesos diodą elektros juosta, palikdami jo galus laisvus. Naudodami lituoklį, lituokite šviesos diodo galą ir akumuliatoriaus laikiklio galą. Lituokite kitą šviesos diodo laidą prie variklio kontaktų. Atlenkiame sąvaržėles, jos bus klaidos letenėlės. Lituosime kojas prie variklio. Kojos gali būti apvyniotos lipnia juostele, todėl robotas vabalas bus stabilesnis. Akumuliatoriaus laikiklio laidai turi būti prijungti prie variklio laidų. Kai tik laikiklis įdės ličio bateriją, vabalas pradės vibruoti ir judėti. Žiūrėkite vaizdo įrašą, kaip sukurti tokį paprastą robotą žemiau.

2. Padaryti menininką robotą. Mums reikia:

  • plastikas arba kartonas,
  • variklis iš vaikiško automobilio,
  • ličio baterija CR2032,
  • 3 flomasteriai,
  • elektrinė juosta, folija,
  • klijai.

Būtina iš plastiko ar kartono iškirpti būsimojo roboto formą - tūrinį trikampį. Centre išpjaunama skylė, į kurią įkišamas variklis. Iš 3 kraštų išpjaunamos 3 skylės, į kurias įkišami flomasteriai. Akumuliatorius pritvirtintas prie variklio vielos, naudojant klijus su folijos gabalėliais. Variklis įkišamas į skylę roboto kūne, pritvirtinama klijais arba juostele. Antrasis variklio laidas prijungiamas prie akumuliatoriaus. Ir robotas menininkas pradeda judėti!