Hyvää päivää kaikille! Tämä artikkeli on omistettu elektroniikan, robotiikan ystäville sekä ihmisille, joilla on epätyypillinen katsaus ympäröiviin asioihin!
Joten nyt yritän kuvata luomis-, kokoonpanoprosessi mahdollisimman selkeästi robotti kanssa elektroninen täyttö, nimittäin Arduinolla! Mennään!
Tarvitsemme:
Kolmilankainen silmukka (3 kpl). On suositeltavaa ottaa enemmän aitoja.
Tavalliset johdot
potentiometrit
vastukset (220 ohmia)
nappi
Paristolokero
prototyyppien aluksella
No, tietysti minäkin arduinka
Ja myös laajennuskortti siihen - jotain MultiservoShieldsuuren määrän servojen hallitsemiseksi
Ja mikä tahansa muu suunnittelija, josta tulee robotti, joten on suositeltavaa valita "vahva"
Tarvitsemiesi työkalujen joukosta:
Sarja ruuvimeisseliä, avaimia jne.
Sekä juotin, juote ja flux
No, aloitetaan!
Vaihe # 1. Pääkehyksen valmistus
Aloita keräämällä "kaksi kirjainta H". Se näyttää tältä:
Sitten rakennus, johon meidän robotti seisoo. Se ei ole ollenkaan välttämätöntä kuten kuvassa - oman harkintasi mukaan. Se osoittautui näin:
Asennamme "N" meidän tukeen
Kiristämme pultit alhaaltapäin
Toisessa "H": ssä korjaa ensimmäinen servo, joka vastaa tulevan robotin päiden kääntämisestä
Se osoittautuu jotain seuraavaa:
Melkein kehys on valmis! Jää vielä kiinnittää nämä kaksi rakennetta metallilevyillä ja antaa robotille korkeus!
Vaihe 2: Kehyksen luominen tuleville robottikorville
Tätä varten meidän on koottava kaksi samanlaista rakennetta ja kiinnitettävä servit niihin kuvan osoittamalla tavalla:
Yhdistä sitten ruuveilla ja muttereilla pääkehykseen. Se käy ilmi seuraavasta:
Yläkuva:
No, robotin tietty prototyyppi on melkein valmis! Mennä eteenpäin ..
Vaihe 3. Silmien ja robotin koko pään tekeminen!
Tätä varten käytin sisäpuhelimen vanhaa luuria. Henkilökohtaisesti hän muistuttaa minua kasvoista! Katso lisää ..
Teemme kaksi reikää ja kiinnitämme servoa varten tarkoitetun keinuputken putkeen
Liimaamme heti LEDit sivuille ja juottamme johdot niihin
Käytin ohuita:
Vaihe # 4 Korvien valmistaminen
Käytämme tavallisia korkkeja pienistä laatikoista
Kiinnitä myös serv-keinutuolit
Nyt kiinnitämme rohkeasti robotin rungon osat palvelimille
Kuten tämä:
Yläkuva:
takana:
Periaatteessa voit nauttia robotista nyt, mutta me monimutkaistamme tehtävää .. Käännämme robotin silmät ja korvat potentiometrien ja arduinka-laitteen avulla
Vaihe # 5 Elektroniikka
Yhdistämällä arduino monipalvelusuojaan, lisäämme kolmilankaisen silmukan jokaisesta servosta nastoihin 9, 10, 11 (vasen korva, oikea korva, Cent, jos laitat robotin meitä kohti)
Sitten leipälautaan asennamme potentiometrin, painikkeen, vastukset .. Se näyttää tältä, tietysti ruma, mutta pääasia toimii)
Lisätietoja!
Kuinka asentaa painike:
Missä valkoinen johto on virta, punainen on mikro-ohjaimen nro 6 digitaalitulo ja vastus menee maahan (keltainen johdin)
Kuinka asentaa potentiometri:
Punainen johto - teho, keltainen - maa, valkoinen - mikrokontrollerin nro 0 analogiatulo (liitämme toisen potentiometrin samalla tavalla, vain ohjaimen nro 1 analoginen tulo)
Asennamme taululle myös LED-vastuksia:
virta syötetään arduinon 3 ja 5 nastasta, ja se tulee keltaisen ja mustan johtimen läpi ja vastuksien kautta menee maahan (ohjain GND)
No, pohjimmiltaan kaikki, olemme valmiita elektroniikan kanssa! Jää vain ladata seuraava luonnos ja pelaa robotin kanssa !!
#include
#include
Multiservo myservo1;
Multiservo myservo2;
Multiservo myservo3;
int b, k1, pl, p2;
int A = 0;
int i = 0;
allekirjoittamaton pitkä m2 = 0;
allekirjoittamaton pitkä m1 = 0;
int r1 = 70;
int r2 = 110;
int r3 = 70;
int h1 = 0;
int h = 0;
tyhjä asennus ()
{
myservo1.attach (9); // vasen korva
myservo2.attach (10); // oikea korva
myservo3.attach (11); // silmät
pinMode (6, INPUT); // -painike
pinMode (3, OUTPUT); // silmävalot PWM
pinMode (5, OUTPUT);
}
tyhjä silmukka ()
{
kun taas (A == 0) // robotin manuaalinen ohjaussilmukka
{
b = digitalRead (6);
jos (! b) k1 = 1;
if (b == 1 && k1 == 1)
{
viive (10);
b = digitalRead (6);
if (b == 1 && k1 == 1)
{
A on 1;
k1 = 0;
}
}
p1 = int (analoginen luku (A0) / 6);
p2 = int (analoginen lukema (A1) / 6);
myservo1.write (p1);
myservo2.write (p1);
myservo3.write (p2);
analogWrite (3, i);
analogWrite (5, i);
if (millis ()> = m1 + 70 &&11 == 0)
{
i = i + 4;
ml = millis ();
jos (i> 250) h1 = 1;
}
if (millis ()> = m1 + 70 &&11 == 1)
{
i = i-4;
ml = millis ();
if (i == 0) h1 = 0;
}
}
kun taas (A == 1) // robotin autonominen työjakso
{
digitalWrite (13.0);
b = digitalRead (6);
jos (! b) k1 = 1;
if (b == 1 && k1 == 1)
{
viive (10);
b = digitalRead (6);
if (b == 1 && k1 == 1)
{
A on 0;
k1 = 0;
}
}
analogWrite (3, i);
analogWrite (5, i);
if (millis ()> = m1 + 70 &&11 == 0)
{
i = i + 4;
ml = millis ();
jos (i> 250) h1 = 1;
}
if (millis ()> = m1 + 70 &&11 == 1)
{
i = i-4;
ml = millis ();
if (i == 0) h1 = 0;
}
if (millis ()> = 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 = millis ();
}
if (millis ()> = 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 = millis ();
}
}
}
Koodi on melko iso, mutta usko minua, se on sen arvoista!
Lyhyesti, mitä tämä ohjelma tekee:
Meillä on painike, joka vastaa kahdesta järjestelmän tilasta: joko ohjaamme robottia manuaalisesti tai se suorittaa jo etukäteen rekisteröidyt liikkeet. Kun painiketta painetaan, tilat vaihtuvat meille ja koodissa vaihtuvat keskenään 2 jaksoa, joissa vastaavat komennot rekisteröidään. Robotin silmät valaisevat vähitellen, muuttuvat kirkkaammiksi ja kirkkaammiksi ja sitten häipyvät. siksi olemme kopioineet LEDit nastat, jotka tukevat PWM - pulssinleveyden modulaatiota.
Valokuvia robotista:
pieni videotallennus, miten ja mikä lopulta pyörii:
Lopuksi haluan sanoa, että tietysti tämä robotti voidaan tuoda mieleen pitkään, mutta tämä on jokaisen ihmisen maku. Tee se! Keksiä! Kasvaa! Onnea kaikille!