Laba diena visiem! Šis raksts būs veltīts elektronikas, robotikas cienītājiem, kā arī cilvēkiem ar nestandarta ieskatu apkārtējās lietās!
Tāpēc tagad es centīšos pēc iespējas skaidrāk aprakstīt radīšanas, montāžas procesu robots ar e pildīšana, proti, uz Arduino! Iesim!
Kas mums nepieciešams:
Trīs vadu cilpa (3 gab.) Ieteicams ņemt autentiskākus.
Parastie vadi
Potenciometri
Rezistori (220 omi)
Poga
Bateriju nodalījums
Maizes dēlis
Nu, protams, es pats arduinka
Un arī tā paplašināšanas plate - kaut kas līdzīgs MultiservoShieldkontrolēt lielu skaitu servo
Un vēl vairāk konstruktors, kas būs mūsu robota pamatā, tāpēc ieteicams izvēlēties “spēcīgu”
No nepieciešamajiem rīkiem:
Skrūvgrieži, atslēgas utt.
Kā arī lodāmurs, lodēt un plūsma
Nu, sāksim!
1. darbība. Galvenā rāmja izgatavošana
Lai sāktu, savāciet "divus burtus H". Tas izskatās šādi:
Tad kāda konstrukcija, uz kuras mūsu robots stāvēs. Tas nemaz nav vajadzīgs kā attēlā - pēc jūsu ieskatiem .. Izrādījās šādi:
Mēs uzstādām savu "N" uz atbalsta
No apakšas mēs pievelciet skrūves
Ar otru "H" mēs salabojam pirmo servo, kas ir atbildīgs par mūsu nākamā robota galvu pagriešanu
Izrādās kaut kas līdzīgs šim:
Gandrīz rāmis ir gatavs! Atliek piestiprināt šīs divas struktūras ar metāla plāksnēm un dot robotam augstumu!
2. darbība: rāmja izgatavošana nākotnes robotu ausīm
Lai to izdarītu, mums jāsamontē divas līdzīgas struktūras un jāpiestiprina servo uz tām, kā parādīts attēlā:
Pēc tam, izmantojot bultskrūves un uzgriežņus, izveidojiet savienojumu ar galveno rāmi. Izrādīsies šādi:
Skats no augšas:
Nu, noteikts robota prototips ir gandrīz gatavs! Dodieties uz priekšu ..
3. solis. Padarot acis un visu mūsu robota galvu!
Šim nolūkam es izmantoju veco klausuli no domofona. Personīgi viņa man atgādina seju! Skatīt vairāk ..
Mēs izveidojam divus caurumus un piestiprinām servo šūpuļkrēslu pie caurules
Mēs nekavējoties pielīmējam gaismas diodes sānos un pie tām pielodējam vadus
Es izmantoju plānas:
4. solis
Mēs izmantosim parastos vāciņus no mazām kastītēm
Piestipriniet arī šūpuļkrēslus serv
Tagad mēs drosmīgi fiksējam robotu ķermeņa daļas uz serveriem
Piemēram:
Skats no augšas:
Atpakaļ:
Principā jūs varat izbaudīt robotu tagad, bet mēs sarežģīsim uzdevumu. Mēs pagriezīsim robota acis un ausis, izmantojot potenciometrus un mūsu arduinka
5. solis - elektronika
Apvienojot arduino ar daudzpakalpojumu vairogu, mēs ievietojam trīs vadu cilpu no katra servo uz tapām 9, 10, 11 (kreisā auss, labā auss, Cent, ja jūs novietojat robotu pret mums)
Tad uz maizes dēļa mēs uzstādām potenciometru, pogu, rezistorus .. Tas izskatīsies šādi, protams, neglīti, bet galvenais darbojas)
Sīkāka informācija!
Kā instalēt pogu:
Kur baltajam vadam ir jauda, sarkans ir mikrokontrollera Nr. 6 digitālā ieeja, un rezistors nonāk zemē (dzeltens vads)
Kā uzstādīt potenciometru:
Sarkans vads - strāvas stiprums, dzeltens - zeme, balts - mikrokontrollera Nr. 0 analogā ieeja (tādā pašā veidā pievienojam citu potenciometru, tikai kontroliera Nr. 1 analogā ieeja)
Uz tāfeles uzstādām arī LED rezistorus:
strāva tiks piegādāta no 3 un 5 arduino tapām, un tā izies caur dzelteniem un melniem vadiem un caur rezistoriem nonāks zemē (kontrolieris GND)
Nu, būtībā viss, mēs esam darīti ar elektroniku! Atliek tikai lejupielādēt nākamo skice un spēlē ar robotu !!
# iekļaut
# iekļaut
Multiservo myservo1;
Multiservo myservo2;
Multiservo myservo3;
int b, k1, p1, p2;
int A = 0;
int i = 0;
neparakstīts garš m2 = 0;
neparakstīts garš m1 = 0;
int r1 = 70;
int r2 = 110;
int r3 = 70;
int h1 = 0;
int h = 0;
iestatīšana nav spēkā ()
{
myservo1.attach (9); // kreisā auss
myservo2.attach (10); // labā auss
myservo3.attach (11); // acis
pinMode (6, INPUT); // poga
pinMode (3, OUTPUT); // acu lukturi PWM
pinMode (5, OUTPUT);
}
tukšs cilpa ()
{
savukārt (A == 0) // robota manuālā vadības cilpa
{
b = digitalRead (6);
ja (! b) k1 = 1;
ja (b == 1 && k1 == 1)
{
kavēšanās (10);
b = digitalRead (6);
ja (b == 1 && k1 == 1)
{
A ir 1;
k1 = 0;
}
}
p1 = int (analogRead (A0) / 6);
p2 = int (analogRead (A1) / 6);
myservo1.write (p1);
myservo2.write (p1);
myservo3.write (p2);
analogWrite (3, i);
analogWrite (5, i);
if (milisi ()> = m1 + 70 &&11 == 0)
{
i = i + 4;
m1 = milisi ();
ja (i> 250) h1 = 1;
}
if (milisi ()> = m1 + 70 &&11 == 1)
{
i = i-4;
m1 = milisi ();
ja (i == 0) h1 = 0;
}
}
kamēr (A == 1) // robota autonoms darba cikls
{
digitalWrite (13.0);
b = digitalRead (6);
ja (! b) k1 = 1;
ja (b == 1 && k1 == 1)
{
kavēšanās (10);
b = digitalRead (6);
ja (b == 1 && k1 == 1)
{
A ir 0;
k1 = 0;
}
}
analogWrite (3, i);
analogWrite (5, i);
if (milisi ()> = m1 + 70 &&11 == 0)
{
i = i + 4;
m1 = milisi ();
ja (i> 250) h1 = 1;
}
if (milisi ()> = m1 + 70 &&11 == 1)
{
i = i-4;
m1 = milisi ();
ja (i == 0) h1 = 0;
}
if (milisi ()> = m2 + 15 && h == 0)
{
myservo1.write (r1);
myservo2.write (r2);
myservo3.write (r3);
r1 = r1 + 1;
r2 = r2-1;
r3 = r3 + 1;
ja (r1 == 110) h = 1;
m2 = milisi ();
}
if (milisi ()> = 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;
ja (r1 == 70) h = 0;
m2 = milisi ();
}
}
}
Kods ir diezgan liels, bet ticiet man, ka tas ir tā vērts!
Īsumā, ko šī programma dara:
Mums ir poga, kas atbild par diviem sistēmas stāvokļiem: vai nu mēs robotu vadām manuāli, vai arī tas veic jau iepriekš reģistrētas kustības. Kad tiek nospiesta poga, stāvokļi mainās mums, un kodā savstarpēji mainās 2 cikli, kuros tiek reģistrētas atbilstošās komandas. Mūsu robota acis pakāpeniski izgaismojas, kļūst gaišākas un gaišākas, un pēc tam izgaist. tāpēc mēs esam pārdēvējuši gaismas diodes uz tapām, kas atbalsta PWM - impulsa platuma modulāciju.
Robota fotoattēli:
Maza videoieraksts, kā un kas beigās griežas:
Noslēgumā es gribu teikt, ka, protams, šis robots var ienākt prātā ilgu laiku, bet tā ir katra cilvēka gaume. Dariet to! Izgudro! Attīstieties! Veiksmi visiem!