Turinys:

Piešimo rankena: 5 žingsniai
Piešimo rankena: 5 žingsniai

Video: Piešimo rankena: 5 žingsniai

Video: Piešimo rankena: 5 žingsniai
Video: Символ года 2020 за 5 минут своими руками Мышка из гофрированной бумаги из конфет Mouse 2020 2024, Lapkritis
Anonim
Piešimo ranka
Piešimo ranka

Sveiki! Mokyklos projektui aš padariau Bobo Rosso piešimo ranką, valdomą vairasvirte ir dviem servo. Žinoma, ranką galite papuošti taip, kaip norite, bet aš nusprendžiau iš jos padaryti Bobą Rossą. Šiame projekte aš naudoju matematikos biblioteką, taigi, kai įvedame x ir y pozicijas, matematikos biblioteka apskaičiuoja, kokiu kampu jie turi būti, kad pasiektų tą x, y padėtį. Šioje pamokoje paaiškinsiu, kaip tai padariau.

1 žingsnis: reikmenys

Pirmasis žingsnis yra įsitikinti, kad turite visus šiam projektui reikalingus reikmenis. Štai ką aš naudojau:

- Arduino uno

- 2x „Micro Servo“180 laipsnių kampu

- 1x vairasvirtė

- Bandomoji Lenta

- Laidai

- Moteriški - vyriški laidai

- Kaklaraiščiai

- 13 cm medinės lazdelės

- Kartonas

- momentiniai klijai

- Drabužių segtukas

2 žingsnis: statykite ranką

Rankos statymas
Rankos statymas

Dabar mes statysime ranką. Įsitikinkite, kad turite stiprias lazdeles, pageidautina tvirtas ir lengvas. Jums reikia vienos pagrindo lazdelės, kurią pritvirtinsite prie žemės. Tada ant jo, pačiame gale, uždėkite pirmąjį servo servetėlę ir sandariai pritvirtinkite perrišimu. Tada pritvirtinkite sraigtą ir pritvirtinkite. Dabar pritvirtinkite kitą lazdą prie sraigto. Tą patį turite padaryti su kita servo ir kita lazda. Galite pasirinkti uždėti antrą servo ant antrosios lazdos arba pritvirtinti prie apačios. Pritvirtinus jį prie apačios, ranka tampa stabilesnė. Dabar savo drabužių segtuką galite pritvirtinti prie trečiosios lazdos galo, galite uždėti ant lazdos viršaus arba šalia. Aš renkuosi drabužių segtuką, kad galėčiau lengvai pakeisti pieštuką rankoje, ir jis yra gana tvirtas. Pritvirtinkite viską spausdinimo mašinėlėmis ir įsitikinkite, kad viskas yra stabili, tai labai svarbu.

3 žingsnis: Prijunkite laidus

Laidų prijungimas
Laidų prijungimas
Laidų prijungimas
Laidų prijungimas

Trečias žingsnis yra prijungti servo sistemas. Šiuo metu mes naudojame „Arduino uno“ir gnybtų blokus. Servos turi tris spalvotus laidus: geltoną, raudoną ir rudą.

Norėdami prijungti gnybtų bloką prie arduino, vieną laidą įkišame į gnybtų bloko angą, o kitą - į GND. Mes darome tą patį su antruoju laidu, bet įdedame jį į vieną iš šalia esančių skylių ir įkišame galą į arduino 5V

Kaip pritvirtinti 1 servo laidus:

Geltona -> skaitmeninė 7

Raudona -> 5v/+ gnybtų bloke

Ruda -> GND/ - gnybtų bloke

Kaip pritvirtinti 2 servo laidus:

Geltona -> skaitmeninė 4

Raudona -> 5v/+ gnybtų bloke

Ruda -> GND/ - gnybtų bloke

Dabar mes sujungsime vairasvirtę. Štai kaip tai daroma:

GND -> GND arduino

+ 5V -> 5v/+ gnybtų bloke

URX -> A0

URY -> A1

4 žingsnis: kodavimas

Dabar baigėme pačios rankos gamybą, galime pradėti koduoti. Pirmiausia atidarykite arba įdiekite „math.h“ir „Servo.h“bibliotekas.

Turite nustatyti rankos ilgį. Išmatuokite dvi paskutines lazdeles ir įsitikinkite, kad jos yra vienodo ilgio. Dabar ranką galite apibrėžti tokiu kodu:

// radialen naar gradenconst float radTodegree = 180 /PI;

#define ARMLENGTH 130 // rankos ilgis mm

Tada jūs nustatote servo, vairasvirtę ir rankos judėjimo greitį. Iš pradžių laikykite mažą „moveSpeed“, kad galėtumėte jį pakelti nepažeisdami rankos.

Po to padariau tuštumos kilpą. Aš pakeičiau vertę į rankos ilgį, mano atveju, kiekviena dalis yra 130 mm. Tokiu būdu lengviau perskaityti servo gaunamą įvestį.

// leest x en y as van joystickvoid loop () {joyVa1 = analogRead (joyX); joyVa1 = žemėlapis (joyVa1, 0, 1023, -bounds, bounds); // vertaalt de value van 0-1023 naar -130 -130 if (abs (joyVa1)> 30) {

Aš pridėjau apribojimą, norėdamas įsitikinti, kad ranka neina toliau, nei noriu. Ribos yra tokio pat ilgio kaip ir ranka.

posX = suvaržyti (posX, -ribos, ribos);

Įsiuntimo poziciją išsiunčiau į nuoseklųjį monitorių. Tai padeda suprasti, kaip veikia ranka, ir padeda rasti problemų sprendimus, jei jos iškyla.

// print postitievoid PrintPosition () {if (Serial.available ()> 0) {posX = Serial.parseInt (); posY = Serial.parseInt ();

}

// Serial.print (posX); Serial.print (","); Serial.println (posY); }

Po to yra kodas, skirtas servo kampams apskaičiuoti. Šią kodo dalį sukūrė tomasdecamino. Atsisiųskite visą kodą, kad pamatytumėte viską. Dabar rankenėlę galite perkelti vairasvirte! Galite redaguoti norimus dalykus, pvz., „MoveSpeed“ir apriboti.

5 žingsnis: rankos dekoravimas

Rankos dekoravimas
Rankos dekoravimas
Rankos dekoravimas
Rankos dekoravimas
Rankos dekoravimas
Rankos dekoravimas
Rankos dekoravimas
Rankos dekoravimas

Dabar atėjo laikas suteikti rankai kūną! Iš esmės galite padaryti viską, ko norite. Aš nusprendžiau padaryti Bobą Rossą. Viena jo ranka laiko dažų paletę, o kita - piešimo ranka. Pirmiausia padariau prototipą su įprastu 80 gramų popieriumi, kad įsitikinčiau, ar viskas tiks. Kūną, kaklą, ranką ir galvą padariau iš storo kartono ir priklijavau momentiniais klijais. Tada aš erzinau vilną, kad ji atrodytų kaip garbanoti plaukai, ir priklijavau ją vietoje. Tada aš nukirpau ir prikaliau palaidinę, kad tiktų mano projektui, ir atkišau rankoves bei įdėjau į ją velcro, kad galėčiau lengvai apsirengti ir nusirengti kūną, jei reikia ką nors redaguoti. Pagaliau aš išpjoviau skylę į korpusą, kad laidai galėtų prasiskverbti, nestabilizuojant viso projekto.

Dabar galite įdėti pieštuką į savo projekto ranką, duoti jam popieriaus lapą ir piešti!

Rekomenduojamas: