Geros dienos visiems! Šis straipsnis bus skirtas elektronikos, robotikos mėgėjams, taip pat žmonėms, kurie turi nestandartinį žvilgsnį į aplinkinius dalykus!
Taigi dabar bandysiu kuo aiškiau aprašyti kūrimo, surinkimo procesą robotas su e įdaras, būtent Arduino! Eime!
Ko mums reikia:
Trijų laidų kilpa (3 vienetai). Patartina pasiimti autentiškesnius.
Įprasti laidai
Potenciometrai
Rezistoriai (220 omų)
Mygtukas
Baterijų skyrius
Duonos lenta
Na, žinoma, aš pati arduinka
Taip pat išplėtimo plokštė prie jos - kažkas panašaus „MultiservoShield“kontroliuoti daugybę servo
Ir dar daugiau konstruktorius, kuris bus mūsų roboto pagrindas, todėl patartina pasirinkti „stiprų“
Iš įrankių, kurių jums reikės:
Atsuktuvų, raktų ir kt. Rinkinys
Taip pat lituoklis, lydmetalis ir srautas
Na, pradėkime!
1 žingsnis. Pagrindinio rėmo pagaminimas
Norėdami pradėti, surinkite „dvi raides H“. Tai atrodo taip:
Tada kai kurios konstrukcijos, ant kurių mūsų robotas stovės. Tai visai nebūtina, kaip paveikslėlyje - savo nuožiūra. Paaiškėjo taip:
Mes įdiegiame savo "N" ant atramos
Iš apačios priveržkite varžtus
Ant kito „H“ pritvirtiname pirmąjį servo aparatą, atsakingą už mūsų būsimo roboto galvų sukimą
Pasirodo, kažkas tokio:
Beveik rėmas yra paruoštas! Belieka šias dvi konstrukcijas pritvirtinti metalinėmis plokštėmis ir suteikti robotui aukštį!
2 žingsnis: sukurkite rėmelį būsimoms robotų ausims
Norėdami tai padaryti, turime surinkti dvi panašias konstrukcijas ir pritvirtinti ant jų servas, kaip parodyta paveikslėlyje:
Tada, naudodami varžtus ir veržles, prijunkite prie pagrindinio rėmo. Tai paaiškės taip:
Vaizdas iš viršaus:
Na, tam tikras roboto prototipas yra beveik paruoštas! Pirmyn ..
3 žingsnis. Priverčiame akis ir visą mūsų roboto galvą!
Tam panaudojau seną telefoną iš domofono. Asmeniškai ji man primena veidą! Žiūrėti daugiau ..
Padarome dvi skylutes ir pritvirtiname servo rokerį prie vamzdžio
Mes nedelsdami priklijuojame šviesos diodus šonuose ir litame prie jų laidus
Aš naudojau plonus:
4 žingsnis
Mes naudosime įprastus dangtelius iš mažų dėžučių
Taip pat pritvirtinkite šarnyrines kėdes servui
Dabar drąsiai pritvirtiname roboto kūno dalis serveriuose
Kaip šis:
Vaizdas iš viršaus:
Atgal:
Iš esmės jūs galite mėgautis robotu dabar, bet mes apsunkinsime užduotį. Mes pasuksime roboto akis ir ausis naudodamiesi potenciometrais ir savo arduinka.
5 žingsnis - elektronika
Sujungdami arduino ir daugiafunkcį skydą, įterpiame trijų laidų kilpą iš kiekvieno servo į kaiščius 9, 10, 11 (kairė ausis, dešinė ausis, Cent, jei įdėsite robotą priešais mus).
Tada ant duonos lentos montuojame potenciometrą, mygtuką, rezistorius .. Tai atrodys taip, žinoma, negražu, bet pagrindinis dalykas veikia)
Daugiau informacijos!
Kaip įdiegti mygtuką:
Ten, kur yra baltas laidas, raudona yra skaitmeninis mikrovaldiklio Nr. 6 įėjimas, o rezistorius eina į žemę (geltona viela)
Kaip įdiegti potenciometrą:
Raudona viela - galia, geltona - žemė, balta - analoginis mikrovaldiklio įėjimas Nr. 0 (tokiu pačiu būdu mes prijungiame kitą potenciometrą, tik analoginis valdiklio Nr. 1 įėjimas)
Taip pat lentoje montuojame šviesos diodų rezistorius:
srovė bus tiekiama iš 3 ir 5 arduino kaiščių, kuri ateis per geltonus ir juodus laidus ir per rezistorius eis į žemę (valdiklis GND)
Na, iš esmės viskas, mes darome viską su elektronika! Belieka tik atsisiųsti kitą eskizas ir žaisti su robotu !!
# įtraukti
# įtraukti
Multiservo myservo1;
„Multiservo myservo2“;
Multiservo myservo3;
int b, k1, p1, p2;
int A = 0;
int i = 0;
nepasirašytas ilgas m2 = 0;
nepasirašytas ilgas m1 = 0;
int r1 = 70;
int r2 = 110;
int r3 = 70;
int h1 = 0;
int h = 0;
negaliojanti sąranka ()
{
myservo1.attach (9); // kairė ausis
myservo2.attach (10); // dešinė ausis
myservo3.attach (11); // akys
pinMode (6, INPUT); // mygtukas
pinMode (3, OUTPUT); // akių žibintai PWM
pinMode (5, OUTPUT);
}
tuščia kilpa ()
{
tuo tarpu (A == 0) // roboto rankinio valdymo kilpa
{
b = „digitalRead“ (6);
if (! b) k1 = 1;
if (b == 1 && k1 == 1)
{
vėlavimas (10);
b = „digitalRead“ (6);
if (b == 1 && k1 == 1)
{
A yra 1;
k1 = 0;
}
}
p1 = int (analoginis skaitymas (A0) / 6);
p2 = int (analoginis skaitymas (A1) / 6);
myservo1.write (p1);
myservo2.write (p1);
myservo3.write (p2);
analoWrite (3, i);
analoWrite (5, i);
if (millis ()> = m1 + 70 &&1 h = = 0)
{
i = i + 4;
m1 = milis ();
jei (i> 250) h1 = 1;
}
if (millis ()> = m1 + 70 &&1 h = = 1)
{
i = i-4;
m1 = milis ();
if (i == 0) h1 = 0;
}
}
o (A == 1) // roboto autonominis darbo ciklas
{
„digitalWrite“ (13.0);
b = „digitalRead“ (6);
if (! b) k1 = 1;
if (b == 1 && k1 == 1)
{
vėlavimas (10);
b = „digitalRead“ (6);
if (b == 1 && k1 == 1)
{
A yra 0;
k1 = 0;
}
}
analoWrite (3, i);
analoWrite (5, i);
if (millis ()> = m1 + 70 &&1 h = = 0)
{
i = i + 4;
m1 = milis ();
jei (i> 250) h1 = 1;
}
if (millis ()> = m1 + 70 &&1 h = = 1)
{
i = i-4;
m1 = milis ();
if (i == 0) h1 = 0;
}
if (milis ()> = m2 + 15 && h == 0)
{
myservo1.write (r1);
myservo2.write (r2);
myservo3.write (r3);
r1 = r1 + 1;
r2 = r2-1;
r3 = r3 + 1;
if (r1 == 110) h = 1;
m2 = milis ();
}
if (milis ()> = m2 + 15 && h == 1)
{
myservo1.write (r1); // 110
myservo2.write (r2); // 70
myservo3.write (r3); // 110
r1 = r1-1;
r2 = r2 + 1;
r3 = r3-1;
if (r1 == 70) h = 0;
m2 = milis ();
}
}
}
Kodas yra gana didelis, bet patikėkite manimi, jis to vertas!
Trumpai tariant, ką daro ši programa:
Mes turime mygtuką, atsakingą už 2 sistemos būsenas: arba mes valdome robotą rankiniu būdu, arba jis atlieka judesius, jau užregistruotus iš anksto. Kai paspaudžiamas mygtukas, būsenos keičiasi ir mums, ir kodu keičiasi 2 ciklai, kuriuose įregistruojamos atitinkamos komandos. Mūsų roboto akys pamažu įsižiebia, tampa ryškesnės ir ryškesnės, o paskui išnyksta. Štai kodėl mes LED šviestuvus pavadinome kaiščiais, palaikančiais PWM - impulsų pločio moduliaciją.
Roboto nuotraukos:
Mažas vaizdo įrašymas, kaip ir kas sukasi galų gale:
Baigdamas noriu pasakyti, kad, žinoma, šis robotas gali būti primenamas ilgam, tačiau tai yra kiekvieno žmogaus skonis. Daryk tai! Išradimas! Vystykis! Sėkmės visiems!